哪种视频编解码器在解码时对 CPU/GPU 的负载最小?

哪种视频编解码器在解码时对 CPU/GPU 的负载最小?

我有兴趣对我拥有的视频进行转码以用作屏幕保护程序;大小不是问题,但我想在视频解码方面尽可能少地强调处理器和视频卡。

我的最佳选择是什么?

有问题的系统在双核 2.4GHz i7 上运行 Windows,配备 10GB RAM 以及 Intel HD Graphics 4000 和 NVIDIA GeForce 620M 选项,但我对一般答案感兴趣,因为我还有其他操作系统和硬件选择。我有多种旧电脑可供选择。

答案1

复杂性的主要组成部分是编解码器标准本身。正如 Stefan Seidel 已经提到的,MPEG-1 可能是最容易编码和解码的。MPEG-2 也应该相对容易处理。但是如果你想要获得不错的质量,你的视频将会非常大。

MPEG-4 和 H.264 在这方面增加了一些复杂性。这里最重要的(也是广泛使用的)功能之一是B 帧。这里,视频的一帧可能依赖于之前显示或稍后显示的多个帧。这意味着:需要更多计算、更多内存、更多磁盘访问。

因此,如果您对视频进行编码,请务必禁用 B 画面。在 H.264 中,可以通过坚持以下操作来实现基线概况(例如在 FFmpeg 中-profile:v baseline)。包含基线配置文件是为了支持处理能力较低(如移动电话)的更快编码和播放设备。

无论如何,结果取决于操作系统如何委派解码任务。如果仅使用 CPU,请坚持使用“简单”编解码器。如果使用 GPU,则使用 H.264 应该没问题。

某些播放器(例如 VLC)可能会使用 GPU 来解码视频,但这并不能保证,而且很大程度上取决于您的操作系统和显卡。我建议使用不同的编解码器进行一些测试。您使用屏幕保护程序而不是专用播放器的事实也可能会改变您的结果,因此不要依赖 VLC 等测试。

答案2

从 CPU 负载的角度来看,在不做大量研究的情况下,我认为 MPEG1 可能是一个不错的选择。但是,如果您的硬件能够硬件解码 MPEG2、MPEG4、h264 或类似的编解码器,则最好使用它,因为图形芯片针对播放这些内容进行了高度优化,并且耗电量极小,并且 CPU 在执行此任务期间可以大部分时间处于空闲状态。

相关内容