ffmpeg初体验
ffmpeg是一个多平台多媒体处理工具,处理视频和音频的功能非常强大。目前在网上搜到的iOS上使用FFMPEG的资料都比较陈旧,而FFMPEG更新迭代比较快; 且网上的讲解不够详细,对于初次接触FFMPEG的新手(例如我)来说确实不太好使用。为了防止忘记,这里对iOS下使用FFMPEG做一个总结。
1. FFMPEG层次结构的简单理解
要使用FFMPEG,首先需要理解FFMPEG的代码结构。根据志哥的提示,ffmpeg的代码是包括两部分的,一部分是library,一部分是tool。api都是在library里面,如果直接调api来操作视频的话,就需要写c或者c++了。另一部分是tool,使用的是命令行,则不需要自己去编码来实现视频操作的流程。实际上tool只不过把命令行转换为api的操作而已。
2. 预热-在mac os下使用ffmpeg
在mac os下使用ffmpeg比较简单,可以直接使用命令行来操作。首先安装ffmpeg,这里默认系统已经安装好brew,只需要在终端上输入:
brew install ffmpeg
等待安装结束即可。
安装结束后,尝试以下命令:
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源码下到本地并开始编译。
最新文章
- 1Z0-053 争议题目解析697
- Oracle 正则表达式函数-REGEXP_LIKE 使用例子
- ios 开发小技巧一
- CSS居中的方法整合--水平居中
- 从零开始定义自己的JavaScript框架(一)
- C#常用的关键字
- boostrap按钮
- 让你不再纠结GitHub:Git起步
- 淘宝API调用 申请 获取session key
- [AOP系列]Autofac+Castle实现AOP事务
- 高度-宽度关系,同一div、不同div高度与宽度关系控制函数
- 在windows环境下安装redis和phpredis的扩展
- 关于h5绘制canvas生成图片的注意点!
- Java【第八篇】面向对象之高级类特性
- 32位汇编第五讲,逆向实战干货,(OD)快速定位扫雷内存.
- Perl数组和hash相关函数
- 19.翻译系列:EF 6中定义自定义的约定【EF 6 Code-First约定】
- 写给java程序员的c++与java实现的一些重要细微差别-附完整版pdf学习手册
- Node.js使用MySQL的连接池
- layui框架使用总结
热门文章
- 字符在内存中最终的表示形式是什么?是某种字符编码还是码位(Code Point)?
- servlet中service() doGet() doPost() 方法
- decimal与 float的区别
- UML类图(三)-------实例
- sorket is closed
- Rainmeter如何打开控制面板的小程序
- 移动端rem设置,自动更改html<;font-size>;
- php实现pdf导出和打印功能。
- 图片上传-本地图片转base64+ie8支持+本地预览支持
- Shiro-Session