Android转音视频工程师学习路线图

Android的同学如果有意转音视频开发工程师,可以参考如下方面知识进行学习和切入:

1、学习C/C++/数据结构等知识;


2、尝试Android JNI环境的搭建与使用,多联系,理解原理,数据类型转换,java内存和本地内存的转换,多线程编程等等


3、如果不做编解码,不做codec比较专业的方向发展,至少知道目前各种音视频应用架构如何,其中涉及各个开源项目如ffmpeg,live555,vlc,gstreamer,webrtc等 ,当然这项项目中,也有所侧重:

  • 如果后面是涉及播放器或者直播、流媒体相关的开发,最重要的可以学习ffmpeg,参考ijkplayer的实现也是可以的;

  • 如果后面是重点做VOIP的开发,那就推荐重点学习webrtc的源码了;


4、学习各种流媒体通信协议rtmp,hls,dash,rtp,rtsp,rtcp, sip等,如果视频监控可能rtp,rtsp比较多,再就是各大视频网站都用到的那些技术如nginx,srs等服务器技术等;


5、熟悉几种常用的媒体封装格式比较好,像mp4,avi,mkv,音频至少知道aac,amr等格式。当然每种格式需要时查文档也可以;还有需要了解H264的一些概念,NAL,SPS PPS,以及profile等;


6、网络实时数据封装,如rtp/rtmp封装H264,如果做直播系统,要非常熟悉mpeg2ts的相关概念,其中ts数据格式是必须知道的;PMT PAT这些概念也要知道;


7、需要知道音视频同步原理,PTS ,DTS这些概念。 当然图形图像基础这些都需要了解,了解color space,推荐阅读《多媒体技术基础(第3版)(清华大学计算机系列教材) 》林福宗著;最后,如果能理解编解码压缩原理,知道DTC变换,这些编解码原理也是非常有好处的;

推荐知名博客 雷霄骅的博客,http://blog.csdn.net/leixiaohua1020?viewmode=list 


8、除了音视频多媒体本身的知识,其实更多的是和网络打交道,所以对网络编程需要有较为深度的学习和使用,对TCP/IP协议栈有个了解,会更加有助于整个技术栈的完备,推荐书籍是《UNIX网络编程卷1:套接字联网API》;


白俊遥博客

请先登录后发表评论
  • 最新评论
  • 总共0条评论