ffmpeg 是个牛x的库,只要是做音视频开发,基本上就绕不过它的。 对于没有接触过音视频开发的人来说,或许会觉得无从下手 ,更何况ffmpeg api还挺多 。
万变不离其宗,在看似纷杂无章的api中,我们可以根据 ffmpeg的api固定使用套路结合音视频处理的流程进行梳理 。
1. ffmpeg 扫盲
从整体来说,音视频相关的操作有着固定的套路 , 例如 解协议,解封装,解码,等流程 。
参考: 《FFmpeg 视频播放的原理》
2. 编译篇
《FFmpeg 编译 for Mac os》
《FFmpeg 编译 for Android》
3. ffmpeg api讲解
ffmpeg处理音视频相关的api,看似杂乱,实则遵循一定的道理
比如初始化,编解码 .
参考: 《FFmpeg api 讲解》
4. 以下为单个功能的具体实现:
ffmpeg 4.2.1 , macOS
代码库: https://github.com/kongxs/ffmpeg_demos
1. 抽取音视频
project: ffmpeg
《FFmpeg 抽取 音视频》
2. 转换视频格式, 支持mp4 转mov , 转 flv
project: transMedia
3. 从视频中抽取图片
project: toPics