gpt4 book ai didi

Android 和 FFmpeg。视频很慢

转载 作者:太空狗 更新时间:2023-10-29 14:16:23 31 4
gpt4 key购买 nike

我从这里为我的 Android 设备构建了 ffmpeg 库:https://github.com/appunite/AndroidFFmpeg .但是有些视频文件播放非常非常慢(我发现播放我的 Android 设备可以自行播放的视频非常慢)。这是 build.sh 脚本 https://github.com/appunite/AndroidFFmpeg/blob/master/FFmpegLibrary/jni/build_android.sh

可能是因为这些行:

--enable-hwaccel=h264_vaapi \
--enable-hwaccel=h264_vaapi \
--enable-hwaccel=h264_dxva2 \
--enable-hwaccel=mpeg4_vaapi \

据我所知,这些行启用了硬件加速(该代码的作者说这会引发一些错误)。播放器的基本思想是在本地代码中解码视频和音频流,然后将视频帧渲染到 AndroidBitmap 并将音频渲染到 Android MediaPlayer。有谁知道如何解决视频解码缓慢的问题(可能会降低视频帧分辨率或其他问题?)我很乐意提供任何帮助和想法。

最佳答案

奇怪的是 --enable-hwaccel=h264_vaapi 连续指定了两次,但我看到它在您链接到的原始构建脚本中。

DXVA2 指的是 DirectX Video Acceleration ,可在 Windows 台式计算机上使用。所以这对这里没有帮助。 VAAPI 指的是 Video Acceleration API .我正要说它只针对 Unix 桌面,但维基百科页面指出它也可以针对 Android。

解码缓慢的可能原因是正在采用软件解码路径。您正在解码什么类型的视频数据,以什么配置文件和分辨率解码?通常,最好利用 Android 媒体工具,例如 MediaPlayer播放,除非你正在做一些特别的事情。您可能已经研究过此选项,也许您发现无法获取原始 AndroidBitmap(我对 Android 开发不太熟悉)。

我正在查看 FFmpeg 的 VAAPI 接口(interface)和 VAAPI->Android 代码的源代码。如果您有为 Android 编译的 FFmpeg,它是如何访问 VAAPI 的?您是否也为 Android 编译了 VAAPI?我感觉 VAAPI 不是 Android 的现有组件(但同样,我不确定),因此您可能需要确保 VAAPI 就位。那么,您是否正确要求 FFmpeg 使用 VAAPI?我认为 FFmpeg 不会自动检测到这一点。

关于Android 和 FFmpeg。视频很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21608860/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com