VLC 媒体播放器 + 硬件加速

VLC 媒体播放器 + 硬件加速

我如何知道 VLC 是否正在使用硬件加速?播放 h264 视频时,我的 CPU 使用率通常约为 20%,这似乎有点高。

以下是我的规格:

Windows 7 ATI HD4670 Phenom II x2 550

答案1

覆盖与硬件解码不同。

这里有两个部分:

  • 视频解码
  • 视频渲染

视频解码是使用视频编解码器对编码比特流(如 H.264)进行实际解码。这是将编码内容转换为构成视频的实际图像帧的过程。

这可以通过软件(CPU)实现,也可以通过 GPU 硬件加速(使用专门的硬件和寄存器来优化此类计算,而不是像 CPU 那样的通用计算)。DXVA 是显卡制造商在其视频驱动程序中公开的 Direct-X 接口,应用程序可以使用该接口。VLC 2.0 及以上版本支持 DXVA 解码

视频渲染是 Overlay 的作用所在。请注意,这与实际解码过程不同。这是实际在屏幕上显示图片帧的部分。这听起来可能很简单,但实际上比人们想象的要复杂得多。通常,Windows 负责将内容放置在屏幕上,因为操作系统知道需要将哪些其他内容放置在屏幕上(哪个窗口与哪个其他窗口重叠。需要决定绘制哪个窗口的哪个部分以及隐藏哪些部分)“Overlay”设置告诉视频播放器将图片帧直接转储到视频卡的内存中。

我播放 h264 视频时 CPU 使用率通常约为 20%,这似乎有点高

仅凭 CPU 使用率无法判断。硬件可以支持各种级别的硬件加速(MoComp、IDCT、VLD 等)——因此这不仅仅是一个是/否的答案。您的 CPU 使用率取决于可用的加速程度和内容的详细信息。

如果您的播放器仅使用解码加速,则 CPU 仍会执行调整大小、缩放等工作。(如果您有一个 480p 视频并将其在 1080p 屏幕上全屏显示,则必须将视频放大以填满整个屏幕 - 除非另有说明,否则此处理在 CPU 上进行)

所以对你的问题的最终回答是:使用 VLC,无法保证硬件加速。仅监控 CPU 使用率无法给你答案。

答案2

我刚刚检查了 1.0.5 中的首选项,在简单设置中有一个“加速视频输出(覆盖)”选项。确保已选中该选项。

在“全部”设置中,有一个选项“覆盖视频输出”,其中有工具提示“覆盖是视频卡的硬件加速功能(直接渲染视频的能力)。VLC 将默认尝试使用它。”确保也选中了该选项。

因此看起来 VLC 应该使用硬件加速。检查您是否没有将其关闭。您的视频卡应该能够处理这一点。

答案3

VLC 无法使用 HA。它仅在 1.1.0 中可用。在此之前,您可以使用 1.1.0 预发布版,它可以正常工作。

相关内容