RAID、SSD 或其他软件是否可以播放原始 1080p60 视频?

RAID、SSD 或其他软件是否可以播放原始 1080p60 视频?

我是一名从事视频压缩研究的研究人员。作为工作的一部分,我需要以正确的帧速率播放原始(即未压缩)视频,以供参与者观看,作为压缩质量评估的一部分。

这些剪辑通常为 10 秒长,帧速率最高可达 60fps,分辨率从 CIF 到 1080p 不等。它们通常存储在 4:2:0 格式的 yuv 文件中。

我遇到的问题是 1080p 视频无法以正确的帧速率播放(至少高于 24 或 30fps)。我认为这是因为无法足够快地从 HDD 加载数据。

我通常使用 vlc player,或者我称为 vidview 的晦涩难懂的 Windows exe。但这个很灵活。我尝试将 vlc player 中的文件缓存和磁盘缓存参数调整为 10000ms,但这确实解决了问题。

我通常使用 Windows 7 电脑,但这台电脑很灵活。我可能(也可能没有)已经可以使用外部 RAID 盒。我目前使用的台式机有 i7、8GB 内存和 SATA2 HDD。

我的问题是:仅仅从更快的驱动器(例如 RAID 阵列或 SSD)播放视频是否足以解决问题?

答案1

我的问题是:仅仅从更快的驱动器(例如 RAID 阵列或 SSD)播放视频是否足以解决问题?

或许- 然而,在更具体地回答这个问题之前,你必须首先确定在哪里首先,视频播放中的瓶颈是。事实上,如果可以将整个视频缓存到 RAM 中(或保持滚动缓冲区足够长),那么使用更快的磁盘驱动器根本不会有任何区别(再次假设您有足够大的缓冲区)。

如果你的缓冲区时间足够长,您的 CPU 可能在播放过程中出现瓶颈。您可以通过查看视频播放过程中的 CPU 使用率来确定是否是这种情况;如果它达到非常高的值(或者您使用的是单线程解码器,它显示负载为 100/C %,其中 C 是内核数),您的 CPU 可能太慢而无法实时显示视频。


一旦确定 CPU不是瓶颈,那么您可能需要考虑为机器添加更快的存储设备(SSD 或 RAM)。要确定您的存储设备是否是瓶颈,您可以使用类似resmon.exe(Windows 7/8 附带)的工具来查看媒体播放器在播放过程中的磁盘活动。如果磁盘传输速率接近磁盘可以处理的最大速度,那么很可能这就是瓶颈所在。

答案2

Raw HD 通常需要大约 120 MB/s,而单个旋转磁盘不太可能提供这样的速度。

SSD 可以轻松实现此速度,即使在 SATA 3 GB/s 端口上也是如此。Tom's Hardware 有一些图表读取速度。 他们有旋转磁盘的图表

由于剪辑较短,另一种选择可能是使用RAM 磁盘,并将整个视频塞进里面。

RAID 可以帮助您实现这一目标,但可能是最复杂的解决方案,并且如果您使用旋转磁盘,您仍然需要担心碎片、磁头寻道和其他可能导致丢帧或其他滞后的开销。

答案3

我也做过一些类似的工作,1080p60 简直是太麻烦了,它的速度大约是 3Gbps,所以你至少需要一个 SATA Gen 3 才能与硬盘一起工作,这意味着链中的所有东西(处理器、硬盘、主板)都需要符合 SATA 3 标准。大多数制造商会说他们支持它,但实际上并不支持。

我最终大量使用 RAM(不是磁盘,我编写了自己的程序),并且只使用 Linux。如果你在 Windows 上进行研究,坦率地说,你根本不知道计算机在做什么。Windows 对你隐藏了太多东西,使大多数消费者研究边缘的东西都无法实现。

相关内容