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