如何强制 VLC 以特定尺寸全屏播放视频?

如何强制 VLC 以特定尺寸全屏播放视频?

我有一个视频,尺寸为 1232×800 像素,将在分辨率为 1280×800 的投影仪上播放,但会限制在屏幕中间 800×800 的方框内,保持宽高比。因此,实际视频尺寸约为 800×519,即缩放到约 65%;将添加黑条全部双方:

+---------screen---------+
|                        |
|    +----video-----+    |
|    |              |    |
8    5              |    |
0    1              |    |
0    9              |    |
|    |              |    |
|    +------800-----+    |
|                        |
+----------1280----------+

我可以修改视频文件以包含黑条,但宁愿避免转码带来的不可避免的质量损失(和编解码器麻烦)。此外,我们希望将来可以轻松适应其他分辨率。

那么如何在播放过程中使用cvlc(即仅命令行选项)来实现这一点?

我尝试过的事情:

  1. cvlc --fullscreen --vout glx --no-autoscale --scale 0.65 video.mp4

    这是和的文档 ( --help)所建议的。但似乎被忽略了。--autoscale--scale--scale

  2. cvlc --fullscreen --vout glx --width 800 --height 519 video.mp4

    这似乎没有任何作用。视频仍然按比例缩放以适合屏幕。

  3. cvlc --fullscreen --vout glx --no-autoscale --zoom 0.6493506493506493 video.mp4

    这在我的计算机上(VLC 2.2.6)可以运行,但据报道在生产系统上会产生很小的视频。

我在 Ubuntu 16.04 LTS 上使用 VLC 2.2.2,因此无法轻松升级。

答案1

您的问题让我好奇了一整天。过去一个小时我一直在玩 Ubuntu VM,并做了一些调查。

您正在使用的前两组选项:

cvlc --fullscreen --vout glx --no-autoscale --scale 0.65 video.mp4

cvlc --fullscreen --vout glx --width 800 --height 519 video.mp4

针对的是窗口缩放。如果您--fullscreen从命令中删除,您将看到打开的窗口大小与您指定的完全一样,但是一旦启用全屏,视频就会以原始大小播放。

我已经尝试了官方的每一个包含宽度/高度字样的选项VLC 命令行帮助结果是一样的。


第三个命令是您的最佳情况。第三个命令是唯一影响视频流而不影响窗口的命令。因此,您必须找到能够完全按照您的需要播放视频的最佳百分比。

我在评论中提出的建议魔鬼派2关键绩效指标也会影响窗口的大小,因此在您的情况下它们可能看起来不太合适。

现在,你最好的选择是找到该--zoom选项的理想数字


由于无法使用 指定宽度和高度,因此缩放不会为您提供所需的确切尺寸--zoom。如果您愿意尝试转码,那么您可能会得到预期的结果

答案2

我遇到了同样的问题,经过反复尝试后发现,如果我将--crop命令行选项设置为显示器的宽高比(我的情况是 4:3,你的情况是 16:9,所以cvlc --crop=16:9 video.mp4)无论视频的分辨率是多少,整个屏幕都会被填满。请注意,如果您在此模式下播放 4:3 视频文件,视频的顶部和底部将被截断以适合您的 16:9 比例显示器。

相关内容