在Android编译并使用FFMPEG

本文介绍如何在Linux环境下从GitHub下载FFmpeg源码,并为Android设备编译生成所需的libffmpeg.so库文件。文中详细解释了配置环境变量、运行编译脚本的过程及如何定制编译选项来减少编译时间。
以下操作均在linux环境下进行

1 从 https://github.com/yixia/FFmpeg-Android 找到 Download Zip, 将所有文件打包成zip下载,得到文件 ffmpeg-android-master.zip

2 解压缩ffmpeg-android-master.zip, 并配置环境变量ANDROID_NDK( 即: export ANDROID_NDK=/path/to/your/android-ndk )

3 ./FFmpeg-Android.sh 即可自动下载 最新版本的ffmpeg, 并编译生成ibffmpeg.so。生成的目录位于 build/ffmpeg/{neon,armv7,vfp,armv6}

另说明:
1 默认下载的最新版本,脚本会全部编译ffmpeg整个库,相当耗时。可以通过 FFmpeg-Android.sh 下述内容配置自己需要编解库(我现在只需要用到h264解码库)。
FFMPEG_FLAGS="--target-os=linux \
--arch=arm \
--enable-cross-compile \
--cross-prefix=arm-linux-androideabi- \
--enable-shared \
--disable-symver \
--disable-doc \
--disable-ffplay \
--disable-ffmpeg \
--disable-ffprobe \
--disable-ffserver \
--disable-avdevice \
--disable-avfilter \
--disable-encoders \
--disable-muxers \
--disable-filters \
--disable-devices \
--disable-everything \
--enable-protocols \
--disable-parsers \
--disable-demuxers \
--enable-decoders \
--enable-bsfs \
--disable-network \
--enable-swscale \
--disable-demuxer=sbg \
--disable-everything \
--disable-demuxer=dts \
--disable-parser=dca \
--disable-decoder=dca \
--enable-asm \
--enable-version3 \
--enable-decoder=h264 "


2 类似的,如果只需要生成某一arm指令集的so. 则修改 FFmpeg-Android.sh 中红字字体的内容的
# for version in neon armv7 vfp armv6; do
for version in neon armv7 vfp armv6 ; do
cd $SOURCE



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值