linux下各种player不显示mkv字幕的解决
从byr bt上拖了黑衣人I、II来看,发现所有的播放器都不能正常显示mkv包中自带的字幕。
- 理所当然怀疑是字幕编码的问题,但是查设置是对的(GB2312)。但此方法无效。从网络上找来字幕文件(srt)是可以正常显示的,所以编码设置应该没有问题。
- mkv其实是把音频、视频、字幕等封存成一个文件的形式。此处可以播放独立字幕,但是不能显示mkv内部的外挂字幕,应该是所含字幕本身的问题。于是在ref.1中找到了mkv拆解的工具mkvtoolnix。从yum安装,需注意只安装mkvtoolnix包是没有查看mkv信息的mkvinfo命令的,这个命令在mkvtoolnix-gui包中。(yum provides可解)
- mkvinfo显示信息是轨道3是字幕, 输入命令
mkvinfo mib1.mkv mkvextract tracks mib1.mkv 3:subtitle.srt
得到的subtitle.srt就是解包出的文件。当然实际上可以从提示信息中发现不是srt格式的字幕。但是这个不本质。完事后打开之发现一大坨“宋体”字样,这是罪魁祸首无疑了。在gnome mplayer中找到启用ass特性支持,把字幕特效关了,就可以显示了。不过上中下英是没有了。这应该可以通过重新打包解决。
P.S.目前依然存在一些问题,比如VLC(最常用)不知道怎么设置,而且gnome mplayer中只取消掉“使用mkv內嵌字体”的设置也是无效的。希望可以找到可以变通的方法。最后只能吐槽以下压字幕的人没有考虑到世界上还有一群用linux的人了。。