我看到一些视频播放器(例如 AVPlayerHD)正在 iOS 上为不受支持的容器(如 MKV)进行硬件加速播放。您认为他们是如何实现这一目标的?
我正在考虑用 ffmpeg 读取数据包,用 Core Video 解码。那有意义吗?我正在努力实现同样的目标。
谢谢!
最佳答案
我认为由于硬连线逻辑,用于视频渲染(解码)的硬件加速器支持固定格式。我不知道有任何硬件加速器能够从 MKV 转码。
另一种加速视频播放的方法是使用 OpenCL 并利用设备上的集成 GPU。这种方法可以为更广泛的应用领域提供硬件加速。
这种方法的问题在于,如果你没有幸运地找到一个使用 OpenCL 来做转码/解码的 GPU 加速的框架,你可能需要自己做。
添加信息
要实现完全硬件加速的解决方案,您首先需要将 MKV 转码为 H264 和 sub,然后您可以使用硬件解码器渲染 H264 组件。
对于硬件加速转码操作,您可以使用 GPU(通过 OpenCL)和/或多线程。
我找到了 https://handbrake.fr/可能具有一些 OpenCL 转码功能。
干杯!
关于iOS - 如何硬件加速 MKV(+ 其他不支持的)播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26231080/