FFmpeg building for iOS 8.3

来源:互联网 发布:mac delete 不能删除 编辑:程序博客网 时间:2024/05/16 11:19


https://github.com/kewlbear/FFmpeg-iOS-build-script


#!/bin/sh   # directories SOURCE="ffmpeg-2.6.3" FAT="FFmpeg-iOS"   SCRATCH="scratch" # must be an absolute path THIN=`pwd`/"thin"   # absolute path to x264 library #X264=`pwd`/fat-x264   #FDK_AAC=`pwd`/fdk-aac/fdk-aac-ios   CONFIGURE_FLAGS="--enable-cross-compile --disable-debug --disable-programs\ --disable-doc --enable-pic"   if [ "$X264"then CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-gpl --enable-libx264" fi   if [ "$FDK_AAC"then CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libfdk-aac" fi   # avresample #CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-avresample"   ARCHS="arm64 armv7 x86_64 i386"   COMPILE="y" LIPO="y"   DEPLOYMENT_TARGET="6.0"   if [ "$*"then if [ "$*" ="lipo"then # skip compile COMPILE= else ARCHS="$*" if [ $# -eq 1 ] then # skip lipo LIPO= fi fi fi   if [ "$COMPILE"then if [ ! `which yasm`then echo 'Yasm not found' if [ ! `which brew`then echo 'Homebrew not found. Trying to install...' ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"|| exitfi echo 'Trying to install Yasm...' brew install yasm || exitfi if [ ! `which gas-preprocessor.pl`then echo 'gas-preprocessor.pl not found. Trying to install...' (curl -L https://github.com/libav/gas-preprocessor/raw/master/gas-preprocessor.pl \ -o /usr/local/bin/gas-preprocessor.pl \ && chmod +x /usr/local/bin/gas-preprocessor.pl) \ || exitfi   if [ ! -r $SOURCEthen echo 'FFmpeg source not found. Trying to download...' curl http://www.ffmpeg.org/releases/$SOURCE.tar.bz2| tar xj \ || exitfi   CWD=`pwd` for ARCH in $ARCHS do echo "building $ARCH..." mkdir -p "$SCRATCH/$ARCH" cd "$SCRATCH/$ARCH"   CFLAGS="-arch$ARCH" if [ "$ARCH" ="i386" -o"$ARCH" ="x86_64"then PLATFORM="iPhoneSimulator" CFLAGS="$CFLAGS -mios-simulator-version-min=$DEPLOYMENT_TARGET" else PLATFORM="iPhoneOS" CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET" if [ "$ARCH" ="arm64"then EXPORT="GASPP_FIX_XCODE5=1" fi fi   XCRUN_SDK=`echo$PLATFORM | tr '[:upper:]''[:lower:]'` CC="xcrun -sdk$XCRUN_SDK clang" CXXFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" if [ "$X264"then CFLAGS="$CFLAGS -I$X264/include" LDFLAGS="$LDFLAGS -L$X264/lib" fi if [ "$FDK_AAC"then CFLAGS="$CFLAGS -I$FDK_AAC/include" LDFLAGS="$LDFLAGS -L$FDK_AAC/lib" fi   TMPDIR=${TMPDIR/%\/}$CWD/$SOURCE/configure \ --target-os=darwin \ --arch=$ARCH \ --cc="$CC"$CONFIGURE_FLAGS \ --extra-cflags="$CFLAGS" \ --extra-cxxflags="$CXXFLAGS" \ --extra-ldflags="$LDFLAGS" \ --prefix="$THIN/$ARCH"|| exit 1   make -j3 install $EXPORT || exitcd $CWD done fi   if [ "$LIPO"then echo "building fat binaries..." mkdir -p $FAT/lib set - $ARCHS CWD=`pwd` cd $THIN/$1/lib for LIB in *.a do cd $CWD echo lipo -create `find $THIN -name $LIB` -output$FAT/lib/$LIB1>&2 lipo -create `find$THIN -name $LIB` -output $FAT/lib/$LIB || exitdone   cd $CWD cp -rf $THIN/$1/include$FAT fi   echo Done



0 0