武汉ios培训
达内武汉中心

15827352908

热门课程

iOS: FFmpeg编译和使用问题总结

  • 时间:2017-12-30 14:49
  • 发布:达内
  • 来源:互联网

    一、背景
    网上有很多FFmpeg编译配置的资料,大部分都是关于FFmpeg最新的版本(2.0)的,我一开始也想着编写一个2.0版本的,可以放到接手的那个项目中,发现各种问题(无法快进,没有声音),再看一下代码一堆警告,原因很简单,使用的FFMpeg库太新了,很多接口变动了。由于手上没有多少信息,不知道那个项目使用的是哪个版本的FFmpeg库,一点点找,终于知道原来使用的是0.7.x的。找到目标版本的FFmpeg本以为万事大吉了,后来才发现原来这才是坑的开始,有历经一系列磨难,最后终于把编译问题解决了。
    二、FFmpeg最新版本的库编译
    FFmpeg最新版本的应该是2.1的,历史版本详见http://www.ffmpeg.org/releases/,在这个网站上我们可以下到所有历史版本的库。FFmpeg是一个跨平台的用C语言写成的库,包含了编码,解码,色彩空间转换等库。编译需要用到命令行,对于我们这些没搞过后台或者linux开发的脚本知识欠缺的人来说的确算是一个挑战。庆幸的是现在网络这么方便,不会做问Google,很快就找到了一个在xcode5下一键编译FFmpeg库的脚本。这个脚本是个老外写的,真心强大,从下载到编译到构建最后的Fat库一气呵成。

    脚本地址: https://gist.github.com/m1entus/6983547

武汉iOS培训

    运行这个脚本需要依赖一个库Perl写的脚本,搜了一下网上目前编译FFmpeg库的帖子基本都会提到这个脚本,脚本地址如下: https://github.com/mansr/gas-preprocessor.
    下载完这两个脚本后,编译FFmpeg库的准备工作就基本完成了,接着依次执行下面几步:
    1、拷贝gas-preprocessor.pl文件到 /usr/bin目录下。
    2、修改gas-preprocessor.pl文件的权限
    注:需要有读,写和执行的权限。具体操作为,首先在命令行下进入/usr/bin目录,然后执行chmod命令。
    3、切换build-ffmpeg.sh脚本的目录下,使用命令sh build-ffmpeg.sh 运行该脚本即可。
    注:  1) build-ffmpeg.sh脚本的父目录的名字不能包括空格,否则可能导致构建失败。
    2) build-ffmpeg.sh脚本中可以配置编译的FFMpeg版本,以及使用iOS SDK的版本。
    该脚本中默认采用的FFmpeg是2.0版本,使用iOS 7.0的SDK编译,c语言编译器采用clang,应用中可以根据实际项目需要选中不同的FFmpeg和iOS SDK版本。

    根据上面的步骤看来,编译工作也没有什么复杂的,为什么我会说踩了很多坑呢?这个问题我会一点点儿解释。

更多武汉iOS培训相关资讯,请扫描下方二维码

武汉iOS培训

上一篇:iOS开发UI篇—CALayer简介
下一篇:半年IOS代码生活

通过Facebook的Infer来改善你的Java开发工作流程

Java I/O 操作

Java新手问题集锦

在MacBook Pro上设置Java开发环境

选择城市和中心
贵州省

广西省

海南省