版本: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 有时会冻结。
有人知道发生了什么吗?
我得到了答案的解决方案,vlc 仅支持 -60.0 -> +60.0 秒范围内的同步延迟,正如匿名 redditor在这里指出的那样
(如果您的字幕非常不同步,请使用一些脚本或类似这样的网站来同步字幕哈哈)
编辑:另外,如果您在同一目录中有一大堆盗版动漫文件,重命名子文件以匹配视频文件是个好主意
编辑2:正如@tetsujin 所说,VLC 构建都以 Terry Pratchett 的 Discworld 书籍中的字符命名(VLC 版本 CodeNames:D)