1. 命令行安装FFmpeg:git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg(或:下载ffmpeg-iphone-build)

  2. 安装命令行工具(Command Line Tools)

    打开终端,输入命令:xcode-select --install

    选择“安装”,然后同意安装协议。

  3. 下载gas-preprocessor:, 先将gas-preprocessor.pl拷贝到/usr/sbin/目录中。

    然后修改gas-preprocessor.pl文件的权限。注:需要有读,写和执行的权限。具体操作为,首先在命令行下进入/usr/bin目录,然后执行chmod命令,如下图所示:

    13224613-88afdd0778fa46bda8c5a6549a0febf

  4. 运行build-ffmpeg.sh文件:

    1、cd  /build-ffmpeg.sh 脚本的所在目录下

    2、sh build-ffmpeg.sh

    #!/bin/bash############################################################################  Choose your ffmpeg version and your currently-installed iOS SDK version:#VERSION="2.0.2"SDKVERSION="7.0"############################################################################### Don't change anything under this line!############################################################################# No need to change this since xcode build will only compile in the# necessary bits from the libraries we createARCHS="armv7 armv7s i386"DEVELOPER=`xcode-select -print-path`cd "`dirname \"$0\"`"REPOROOT=$(pwd)# Where we'll end up storing things in the endOUTPUTDIR="${REPOROOT}/dependencies"mkdir -p ${OUTPUTDIR}/includemkdir -p ${OUTPUTDIR}/libmkdir -p ${OUTPUTDIR}/binBUILDDIR="${REPOROOT}/build"mkdir -p $BUILDDIR# where we will keep our sources and build from.SRCDIR="${BUILDDIR}/src"mkdir -p $SRCDIR# where we will store intermediary buildsINTERDIR="${BUILDDIR}/built"mkdir -p $INTERDIR########################################cd $SRCDIR# Exit the script if an error happensset -eif [ ! -e "${SRCDIR}/ffmpeg-${VERSION}.tar.bz2" ]; then    echo "Downloading ffmpeg-${VERSION}.tar.bz2"    curl -LO http://ffmpeg.org/releases/ffmpeg-${VERSION}.tar.bz2else    echo "Using ffmpeg-${VERSION}.tar.bz2"fitar jxf ffmpeg-${VERSION}.tar.bz2 -C $SRCDIRcd "${SRCDIR}/ffmpeg-${VERSION}"set +e # don't bail out of bash script if ccache doesn't existCCACHE=`which ccache`if [ $? == "0" ]; then    echo "Building with ccache: $CCACHE"    CCACHE="${CCACHE} "else    echo "Building without ccache"    CCACHE=""fiset -e # back to regular "bail out on error" modefor ARCH in ${ARCHS}do    if [ "${ARCH}" == "i386" ];    then        PLATFORM="iPhoneSimulator"        EXTRA_CONFIG="--arch=i386 --disable-asm --enable-cross-compile --target-os=darwin --cpu=i386"        EXTRA_CFLAGS="-arch i386"        EXTRA_LDFLAGS="-I${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk/usr/lib -mfpu=neon"    else        PLATFORM="iPhoneOS"        EXTRA_CONFIG="--arch=arm --target-os=darwin --enable-cross-compile --cpu=cortex-a9 --disable-armv5te"        EXTRA_CFLAGS="-w -arch ${ARCH} -mfpu=neon"        EXTRA_LDFLAGS="-mfpu=neon"    fi    mkdir -p "${INTERDIR}/${ARCH}"    ./configure --prefix="${INTERDIR}/${ARCH}" --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-iconv --disable-bzlib --enable-avresample --sysroot="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk" --cc="${DEVELOPER}/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" --as='/usr/local/bin/gas-preprocessor.pl' --extra-cflags="${EXTRA_CFLAGS} -miphoneos-version-min=${SDKVERSION} -I${OUTPUTDIR}/include" --extra-ldflags="-arch ${ARCH} ${EXTRA_LDFLAGS} -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk -miphoneos-version-min=${SDKVERSION} -L${OUTPUTDIR}/lib" ${EXTRA_CONFIG} --enable-pic --extra-cxxflags="$CPPFLAGS -I${OUTPUTDIR}/include -isysroot ${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk"    make && make install && make clean                                                                                                                           donemkdir -p "${INTERDIR}/universal/lib"cd "${INTERDIR}/armv7/lib"for file in *.adocd ${INTERDIR}xcrun -sdk iphoneos lipo -output universal/lib/$file  -create -arch armv7 armv7/lib/$file -arch armv7s armv7s/lib/$file -arch i386 i386/lib/$fileecho "Universal $file created."donecp -r ${INTERDIR}/armv7/include ${INTERDIR}/universal/echo "Done."

  5. 把/build/built/universal目录下的 lib 和 include 文件导入工程,并在header search path 配置 include文件 路径。