Android上的硬件加速FFmpeg?

14

我编译了一份较旧版本的FFmpeg用于安卓(如果我没记错,应该是0.6.X)。FFmpeg解码了一个视频帧,对其进行了缩放,然后我使用OpenGL将其绘制在屏幕上。据我所知,问题出在解码和缩放上——它们没有经过硬件加速。

我的问题是:

  1. 最新版本的FFmpeg是否针对ARM(Android)处理器进行硬件加速?
  2. 我这样做是否有误?例如,是否有更好的方法来实现此目标?“此目标”是将h264高清视频作为视频动态壁纸播放,需要高帧率,因此可用时希望进行硬件加速。
3个回答

1
  1. 我认为是这样的,是的。请参见:http://ffmpeg.org/#pr9。 在Android上具有硬件加速解码h264的主要版本是Harmony 0.9。

  2. 如果您使用利用硬件加速的解码器(当其可用时),我不认为您能做得更好...


0

不太对。这只允许FFmpeg在ARM NEON上运行(我已经做到了)。但它并不能启用硬件加速(两回事)。谢谢回复。 - U Avalos
等一下,你说的FFMPEG硬件加速是什么意思?如果你不是指NEON,那么FFMPEG的“硬件加速”就没有意义。或者你是指OpenGL的硬件加速吗?我希望你正在使用顶点缓冲对象(VBO)或着色器来渲染视频(以获得硬件加速)。我认为你的瓶颈在于OpenGL渲染而不是FFMPEG。 - Adnaan

0
您也可以尝试使用libstagefright_h264编译ffmpeg,我成功编译并读取了视频文件属性,但无法使avcodec_open与其配合使用... 如果设备支持,那将会是硬件加速。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接