FFmpeg编译i386 OSX 脚本
阅读原文时间:2023年07月15日阅读:1

话不多说, 直接上脚本

#!/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  
    # --cc="$CC" \\

    make -j3 install $EXPORT || exit  
    cd $CWD  

done
echo Done

该脚本只要放在FFmpeg源码上一层目录即可运行.

测试过是可以跑起来的, 但是要添加其他的编译参数则要相应的库, 而其他库的i386版也需要自己编译, 网上没有找到, 也希望有大神可以帮忙编译

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章