1.iOS编解码介绍
1.1硬编解码和软编解码
iOS上编解码分为两种,硬编解码和软编解码。
类型 |
工具 |
硬件支持 |
后台 |
思路 |
硬编解码 |
VideoToolBox |
非CPU或者专用处理器 |
编码(iOS>=10.0),解码不支持 |
VideoVTToolBox |
| AVAssetWriter | 非CPU或者专用处理器 | 支持编码 | 需要将视频写入本地文件,然后通过实时监听文件内容的改变,读取文件并处理封包 |
复制代码
软编解码 | FFmpeg | CPU | 支持 | ------------- |
2.Mac上FFmpeg环境搭建
2.1mac上安装FFmpeg
如果已经用brew安装的方式是
brewinstallffmpeg
复制代码
建议先卸载掉->brew uninstall ffmpeg,因为上诉安装方法会丢失很多功能。详情可以看官方介绍 wiki:CompilationGuide/MacOSX 故而用以下命令重新安装
brewinstallffmpeg--with-fdk-aac--with-tools--with-ffplay--with-freetype--with-libass--with-libvorbis--with-opus--with-libvpx--with-x265
复制代码
安装完可以用命令行查看是否安装成功。
2.2常用命令
1.ffmpeg的常用库
Left Aligned |
Center Aligned |
ffmpeg |
一个命令行工具,用来对视频文件转换格式,也支持对电视卡即时编码 |
ffserver |
一个HTTP多媒体即时广播流服务器,支持时光平移 |
ffplay |
一个简单的播放器,基于SDL与FFmpeg库 |