Android 音视频开发学习思路

Android 音视频开发这块目前的确没有比较系统的教程或者书籍,网上的博客文章也都是比较零散的。只能通过一点点的学习和积累把这块的知识串联积累起来。

初级入门篇:

初级入门篇主要是接触Android多媒体展示相关的API,通过单独的列举和使用这些API,对Android音视频处理有一个基本的轮廓,虽然知识点相对来说是比较散的,但是点成线,线称面,基本的基础掌握了,通过学习Android音视频核心的API将音视频的流程串联起来,这样对于音视频的了解和控制就不仅仅局限于最外层的API了,而是能够通过相对底层的方式来加深对Android 音视频开发的认知。 

中级进阶篇:

OpenGL ES 学习记录

学习 Android 平台 OpenGL ES API,了解 OpenGL 开发的基本流程,使用 OpenGL 绘制基本图形,并了解相关的API的简单使用

动手实践,积累实战经验:

个人学习成果展示:

OpenSL ES 学习记录

学习 Android 平台 OpenSL ES API,了解 OpenSL 开发的基本流程,使用OpenSL播放PCM数据,并了解相关API的简单使用

高级探究篇:

  • 深入学习音视频编码,如H.264,AAC,研究使用开源编解码库,如x.264,JM 等
  • 深入研究音视频相关的网络协议,如 rtmp,hls,以及封包格式,如:flv,mp4
  • 深入学习一些音视频领域的开源项目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等
  • 将 ffmpeg 库移植到 Android 平台,结合上面积累的经验,编写一款简易的音视频播放器
  • 将 x264 库移植到 Android 平台,结合上面积累的经验,完成视频数据 H264 软编功能
  • 将 librtmp 库移植到 Android 平台,结合上面积累的经验,完成 Android RTMP 推流功能 

音视频编解码技术

流媒体协议

多媒体文件格式

FFmpeg 学习记录

音视频开发开源库

GPUImageIjkPlayerlibrestreamingRTMPDumpSoundTouch

学习展望

完成上面的学习后,可以尝试做一款音视频相关的APP,这个APP尽可能多的用上你学习的知识,看看能做到什么程度。如果你能很好的做出来,并认真的把上面列举的所有的点都完成和整理了,相信你在Android音视频领域会越走越好。

成果展示

开源播放器: RHMediaPlayer

组件库:RHMediaPlayer-component

内核库:RHMediaPlayer-core

资料库:Thinking-in-AV

推荐的学习资料:

    1. 《雷霄骅的专栏》:http://blog.csdn.net/leixiaohua1020

    2. 《Android音频开发》:http://ticktick.blog.51cto.com/823160/d-15

    3. 《FFMPEG Tips》:http://ticktick.blog.51cto.com/823160/d-17

    4. 《Learn OpenGL 中文》:https://learnopengl-cn.github.io/

    5. 《Android Graphic 架构》:https://source.android.com/devices/graphics/

    6. 《Jhuster的专栏》:http://blog.51cto.com/ticktick

    7. 《ywl5320的专栏》:https://blog.csdn.net/ywl5320

posted @ 2017-08-30 13:02  灰色飘零  阅读(40054)  评论(6编辑  收藏  举报