我正在开发一个使用VLC类来控制VLC实例的Matlab应用程序。其中一项功能是将VLC播放器设置为全屏。此功能非常好用。
VLC播放器是从Matlab的文件交换下载的:https://se.mathworks.com/matlabcentral/fileexchange/56215-vlc(非常感谢LéaStrobino)
然而,一个特定的片段坚持将播放器的大小调整为<strong>较小的。 我做了一些研究,结果证明这是一些VLC版本中的常见问题。
正常的解决方法是取消选中“调整视频大小的界面”(类似于此)和选中“全屏”框。 这应该使播放器全屏打开,而不是将屏幕大小调整为视频大小。该视频仍然将播放器调整为较小的尺寸。
剪辑的所有规格都是相同的:相同的文件扩展名(.vob),格式和制作方式相同(我做了一些视频修剪等使用ffmpeg - 但每次都是一样的。)
我注意到一个区别,即该特定视频具有较低的数据和比特率(~1000-1500kbps),其他视频较高(<4000kbps)。此外,当显示剪辑的属性时,框架高度和宽度为空白,而不是具有特定值的其他框架。
然而,在 将视频加载到播放列表后,这应该不会影响来自Matlab的全屏命令 。该命令对此视频没有影响,但对所有其他视频都有影响。
可以通过单击窗口手动将播放器设置为全屏,因此视频中的某些限制不会导致播放器全屏显示。
为什么视频拒绝全屏显示?
希望有人能够提供帮助。
答案 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
有了这个更高的数据速率,视频每次都会全屏显示:=)