zoukankan      html  css  js  c++  java
  • 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版也需要自己编译, 网上没有找到, 也希望有大神可以帮忙编译

  • 相关阅读:
    PTA习题解析——修理牧场(2 种解法)
    MySQL——维护和用户管理
    MySQL 5+ 特性
    MySQL——增、删、改
    数字时代云计算与边缘计算的区别
    5G对工业互联网应用的影响
    物联网新商业四大趋势
    变革之下,“大数据安全”成数字化转型“必答题”
    Serverless 的初心、现状和未来
    7 个建议让 Code Review 高效又高质
  • 原文地址:https://www.cnblogs.com/HuangWj/p/6423949.html
Copyright © 2011-2022 走看看