admin 管理员组文章数量: 887019
用windows的ubuntu子系统来编译,这样会省很多麻烦和操作非常简便,比如不用去安装VMware和下载linux系统安装,全部文件代码都是在Windows的磁盘下,可以直接编辑。
1、安装ubuntu子系统,已安装的请忽略这一步,参考链接:Windows10安装Ubuntu桌面子系统,新装的系统很需要装一些工具,比如git、vim、make等。
2、下载ffmpeg源码和ndk。使用git下载源码,这样可以用命令来切换想要的哪一个版本,用的是3.2分支,FFmpeg下载地址。ndk使用android-ndk-r14b,ndk下载地址。
3、修改ffmpeg的configure,对应的字段修改为以下内容,因为android只能加载*.so结尾的动态库。
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
4、编辑适用arm的脚本。编译脚本要适配对应ffmpeg版本和ndk版本,不然一些编译链工具会找不到而编译失败。
#!/bin/bash
make clean
export NDK=/mnt/f/13_Android/01ffmpeg/android-ndk-r14b
export SYSROOT=$NDK/platforms/android-9/arch-arm/
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export CPU=arm
export PREFIX=$(pwd)/android/$CPU
export ADDI_CFLAGS="-marm"
./configure --target-os=linux \
--prefix=$PREFIX --arch=arm \
--disable-doc \
--enable-shared \
--disable-static \
--disable-yasm \
--disable-symver \
--enable-gpl \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
本文标签: 子系统 Windows Ubuntu ffmpeg
版权声明:本文标题:windows的ubuntu子系统编译ffmpeg 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726368895h946330.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论