我为 Android 编译了一个旧版本的 FFmpeg(如果我没记错的话是 0.6.X)。FFmpeg 解码视频帧,对其进行缩放,然后我使用 OpenGL 将其绘制在屏幕上。据我所知,问题在于解码和缩放——它们不是硬件加速的。
我的问题是:
- 最新版本的 FFmpeg 硬件是否为 ARM (Android) 处理器加速?
- 我会以错误的方式解决这个问题吗?即,有没有更好的方法来做到这一点?其中“this”将 h264 高清视频作为视频动态壁纸播放——帧速率需要很高,因此只要可用硬件加速是可取的。
我为 Android 编译了一个旧版本的 FFmpeg(如果我没记错的话是 0.6.X)。FFmpeg 解码视频帧,对其进行缩放,然后我使用 OpenGL 将其绘制在屏幕上。据我所知,问题在于解码和缩放——它们不是硬件加速的。
我的问题是:
我想是的,是的。见: http: //ffmpeg.org/#pr9 。在 Android 上具有 h264 硬件加速解码的主要版本是 Harmony 0.9
如果您使用利用硬件加速的解码器,那么当它可用时,我看不出您可以做得更好...
您也可以尝试使用 libstagefright_h264 编译 ffmpeg,我能够让它编译和读取视频文件属性,但无法让 avcodec_open 使用它......假设它受设备支持,这将是硬件加速。
您需要的是为 ARM NEON 编译的 ffmpeg。请参阅: https ://groups.google.com/forum/#!topic/android-ndk/mGF6t3uWZ4U