FFmpeg编译i386 OSX 脚本
话不多说, 直接上脚本
#!/bin/sh # directories PLATFORM="OSX" # FFmpeg脚本目录 SOURCE="ffmpeg-2.8.7" FAT="$PLATFORM/$SOURCE/FFmpeg-OSX" SCRATCH="$PLATFORM/$SOURCE/scratch" THIN=`pwd`/"$PLATFORM/$SOURCE/thin" # CONFIGURE_FLAGS="--enable-cross-compile \ # --enable-nonfree \ # --enable-libfaac \ # --enable-libmp3lame \ # --enable-libtheora \ # --enable-libvorbis \ # --enable-libxvid \ # --enable-libass \ # --enable-libspeex \ # --enable-libx264 \ # --enable-libvpx \ # --enable-opencl \ # --disable-ffmpeg \ # --enable-gpl \ # --disable-outdev=sdl \ # --disable-ffplay \ # --disable-debug \ # --disable-ffserver \ # --enable-static \ # --enable-shared " CONFIGURE_FLAGS="--enable-cross-compile \ --enable-nonfree \ --enable-opencl \ --disable-ffmpeg \ --enable-gpl \ --disable-outdev=sdl \ --disable-ffplay \ --disable-debug \ --disable-ffserver \ --enable-static \ --enable-shared " CWD=`pwd` # ARCHS="x86_64 i386" ARCHS="i386" # FAAC="/usr/local/Cellar/faac/1.28" # LAMP="/usr/local/Cellar/lame/3.99.5" # THEORA="/usr/local/Cellar/theora/1.1.1" # VORBIS="/usr/local/Cellar/libvorbis/1.3.5" # XVID="/usr/local/Cellar/libxvid/1.3.4" # ASS="/usr/local/Cellar/libass/0.13.2" # SPEEX="/usr/local/Cellar/speex/1.2rc1" # VPX="/usr/local/Cellar/libvpx/1.6.0" # X264="/usr/local/Cellar/x264/r2668" for ARCH in $ARCHS do echo "building $ARCH..." mkdir -p "$SCRATCH/$ARCH" cd "$SCRATCH/$ARCH" CFLAGS="-arch $ARCH" SDK="macosx" XCRUN_SDK=`echo $SDK | tr '[:upper:]' '[:lower:]'` CC="xcrun -sdk $XCRUN_SDK clang" CXXFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" if [ "$FAAC" ] then CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libfaac" CXXFLAGS="$CXXFLAGS -I$FAAC/include" LDFLAGS="$LDFLAGS -L$FAAC/lib" fi if [ "$LAMP" ] then CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libmp3lame" CXXFLAGS="$CXXFLAGS -I$LAMP/include" LDFLAGS="$LDFLAGS -L$LAMP/lib" fi if [ "$THEORA" ] then CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libtheora" CXXFLAGS="$CXXFLAGS -I$THEORA/include" LDFLAGS="$LDFLAGS -L$THEORA/lib" fi if [ "$VORBIS" ] then CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libvorbis" CXXFLAGS="$CXXFLAGS -I$VORBIS/include" LDFLAGS="$LDFLAGS -L$VORBIS/lib" fi if [ "$XVID" ] then CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libxvid" CXXFLAGS="$CXXFLAGS -I$XVID/include" LDFLAGS="$LDFLAGS -L$XVID/lib" fi if [ "$ASS" ] then CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libass" CXXFLAGS="$CXXFLAGS -I$ASS/include" LDFLAGS="$LDFLAGS -L$ASS/lib" fi if [ "$SPEEX" ] then CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libspeex" CXXFLAGS="$CXXFLAGS -I$SPEEX/include" LDFLAGS="$LDFLAGS -L$SPEEX/lib" fi if [ "$VPX" ] then CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libvpx" CXXFLAGS="$CXXFLAGS -I$VPX/include" LDFLAGS="$LDFLAGS -L$VPX/lib" fi if [ "$X264" ] then CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libx264" CXXFLAGS="$CXXFLAGS -I$X264/include" LDFLAGS="$LDFLAGS -L$X264/lib" fi TMPDIR=${TMPDIR/%\/} $CWD/$SOURCE/configure \ --target-os=darwin \ --arch=$ARCH \ $CONFIGURE_FLAGS \ --extra-cflags="$CXXFLAGS" \ --extra-ldflags="$LDFLAGS" \ --prefix="$THIN/$ARCH" \ || exit 1 # --cc="$CC" \ make -j3 install $EXPORT || exit 1 cd $CWD done echo Done
该脚本只要放在FFmpeg源码上一层目录即可运行.
测试过是可以跑起来的, 但是要添加其他的编译参数则要相应的库, 而其他库的i386版也需要自己编译, 网上没有找到, 也希望有大神可以帮忙编译