实战FFmpeg--编译iOS平台使用的FFmpeg库

  编译环境:Mac OS X 10.10.2 ,Xcode 6.3  iOS SDK 8.3

技术分享        技术分享

  FFmpeg库的下载地址是 http://www.ffmpeg.org/releases/ 。FFmpeg是一个跨平台的用C语言写成的库,包含了编码,解码,色彩空间转换等的库。

第一步:

  下载编译FFmpeg所需要的脚本文件gas-preprocessor.pl,下载地址: https://github.com/mansr/gas-preprocessor 。在mac终端中使用cp命令将脚本文件gas-preprocessor.pl复制到 /usr/sbin/目录,并赋予可执行权限。执行命令为:

(1)sudo cp -f /Users/dev.temobi/Downloads/gas-preprocessor-master/gas-preprocessor.pl /usr/sbin/   (备注:/Users/dev.temobi/Downloads/gas-preprocessor-master/ 是脚本gas-preprocessor.pl所在的路径)

(2)chmod +x /usr/sbin/gas-preprocessor.pl

技术分享

  执行命令后,前往文件夹/usr/sbin/中查看是否复制成功。

技术分享

技术分享

  看到脚本文件gas-preprocessor.pl已经成功复制到到 /usr/sbin/目录中了。

 

第二步:

  根据实际项目需要修改build-ffmpeg.sh脚本中的FFmpeg和iOS SDK版本。运行build-ffmpeg.sh脚本

技术分享

  build-ffmpeg.sh 这玩意还不好找,链接基本失效,费了一点时间终于找到了,我把build-ffmpeg.sh存到了我的百度网盘,下载地址为:http://pan.baidu.com/s/1pJOb2L9

该脚本中默认采用的FFmpeg是2.0版本,使用iOS 7.0的SDK编译,c语言编译器采用clang,可以根据实际项目需要选中不同的FFmpeg和iOS SDK版本。(FFmpeg和iOS SDK的版本这里,需要根据实际情况修改build-ffmpeg.sh脚本)

我想使用FFmpeg最新版本,最新版本是ffmpeg-2.6.2,理论上就需要将VERSION改成VERSION="2.6.2",但是build-ffmpeg.sh 脚本不支持,那就只能跟随主流使用2.0的版本了

SDKVERSION 是XCode中iOS SDK的版本。我使用的Xcode 6.3,iOS SDK 8.3,就要将SDKVERSION改成了SDKVERSION="8.3"

ARCHS 是指定库要支持的编译器指令架构,这里根据实际工程所支持的指令集作修改。

 

#!/bin/bash

###########################################################################
#  Choose your ffmpeg version and your currently-installed iOS SDK version:
#
VERSION="2.0"
SDKVERSION="8.3"
ARCHS="armv7 armv7s i386"
#
#
###########################################################################
#
# Don‘t change anything under this line!
#
###########################################################################

DEVELOPER=`xcode-select -print-path`

  在Mac终端上通过命令进入到build-ffmpeg.sh脚本的目录下,使用命令sh build-ffmpeg.sh 运行该脚本。

技术分享

 技术分享

  编译完成后,结果为:

技术分享

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。