为什么VLC无法进入全屏模式?

时间:2017-05-30 13:08:35

标签: matlab ffmpeg vlc

我正在开发一个使用VLC类来控制VLC实例的Matlab应用程序。其中一项功能是将VLC播放器设置为全屏。此功能非常好用。

VLC播放器是从Matlab的文件交换下载的:https://se.mathworks.com/matlabcentral/fileexchange/56215-vlc(非常感谢LéaStrobino)

然而,一个特定的片段坚持将播放器的大小调整为<​​strong>较小的。 我做了一些研究,结果证明这是一些VLC版本中的常见问题。

正常的解决方法是取消选中“调整视频大小的界面”(类似于此)和选中“全屏”框。 这应该使播放器全屏打开,而不是将屏幕大小调整为视频大小。该视频仍然将播放器调整为较小的尺寸。

剪辑的所有规格都是相同的:相同的文件扩展名(.vob),格式和制作方式相同(我做了一些视频修剪等使用ffmpeg - 但每次都是一样的。)

我注意到一个区别,即该特定视频具有较低的数据和比特率(~1000-1500kbps),其他视频较高(<4000kbps)。此外,当显示剪辑的属性时,框架高度和宽度为空白,而不是具有特定值的其他框架。

然而,在 将视频加载到播放列表后,这应该不会影响来自Matlab的全屏命令 。该命令对此视频没有影响,但对所有其他视频都有影响。

可以通过单击窗口手动将播放器设置为全屏,因此视频中的某些限制不会导致播放器全屏显示。

为什么视频拒绝全屏显示?

希望有人能够提供帮助。

1 个答案:

答案 0 :(得分:1)

好的,所以我现在似乎已经解决了这个问题。没有完全确定原因 - 问题在于降低的数据/帧速率。

我将.mp4转换为.vob文件时尝试添加 -crf 18

ffmpeg -i input.mp4 -vcodec copy -acodec ac3 -crf 18 output.vob 

-crf代表恒定速率因子,是确保特定数据速率的一种方法。值从0到51和18似乎是最低'理智'值(最高数据速率)。可在此处找到一个很好的解释:https://superuser.com/questions/677576/what-is-crf-used-for-in-ffmpeg

有了这个更高的数据速率,视频每次都会全屏显示:=)