在 VLC 中看不到字幕

在 VLC 中看不到字幕

版本:3.0.11 vetinari(不太清楚是什么意思) 操作系统:zorin ult 15(基于 ubuntu)

这些是文件

$ tree
.
├── Another 12.mkv
└── [ReinWeiss] Another - 12 [1080p CR-Modified].ass

文件没有任何损坏(已检查重新下载并检查哈希值)

当我启动 VLC 并拖放文件时,一切正常,但字幕严重不同步

Dialogue: 0,0:00:11.08,0:00:12.61,Default,Tsujii,0000,0000,0000,,We've gotta get out of here!

第一段对话出现在电影文件的 1:41 处

我需要延迟 90 秒,因此应用了设置 (+90.0)Tools > Track Synchronization > Subtitle Track Synchronization

但之后对话就完全没有出现了

我将延迟减少到 +5.0,正如预期的那样,对话在 16 秒时出现。我将其增加到 +10.0,它仍然有效。但 +20.0 不起作用。奇怪!

然后我在终端启动了 vlc 来查看是否有任何错误。这是输出

$ vlc "Another 12.mkv" 
VLC media player 3.0.11 Vetinari (revision 3.0.11-0-gdc0c5ced72)
[000055cd2080fb10] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Qt: Session management error: None of the authentication protocols specified are supported
QApplication: invalid style override 'adwaita' passed, ignoring it.
    Available styles: Breeze, Windows, Fusion
[00007f6214c0fbe0] main demux error: option sub-original-fps does not exist
[ass] Shaper: FriBidi 0.19.7 (SIMPLE) HarfBuzz-ng 1.7.2 (COMPLEX)
[ass] Using font provider fontconfig
[ass] fontselect: Using default font family: (Qlassik Bold, 700, 0) -> /usr/share/fonts/truetype/croscore/Arimo-Bold.ttf, 0, Arimo-Bold
[ass] fontselect: (Qlassik Bold, 700, 0) -> /usr/share/fonts/truetype/croscore/Arimo-Bold.ttf, 0, Arimo-Bold
[00007f6215c9ad40] main demux error: option sub-original-fps does not exist
[ass] Shaper: FriBidi 0.19.7 (SIMPLE) HarfBuzz-ng 1.7.2 (COMPLEX)
[ass] Using font provider fontconfig
[ass] fontselect: Using default font family: (Qlassik Bold, 700, 0) -> /usr/share/fonts/truetype/croscore/Arimo-Bold.ttf, 0, Arimo-Bold
[ass] fontselect: (Qlassik Bold, 700, 0) -> /usr/share/fonts/truetype/croscore/Arimo-Bold.ttf, 0, Arimo-Bold
[00007f6214c39d30] main decoder error: Timestamp conversion failed (delay 1000000, buffering 100000, bound 9000000)
[00007f6214c39d30] main decoder error: Could not convert timestamp 66522054636 for FFmpeg
[00007f6214c39d30] main decoder error: Timestamp conversion failed (delay 1000000, buffering 100000, bound 9000000)
[00007f6214c39d30] main decoder error: Could not convert timestamp 66549230604 for FFmpeg
[00007f6214c39d30] main decoder error: Timestamp conversion failed for 35369001: no reference clock
[00007f6214c39d30] main decoder error: Could not convert timestamp 0 for FFmpeg
[00007f6214c39d30] main decoder error: Timestamp conversion failed for 43710001: no reference clock
[00007f6214c39d30] main decoder error: Could not convert timestamp 0 for FFmpeg
[00007f6214c39d30] main decoder error: Timestamp conversion failed (delay 1000000, buffering 100000, bound 9000000)
[00007f6214c39d30] main decoder error: Could not convert timestamp 66604836902 for FFmpeg

我以为可能是内存损坏或类似的问题,但我什么也没看到,而且除了 vlc 有时冻结之外,其他所有应用程序都运行正常。

有人知道发生了什么事吗?

答案1

我得到了答案的解决方案,正如一位匿名 reddit 用户指出的那样,vlc 仅支持 -60.0 -> +60.0 秒范围内的同步延迟这里

(如果你的字幕不同步,请使用一些脚本或类似这样的网站同步字幕,哈哈)

编辑:另外,如果你在同一个目录中有一大堆盗版动漫文件,将子文件重命名为与视频文件匹配是一个好主意

edit2:正如@tetsujin所说,VLC 版本都是以 Terry Pratchett 的 Discworld 书籍中的人物命名的(VLC 版本 CodeNames:D)

相关内容