基于FFmpeg的经过Neon加速的可显示转码进度的安卓视频转码器

本文介绍了如何在Ubuntu环境下,使用ffmpeg 2.6.9、libfaac 1.28和libx264进行编译,以实现Android平台上带有Neon加速和转码进度显示的视频转码器。重点在于修改FFmpeg的configure文件,解决Android平台对动态库文件名的识别问题。
摘要由CSDN通过智能技术生成

相关介绍

    之前因为项目需要做一个安卓视频转码器,之后在网上搜了很多相关的资料,之后找到雷神的相关博客,里面有一篇博客上就实现了安卓视频转码器,因此就拿来用了,但是由于里面有些功能没符合项目需求,所以我在其基础上进行了修改,主要添加了两项功能:转换过程中可显示转码进度;视频转码加速;下面就这两项功能实现过程作具体描述,顺便说句题外话,在这里非常感谢雷神所做的贡献。

转码进度功能实现

    在工程jni目录ffmpeg.h中添加添加typedef struct FFMFCContext {
long progress;
long media_duration;
long media_cur_time;
} FFMFCContext;结构体用来保存进度值,然后在jni下的ffmpeg_mod.c中的transcode_init函数中插入如下代码,计算转码估计总用时。
    再在print_report函数下插入如下红色代码,最后ffmfcctx.progress中保存的就是

    然后写好相关jni调用接口函数将该参数在安卓进度条中显示出来,具体见附件源代码。

Neon加速

    neon加速功能的实现其实就是一个编译ffmpeg库的过程,对于neon技术有疑问的同学可以自行在网上查找,有很多相关介绍。

编译环境说明

    相关软件:Ubuntu 15.10 + android-ndk-r9d-linux-x86_64+ ffmpeg 2.6.9+libfaac-1.28 +libx264

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值