编译FFMpeg

以下为这个视频【需要翻墙】所讲解的编译ffmpeg过程,有评论说

please we need to know how to create android.mk file. i tried this and spend 8 hours downloading installing ubuntu,installing updating sudo git, installing python,making toolchains, and at last making a ffmpeg build for all arms ffmpeg 4.0, but now it is useless without android.mk. your tutorial is the best bytheway.

  1. 环境

    python版本 -2.7
    
    android ndk 下载最新稳定
    
    ffmpeg 下载最新稳定
    
    编写build files ,使用独立编译工具链
    复制代码
  2. ndk自带的编译链工具

    android ndk download 【google搜索】

  1. 生成不同架构的编译链

    关于工具链的理解可以查看这里

  1. 编写build files

  1. 开始编译

  1. 最后粘贴一下本人使用的编译工具链

    if [ "$1" == "clean" ]; then
    find . -name '*.o' -delete
    make clean
    exit 0
    fi
    
    if [ "$1" != "" ]; then
    ARCHNAME=$1
    else
    ARCHNAME=arm
    fi
    
    
    NDK=/home/bihongpi/android/android-ndk-r10b
    
    if [ "$ARCHNAME" = "arm" ]; then
    	TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
    	TOOLPREFIX=arm-linux-androideabi-
    	FF_EX_C_FLAGS="-std=c99 -O3 -Wall -fpic -pipe -DANDROID -DNDEBUG"
    elif [ "$ARCHNAME" = "x86" ]; then
    	TOOLCHAIN=$NDK/toolchains/x86-4.8/prebuilt/linux-x86_64
    	TOOLPREFIX=i686-linux-android-
    	FF_CFG_EXARGS="$FF_CFG_EXARGS --disable-asm"
    	FF_CFG_EXARGS="$FF_CFG_EXARGS --cpu=i686"
    	FF_EX_C_FLAGS="-std=c99 -O3 -Wall -fpic -pipe -DANDROID -DNDEBUG -march=atom -msse3 -ffast-math -mfpmath=sse"
    else
    	echo "unknow arch: "$ARCHNAME
    	exit 1
    fi
    
    SYSROOT=$NDK/platforms/android-19/arch-$ARCHNAME/
    PREFIX=$(pwd)/out/android
    
    export PKG_CONFIG_PATH=$(pwd)/pkgconfigs_$ARCHNAME
    
    
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-static"
    FF_CFG_ARGS="$FF_CFG_ARGS --disable-shared"
    #FF_CFG_ARGS="$FF_CFG_ARGS --disable-programs"
    #FF_CFG_ARGS="$FF_CFG_ARGS --disable-doc"
    #FF_CFG_ARGS="$FF_CFG_ARGS --disable-encoders"
    #FF_CFG_ARGS="$FF_CFG_ARGS --disable-decoders"
    #FF_CFG_ARGS="$FF_CFG_ARGS --disable-parsers"
    #FF_CFG_ARGS="$FF_CFG_ARGS --disable-filters"
    #FF_CFG_ARGS="$FF_CFG_ARGS --disable-muxers"
    #FF_CFG_ARGS="$FF_CFG_ARGS --disable-demuxers"
    #FF_CFG_ARGS="$FF_CFG_ARGS --disable-bsfs"
    #FF_CFG_ARGS="$FF_CFG_ARGS --disable-devices"
    #FF_CFG_ARGS="$FF_CFG_ARGS --disable-protocols"
    
    
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-protocol=http"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-protocol=rtp"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-protocol=srtp"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-protocol=rtmp"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-protocol=hls"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-protocol=file"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-protocol=ftp"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-protocol=ffrtmphttp"
    #FF_CFG_ARGS="$FF_CFG_ARGS --enable-openssl"
    
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=aac"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=ac3"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=wav"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=ape"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=asf"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=mp3"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=flac"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=hls"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=rtsp"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=aiff"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=au"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=ogg"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=xwma"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=dts"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=dtshd"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_u16be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_u16le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_u24be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_u24le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_u32be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_u32le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_u8"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_alaw"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_f32be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_f32le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_f64be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_f64le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_mulaw"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_s16be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_s16le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_s24be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_s24le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_s32be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_s32le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-demuxer=pcm_s8"
    
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_u16be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_u16le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_u24be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_u24le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_u32be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_u32le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_u8"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_alaw"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_f32be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_f32le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_f64be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_f64le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_mulaw"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_s16be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_s16le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_s24be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_s24le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_s32be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_s32le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-muxer=pcm_s8"
    
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-parser=aac"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-parser=ac3"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-parser=aac_latm"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-parser=opus"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-parser=flac"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-parser=mpegaudio"
    
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=aac"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=ac3"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=ac3_fixed"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=aac_fixed"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=aac_latm"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=ape"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=amrnb"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=amrwb"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=mp1float"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=mp2"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=mp3"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=flac"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=libopus"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=opus"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=zlib"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=wavpack"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=wmalossless"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=wmapro"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=wmavoice"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=wmav1"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=wmav2"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=alac"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=ape"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=alac"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_xa"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_yamaha"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_4xm"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_alaw"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_adx"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_bluray"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_afc"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_dvd"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_aica"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ct"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_dtk"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ea"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ea_maxis_xa"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_lxf"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ea_r1"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_mulaw"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ea_r2"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ea_r3"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s16be_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ea_xas"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_g722"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s16le_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_g726"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=roq_dpcm"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_g726le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s24daud"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_amv"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_apc"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_dat4"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_dk3"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_dk4"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=xan_dpcm"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_ea_eacs"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_ea_sead"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_iss"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_oki"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_qt"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=sdx2_dpcm"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_rad"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_smjpeg"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_wav"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=interplay_dpcm"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ima_ws"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_ms"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_mtaf"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_psx"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_zork"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_sbpro_2"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_sbpro_3"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_sbpro_4"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_swf"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=sol_dpcm"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_thp"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_thp_le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=adpcm_vima"
    
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_f32be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_f32le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_f64be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_f64le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s16be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s16be_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s16le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s16le_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s24be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s24be_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s24le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s24le_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s32be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s32be_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s32le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s32le_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s64be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s64be_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s64le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s64le_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s8"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_s8_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_u16be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_u16le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_u24be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_u24le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_u32be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_u32le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-decoder=pcm_u8"
    
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_f32be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_f32le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_f64be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_f64le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s16be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s16be_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s16le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s16le_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s24be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s24be_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s24le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s24le_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s32be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s32be_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s32le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s32le_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s64be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s64be_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s64le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s64le_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s8"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_s8_planar"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_u16be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_u16le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_u24be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_u24le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_u32be"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_u32le"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-encoder=pcm_u8"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-filter=aresample"
    
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-libopus"
    
    FF_CFG_ARGS="$FF_CFG_ARGS --prefix=$PREFIX"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-cross-compile"
    FF_CFG_ARGS="$FF_CFG_ARGS --sysroot=$SYSROOT"
    FF_CFG_ARGS="$FF_CFG_ARGS --pkg-config=/usr/bin/pkg-config"
    FF_CFG_ARGS="$FF_CFG_ARGS --cross-prefix=$TOOLCHAIN/bin/$TOOLPREFIX"
    FF_CFG_ARGS="$FF_CFG_ARGS --target-os=linux"
    #FF_CFG_ARGS="$FF_CFG_ARGS --extra-cflags='-std=c99 -O3 -Wall -fpic -pipe   -DANDROID -DNDEBUG  -march=atom -msse3 -ffast-math -mfpmath=sse'"
    #FF_CFG_ARGS="$FF_CFG_ARGS --extra-ldflags="
    #FF_CFG_ARGS="$FF_CFG_ARGS --extra-libs="
    FF_CFG_ARGS="$FF_CFG_ARGS --disable-debug"
    FF_CFG_ARGS="$FF_CFG_ARGS --arch=$ARCHNAME"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-ffmpeg"
    #FF_CFG_ARGS="$FF_CFG_ARGS --enable-ffplay"
    FF_CFG_ARGS="$FF_CFG_ARGS --enable-ffprobe"
    
    FF_CFG_ARGS="$FF_CFG_ARGS $FF_CFG_EXARGS"
    
    
    echo =========================================================================
    echo arch=$ARCHNAME
    echo cross-prefix=$TOOLCHAIN/bin/$TOOLPREFIX
    echo sysroot=$SYSROOT
    echo $FF_CFG_ARGS
    echo =========================================================================
    
    ./configure $FF_CFG_ARGS \
    	--extra-cflags='$FF_EX_C_FLAGS' 
    #	--disable-avcodec --disable-avformat --disable-swresample  --disable-swscale --disable-postproc --disable-avfilter --disable-avresample
    
    echo "#undef HAVE_LOG2" >> config.h
    echo "#undef HAVE_LOG2F" >> config.h
    echo "#undef HAVE_LOG10F" >> config.h
    
    echo "#define HAVE_LOG2 0" >> config.h
    echo "#define HAVE_LOG2F 0" >> config.h
    echo "#define HAVE_LOG10F 0" >> config.h
    
    
    复制代码
拓展
  1. 根据这里 可以下载“Termux” 【一个命令行工具】来使用ffmpeg命令行。

    一共执行了三个步骤

    apt update
    apt upgrade
    apt install ffmpeg
    # 之后就可以使用ffmpeg的命令了,eg
    ffmpeg -version
    ffmpeg -help
    # 当然你可以使用这个工具不止干这些事情
    #下载其他工具
    
    复制代码
  2. 也有人写了开源的工程 ,可以直接用androidapk来执行ffmpeg的命令,只是不知道怎么替换ffmpeg的so,这个作为了解

    1. ffmpegandroidlibrary
    2. ffmpeg-android-java

转载于:https://juejin.im/post/5c3741dce51d45523235d6b5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值