VLC 播放器无法正确显示字幕。它只是显示大写字母“A”来代替正确的文本。请查看本帖附带的屏幕截图。
我需要安装缺失的字体吗?我该如何修复它?
我可以从嵌入到此 mkv 文件的字幕中导出 .srt 文件吗?
答案1
我在使用几种不同的 .ass 字幕时都遇到过这种情况。例如,带有Plain with border
以下样式的字幕无法正确显示:
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Trebuchet MS,40,&H00E6F4FC,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1
Style: Plain with border,Arial,30,&H00000000,&H000000FF,&H00FFFFFF,&H00000000,0,0,0,0,100,100,0,0,1,2,0,5,10,10,10,1
通过将粗体属性从 0 更改为 -1 或完全删除样式,可以修复此问题。播放器也正确显示了这些字幕。
您可以使用以下方式从 mkv 文件中提取字幕mkvextract:
brew install mkvtoolnix
mkvextract tracks video.mkv -c UTF-8 3:subs.srt
另一个常见问题是 VLC 将默认字幕字体中未包含的字符显示为矩形。只需更改默认字体即可修复此问题。您还可以将文本渲染模块更改为 CoreText 字体渲染器,但在我看来,这会使文本看起来太细。
答案2
尝试更改字幕编码。我目前无法访问 vlc,但首选项中有一个选项可以设置编码。我会首先尝试 UTF8。
您可能还需要一种可以显示您的语言的字体。