FFmpeg一键编译Android arm64位和32位共享库(armeabi-v7a arm64-v8a)

虽然32位的库在64位机器上也能正常运行,但是经过测试,用小米8转码64位的库比32位还是要快10%~20%,所以还是同时提供32位和64位比较好。根据此教程编译出来的FFmpeg支持mediacodec硬件解码h264,h265,不支持硬件编码;编码h264可以用x264。文中的编译脚本可以直接编译出arm32位和64位的动态链接库。1.搭建编译环境1.1安装ubuntu14.04,安...
摘要由CSDN通过智能技术生成

虽然32位的库在64位机器上也能正常运行,但是经过测试,用小米8转码64位的库比32位还是要快10%左右,所以还是同时提供32位和64位比较好。

  • 根据此教程编译出来的FFmpeg支持mediacodec硬件解码h264,h265,不支持硬件编码;编码h264可以用x264。文中的编译脚本可以直接编译出arm32位和64位的动态链接库。

1.搭建编译环境

1.1安装ubuntu14.04,安装完成后执行以下命令

apt-get update
apt-get install yasm
apt-get install pkg-config

1.2下载ndk

我用的是ndk r15c,下载ndk r15c
将ndk下载到 /home/ndk/目录下,下载完成后执行unzip android-ndk-r15c-linux-x86_64.zip解压

1.3下载FFmpeg

关于FFmpeg版本,推荐3.4这个分支的最新版本就可以了,因为4.0和4.1不知道为什么都没有mediacodec硬件加速,还是我自己哪里没搞明白?知道的朋友可以留言讨论下。
这里我们就下载3.4.5,下载FFmpeg n3.4.5,也可以自己选择最新版,查看最新版
下载完成后解压进入根目录,执行./configure --list-hwaccels,可以看到支持的硬件加速:
在这里插入图片描述
./configure --list-encoders查看支持的编码器

./configure --list-decoders查看支持的解码器
可以看到FFmpeg只支持mediacodec解码,并不支持mediacodec编码,如果要使用FFmpeg进行编码的话需要引入x264,需要编码hevc的话还要引入x265。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值