当通过“打开网络流”界面、选项“--open”或 Lua CLI 命令“add”向 VLC 提供格式错误的 URL 时,界面会锁定,控制台会吐出错误消息
[00007f31355cea20] filesystem stream error: cannot open file /home/paul/c (No such file or directory)
[00007f313c000c40] main input error: Your input can't be opened
[00007f313c000c40] main input error: VLC is unable to open the MRL 'file:///home/paul/c'. Check the log for details.
以每秒多次(数百次?)重复的频率。
我认为有缺陷的项目已被添加到播放列表中,并且 VLC 不断尝试反复播放它。
我怎样才能让它忽略这个错误?
我目前的想法是找到错误并删除最后添加的项目,或者让预处理器检查 VLC 是否真的可以打开生成的播放列表项目。我该怎么做?也许这只是一个配置问题?
谢谢。
答案1
--open
我认为这看起来像一个错误,我的 VLC(3.0.6)在通过命令行或 GUI 的“打开网络流”打开时不会这样做……但进一步测试循环文件或播放列表显示我思考您的 vlc 设置为循环文件,但您尝试打开的唯一文件导致错误,因此 vlc 尝试下一个文件,而循环恰好又是同一个文件......
vlc --loop filedoesnotexist
导致了您看到的相同错误。(尝试“播放”文本文件(如 vlc 的--help
输出)也会导致错误,因此即使检查文件是否存在也不一定能确保 vlc 不会出现问题)。
关闭循环可停止循环错误
vlc --no-loop filedoesnotexist
只导致一条错误消息,并且仍然使用 vlc 打开其他文件等没有问题。
我的 vlc 默认不循环,但你的似乎有,即使没有使用标志也可能导致错误--loop
。不过,我不确定如何更改循环开启/关闭的“默认”,如果我在启用时关闭它,我的就会关闭循环。vlc -H
(警告,它有 +300k!)仅提到热键循环选项,并且:
-L, --loop, --no-loop Repeat all
(default disabled)
VLC will keep playing the playlist indefinitely.
我认为,如果播放列表中全是导致错误且无法播放的条目,但又不断循环播放,那么这可能仍然是一个错误。如果不是错误,至少有一个“功能请求”,以在出现所有错误时停止循环。
如果循环无法停止,你可以监视 vlc 的日志(可能必须首先启用日志记录),如果您(或您的脚本)开始看到相同的错误,或者文件开始不受控制地增长,那么请终止 vlc 进程(看起来pkill vlc
很有效)。
[看起来简单的错误报告可能与主题无关,但找出一个解决错误的办法看起来与主题相关...]