Android 音视频从入门到提高-任务列表
- 在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View
- 在 Android 平台使用 AudioRecord 和 AudioTrack API 完成音频 PCM 数据的采集和播放,并实现读写音频 wav 文件
- 在 Android 平台使用 Camera API 进行视频的采集,分别使用 SurfaceView、TextureView 来预览 Camera 数据,取到 NV21 的数据回调
- 学习 Android 平台的 MediaExtractor 和 MediaMuxer API,知道如何解析和封装 mp4 文件
- 学习 Android 平台 OpenGL ES API,了解 OpenGL 开发的基本流程,使用 OpenGL 绘制一个三角形
- 学习 Android 平台 OpenGL ES API,学习纹理绘制,能够使用 OpenGL 显示一张图片
- 学习 MediaCodec API,完成音频 AAC 硬编、硬解
- 学习 MediaCodec API,完成视频 H.264 的硬编、硬解
- 串联整个音视频录制流程,完成音视频的采集、编码、封包成 mp4 输出
- 串联整个音视频播放流程,完成 mp4 的解析、音视频的解码、播放和渲染
- 进一步学习 OpenGL,了解如何实现视频的剪裁、旋转、水印、滤镜,并学习 OpenGL 高级特性,如:VBO,VAO,FBO 等等
- 学习 Android 图形图像架构,能够使用 GLSurfaceviw 绘制 Camera 预览画面
- 深入研究音视频相关的网络协议,如 rtmp,hls,以及封包格式,如:flv,mp4
- 深入学习一些音视频领域的开源项目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等
- 将 ffmpeg 库移植到 Android 平台,结合上面积累的经验,编写一款简易的音视频播放器
- 将 x264 库移植到 Android 平台,结合上面积累的经验,完成视频数据 H264 软编功能
- 将 librtmp 库移植到 Android 平台,结合上面积累的经验,完成 Android RTMP 推流功能
- 需要掌握的技术 Linux/Vim/Makefile/GCC/GDB tcpdump/wireshark
- C/C++/Java/Javascript/Python/Go/Rust
上面积累的经验,做一款短视频 APP,完成如:断点拍摄、添加水印、本地转码、视频剪辑、视频拼接、MV 特效等功能
相信我,如果你认真把所有任务都完成了,你一定会成为音视频人才招聘市场的香饽饽~~
参考资料
- 《雷霄骅的专栏》:雷霄骅(leixiaohua1020)的专栏_雷霄骅_CSDN博客
- 《Android音频开发》:Jhuster的博客_音视频/多媒体开发_51CTO博客
- 《FFMPEG Tips》:Jhuster的博客_FFMPEG Tips_51CTO博客
- 《Learn OpenGL 中文》:LearnOpenGL-CN
- 《灰色飘零》 Android 音视频开发学习思路 - 灰色飘零 - 博客园
- 《Luki Yang 图形图像/音视频/Android Camera》 我的音视频技术路线 - 知乎
- Lesli lesliefang - 简书
- 志的CSDN 志的csdn博客_Mr_Zzr_CSDN博客
- 开发一款优秀的短视频SDK 如何设计一款优秀的短视频 SDK_Jhuster的专栏的技术博客_51CTO博客
- 梅芳姑 那些我磕过的音视频项目总结 - 简书
- 马北剑西 https://blog.csdn.net/mabeijianxi/category_6833978.html
- 音视频工程师 C++(CPP)在Android开发中的应用 · 音视频开发工程师 · 看云
- LearnOpenGL https://learnopengl-cn.github.io/intro/
- https://blog.csdn.net/u011686167/category_6508740.html?orderby=ViewCount
- 徐福记456 https://blog.csdn.net/u011686167
- OpenGL总结比较好的教程 https://www.cnblogs.com/MakeView660/p/10411311.html
- http://www.realrace.cn/
开源项目
- 开源音视频编辑软件 不用花钱买PR,7款开源免费创意音视频软件不能错过-简易百科
- AcFun直播互动App开发 视频 android-Android互动直播APP开发 - AcFun弹幕视频网 - 认真你就输啦 (?ω?)ノ- ( ゜- ゜)つロ
- AcFun直播互动App开发 视频配套图文教程 2018 年 3月 随笔档案 - OzTaking - 博客园
致谢
资料来源:
Android 音视频开发入门指南_Jhuster的专栏的技术博客_51CTO博客_android开发入门