ffmpeg初体验

ffmpeg是一个多平台多媒体处理工具,处理视频和音频的功能很是强大。目前在网上搜到的iOS上使用FFMPEG的资料都比较陈旧,而FFMPEG更新迭代比较快; 且网上的讲解不够详细,对于初次接触FFMPEG的新手(例如我)来讲确实不太好使用。为了防止忘记,这里对iOS下使用FFMPEG作一个总结。c++

 

1. FFMPEG层次结构的简单理解git

要使用FFMPEG,首先须要理解FFMPEG的代码结构。根据志哥的提示,ffmpeg的代码是包括两部分的,一部分是library,一部分是tool。api都是在library里面,若是直接调api来操做视频的话,就须要写c或者c++了。另外一部分是tool,使用的是命令行,则不须要本身去编码来实现视频操做的流程。实际上tool只不过把命令行转换为api的操做而已。github

 

2. 预热-在mac os下使用ffmpegapi

在mac os下使用ffmpeg比较简单,能够直接使用命令行来操做。首先安装ffmpeg,这里默认系统已经安装好brew,只须要在终端上输入:app

brew install ffmpeg工具

等待安装结束便可。ui

安装结束后,尝试如下命令:编码

ffmpeg -i input.mp4 output.avi命令行

若是能顺利转换,代表安装成功视频

 

3. 编译能在iOS下使用的FFMPEG library库

这一步是编译1所说的library,编译好以后能够调用FFMPEG的api。网上有一些方法,但都要本身手动编译,稍显复杂并且比较陈旧。按照app store的需求,编译出来的包还必须支持arm64。我在万能的github中找到一个可以"一键编译"的脚本,地址以下:

https://github.com/kewlbear/FFmpeg-iOS-build-script

并且写这个脚本的歪果仁挺好人,更新很及时,已经更新到了最新的2.5.3版本。下载下来,只有一个build-ffmpeg.sh脚本文件。在终端中转至脚本的目录,执行命令:

./build-ffmpeg.sh

脚本则会自动从github中把ffmpeg源码下到本地并开始编译。

相关文章
相关标签/搜索