win10编译ffmpeg
Posted 荣超
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win10编译ffmpeg相关的知识,希望对你有一定的参考价值。
android-ndk-r14b(linux版)
ffmpeg-4.0
开启win10子系统(控制面板-》程序和功能-》启用或关闭Windows功能 然后在 适用与 Linux 的 Windows 子系统前面打勾)
然后点击确定,等待安装,电脑会重启
然后在win10应用商店 搜索ubuntu安装后 即可打开liunx控制台(以后直接在windows控制台输入bash即可进入linux控制台)
首次进入linux控制台后还需要安装gcc和make
安装 gcc
apt-get install gcc
安装 make
apt-get install make
下面是执行的命令 ffmpeg的configure不需要做任何修改
android-ndk-r14b可以编译成功,但是使用android-ndk-r16却编译不通过
在e:/ffmpeg/4.0/build/ffmpeg-4.0/目录下 新建 build.sh 文件内容如下 cd到该目录下 执行chmod 777 build.sh 在执行./build.sh
#!/bin/sh cd /mnt/e/ffmpeg/4.0/build/ffmpeg-4.0 #这里的这些变量根据自己本地的环境切换 export NDK=/mnt/e/ffmpeg/SDK/android-ndk-r14b export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt export PLATFORM=$NDK/platforms/android-16/arch-arm export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 export CPU=arm export PREFIX=/mnt/e/ffmpeg/4.0/build/android/$CPU build_one(){ ./configure \\ --target-os=linux \\ --prefix=$PREFIX \\ --enable-cross-compile \\ --disable-asm \\ --arch=$CPU \\ --cross-prefix=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi- \\ --disable-stripping \\ --nm=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-nm \\ --sysroot=$PLATFORM \\ --enable-gpl \\ --enable-static \\ --disable-shared \\ --enable-small \\ --disable-ffprobe \\ --disable-ffplay \\ --disable-ffmpeg \\ --disable-debug \\ $ADDITIONAL_CONFIGURE_FLAG make clean make j8 make install } build_one $TOOLCHAIN/bin/arm-linux-androideabi-ld \\ -rpath-link=$PLATFORM/usr/lib \\ -L$PLATFORM/usr/lib \\ -L$PREFIX/lib \\ -soname libffmpeg.so -shared -nostdlib -Bsymbolic --whole-archive --no-undefined -o \\ $PREFIX/libffmpeg.so \\ libavcodec/libavcodec.a \\ libavfilter/libavfilter.a \\ libswresample/libswresample.a \\ libavformat/libavformat.a \\ libavutil/libavutil.a \\ libswscale/libswscale.a \\ libpostproc/libpostproc.a \\ libavdevice/libavdevice.a \\ -lc -lm -lz -ldl -llog --dynamic-linker=/system/bin/linker \\ $TOOLCHAIN/lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a \\ cd ..
这里我只编译了arm架构的
以上是关于win10编译ffmpeg的主要内容,如果未能解决你的问题,请参考以下文章