FFmpeg学习笔记(二、集成x264)

一、x264源码包下载

  1. http://www.videolan.org/developers/x264.html 下载得到最新的x264源码包,解压后得到一个名为x264-snapshot-xxx的文件夹
  2. 为了后续脚本编译,将上面的x264-snapshot-xxx文件夹重命名为x264

二、编译x264

  1. https://github.com/kewlbear/x264-ios 下载x264的编译脚本文件,将下载得到的build-x264.sh放到上面的x264文件夹同一级目录下。(.sh文件和x264文件夹同一层级)
  2. 安装插件gas-preprocessor.pl,详见《FFmpeg学习笔记(一、环境搭建) 》的1.2安装插件
  3. cd至 .sh文件所在目录,在确保路径中无中文的情况下(有中文会在编译中提示找不到文件),运行脚本 ./build-x264.sh
  4. 脚本运行完毕后,会生成4个文件夹:x264-iOS,scratch-x264,thin-x264。查看x264-iOS中lib文件夹下的libx264.a。命令为: lipo -info libx264.a 。一切顺利的话会提示 Architectures in the fat file,同时支持armv7、 armv7s、i386、x86_64、arm64所有格式

三、编译带x264的FFmpeg包

  1. 拷贝x264-iOS文件夹至FFmpeg的编译脚本build-ffmpeg.sh所在目录下(.sh和x264-iOS文件夹同一层级),重命名x264-iOS为fat-x264
  2. 打开build-ffmpeg.sh文件(Xcode或TextWrangler等脚本编辑器,文本编辑也可直接打开),找到 X264=‘pwd’/fat-x264 这一行(搜索/fat-x264),将其前面的“#”去掉。(去掉注释,让此行代码生效)
  3. CD到build-ffmpeg.sh文件所在目录,执行 ./build-FFmpeg.sh。编译时间较长,如果成功,将得到FFmpeg-iOS文件夹,会有7个.a文件。(比单纯的FFmpeg编译多出一个.a文件)
  4. 如果编译过程中提示 /bin/sh: …: No such file or directory 等异常,可先CD到/usr/local/bin/目录下,直接调用build-ffmpeg.sh文件进行编译

四、工程配置

参照《FFmpeg学习笔记(一、环境搭建) 》的4.工程配置,只是多了一个.a文件,全部添加至工程即可。


作者 @代码书生
2016 年 06月 07日

尘满面,鬓如霜,Bug多多岂不白忙?重敏捷,保质量,Case重重亦可远航。^.^