mplayer是支持srt类型的字幕的,然而我在看一部片子的时候却发现字幕出不来,mplayer报错说无法识别文件格式。几经折腾,终于理解了所谓的文件格式问题,在Linux上无法识别dos格式的字幕文件,然而用dos2unix转换失败,大概是因为里面有中文字符的缘故,只好用了一个土办法。
用Emacs创建一个新的文件,然后打开dos格式的字幕文件,把内容复制到新文件的buffer里,保存,搞定。然而这还是只成功了一半,要想字幕成功显示,还需在mplayer的Pereferences的Subtitles & OSD面板里面把Encoding设置为cp936。
虽然仍有少许乱码出现,但绝大多数字幕都能正确显示了。
emacs 里面的命令 C-x RET f
可以转换coding system
转成chinese-gbk-unix 就好了
mplayer 还是要设置subcp=gbk
非常感谢,每次碰到coding system总是很头疼,呵呵。
srt转换这一步似乎没有必要,我以前用mplayer看srt字幕的电影,没有过这一步。
我也觉得以前都是可以的,不知道这次是怎么回事,也许是更新了不同软件库里的版本,反正挺诡异的。