使用 VLC 观看 USB 视频设备的视频时性能不佳

使用 VLC 观看 USB 视频设备的视频时性能不佳

在 Windows 10 上的 VLC 中,我无法从 USB 视频捕获设备(HDMI 源)以合理的帧速率观看 1080p 视频。

当我使用 OBS Studio 时,一切都很正常:视频以全分辨率播放,以 60 FPS 的速度运行,没有明显的延迟。有些画面撕裂,但没什么大不了的。

但是,当我使用 VLC 时——以及当我尝试使用某些安全摄像头 DVR 软件(iSpy,我刚刚下载进行测试)时——VLC 默认为 800x600(延迟较大),并将其强制为 16:9 1920x1080 时,以大约 10 FPS 的速度播放,延迟大约为半秒。

我使用 VLC 查看捕获设备视频流的方式是:

  1. 媒体 → 打开捕获设备...
  2. 选择“DirectShow”
  3. 选择 USB 捕获设备来捕获视频和音频;输入 1920x1080 分辨率并强制将纵横比设置为 16:9(在高级设置中)。

我需要调整一些其他设置吗?我不明白 OBS Studio 和 VLC(默认情况下)以及其他软件没有做什么。

答案1

我在使用 vlc 播放器时也遇到了类似的问题,但不是 fps 播放器。我的问题是分辨率很差,即使我将“视频大小”选项设置为“1920x1080”并将“图片纵横比 n:m”设置为 16:9。我认为它们都与“性能”有关。在 OBS 工作室中,播放 1080P 视频没有问题,如下所示: VLC 播放器OBS工作室

在我改变了一些选项之后,我的 vlc 播放器的分辨率明显提高了。尝试:

  1. 打开 VLC 播放器
  2. 工具
  3. 优先
  4. 点击底部的“全部”组合框
  5. 左侧树中的“视频”
  6. 输出模块
  7. 将 ComboBox 的值从“自动”更改为“Direct3D9 视频输出”
  8. 点击“保存”按钮
  9. 重启你的 vlc 播放器
  10. 单击媒体->打开捕获设备->选中“显示更多选项”并将缓存从 300 毫秒设置为 0 毫秒。
  11. 像往常一样设置视频和音频源以及视频大小。然后尝试播放。

PS:我的vlc播放器版本是3.0.18,GPU是NVidia 1660S。

答案2

对于使用 Linux 遇到此问题的任何人来说,TLDR 不要使用OpenGL输出。


我在 Linux 上也遇到了同样的问题:

  • VLC 视频源看起来像素化
  • VLC 快照图像干净
  • OBS v4l2 捕获干净

所以我知道这不是采集卡的问题。

事实证明,默认OpenGL输出有问题。我仍然使用 Xorg,所以我只需将输出更改为XVideo output (XCB)并重新启动 VLC。问题已解决。

我还没有测试过 Wayland,但我想你会选择Wayland shared memory video output它,其他一切都是一样的。

答案3

如果我们谈论的是价格非常便宜的“HDMI 视频捕获”设备或具有类似通用名称的设备。我的设备被标识为:

USB\VID_534D&PID_2109&REV_2100&MI_00

规格为:最大输出 1920x1080 60fps,最大输入 3840x2160 30fps。

我发现 VLC 的设置有些可行,但我建议使用 OBS。VLC 能够让流媒体播放得相当流畅,但几分钟后又开始延迟。OBS 配置更简单,长时间播放也很流畅。

关键部分是 MJPG 色度,因为 VLC 默认将其设置为 YUY2。正如本论坛,这些设备可能只是假的 USB 3,并且我们受到 USB 2 吞吐量的限制,因此我们需要一些压缩。

回到 VLC,以下是对我来说最适合的设置:

:dshow大小=1024:768:dshow纵横比=4:3:dshow色度=MJPG:dshow fps=59.944:dshow音频通道=2:dshow音频采样率=44100:dshow音频比特数/采样=16

您必须自行调整,因为我的视频源设备分辨率为 1024x768,比例为 4:3,帧率为 59.944 fps。音频设置应该没问题,大多数情况下都使用默认设置。

获得最佳设置的最简单方法可能是打开捕获设备,选择视频和音频设备。单击“显示更多选项”,“编辑选项”现在包含设备名称,您还可以调整缓存(0 即可)。然后,粘贴之前调整的设置。

您还可以为此创建一个快捷方式:

“C:\Program Files (x86)\VideoLAN\VLC\vlc.exe” dshow://:dshow-vdev="USB 视频":dshow-adev="Cyfrowy interfejs 音频 (USB 数字音频)":dshow-size=1024:768:dshow-aspect-ratio=4:3:dshow-chroma=MJPG:dshow-fps=59.944

答案4

我之前也遇到过同样的帧率问题,最终通过在“打开媒体 -> 捕获设备”下的“高级选项”中将“视频输入帧率”设置为 30 来解决:

截屏

希望这可以帮助。

相关内容