首发在LinuxSir.org 地址: http://www.linuxsir.org/bbs/showthread.php?t=315802 以下内容没有在gmplayer等其他mplayer外壳下测试过。 我的系统用的zh_CN.UTF-8环境,如果您用的其他字符编码环境,可能需要做些调整 :ask 一、相关配置文件 1、mplayer自身的配置文件 $HOME/.mplayer/config 文件的内容 代码 # Write your default config options here! #alias mplayer='mplayer -stop-xscreensaver -zoom -vo gl2' unicode=1 slang=zh stop-xscreensaver=1 zoom=1 #if your graphic card support opengl , you can use vo=gl2 vo=xv ao=alsa ontop=1 #good exclude H264 Video codec vf=expand=:::::4/3:2 fs=1 subcp=cp936 #subcp=utf-8 font=SimHei ass=1 ass-styles= $HOME/.mplayer/my.ass # use up style file no need this scale param #ass-font-scale=2.5 2、字幕样式配置 $HOME/.mplayer/my.ass 的字幕格式设置内容如下(这里说明一下为什么用ssa字幕格式设置文件,因为我发现使用了ssa的字幕格式文件设置后,srt和ssa的字幕都可以又mplayer自动进行换行处理。注意,如果你下载的字幕的文件扩展名是ass,不是ssa,请修改为ssa,否则字幕无法加载) 代码 [Script Info] ScriptType:v4.00+ [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 , SimHei, 20, &H00FFFFFF, &HF0000000, &H00000000, &HF0000000, 0, 0, 0, 0, 100, 100, 0, 0.00, 1, 1, 0, 2, 30, 30, 10, 1 二、字幕和电影的配合使用说明 1、按照我上面的设置,字幕的字符集必需是gb2312或者gbk。其他字符集的需要将srt字幕文件的编码格式进行转换。 2、如果希望字幕自动加载需要将字幕的文件名和电影的文件名一致,除了扩展名外。 3、经过这样设置后,请直接使用mplayer命令,或者将文件类型的打开方式选择使用mplayer,而不要使用gmplayer,(因为我没有怎么用gmplayer,不知有其他问题没有 三、mplayer 的常用功能的命令 1、音量调整 9=减小 0=增加 2、全屏开关 f 3、退出 <Esc> 或者 q 4、字幕和视频的配合 z 推迟字幕显示 x 加速字幕显示 四、常见媒体播放问题 1、字幕乱码 应该是你没有转换字符集的问题。 常用的转换命令: iconv -fbig5 -tgb2312 xxx.srt > yyy.srt (这个转换有时会因为有些字符转换失败导致无法生成完整的yyy.srt字幕,注意转换后如果有报错,这时需要你修改一下xxx.srt字幕的那个出错的行的相关文字。闲麻烦可以用下面的命令,只不过你看的字体都是繁体就是了。) iconv -fbig5 -tcp936 xxx.srt > yyy.srt 2、字幕不显示 分2种常见情况, 1) 一个是srt字幕用vim打开,发现格式中的“ --> ”和下一行的字幕内容中间多了空行 如下: 代码 1 00:01:14,500 --> 00:01:19,460 片名:情书 2 00:02:57,603 --> 00:03:01,562 今天在百忙之中 a)如果是这个情况,vim可以直接解决,请输入如下命令: 代码 :%g/-->/j 代码 1 00:01:14,500 --> 00:01:19,460 片名:情书 2 00:02:57,603 --> 00:03:01,562 今天在百忙之中 c) 保存退出就ok了。 代码 :w 2)vim打开,发现格式很正常 这时最大的可能就是字幕文件含有大量的"\0"字符。这些字符看不见,但会影响字幕的解析,程序员知道这个"\0"是结束的标志。 怎么删除? 我的一个笨办法: a)用vim打开,输入命令 代码 ggVGy 这样就把所有的有效字幕内容拷贝了 代码 :new c)下面将这些内容贴到新文件中 代码 p d)注意这时需要设置一下字幕文件的编码 代码 :set fileencoding=cp936 e)保存为文件xxx 代码 :w xxx 这时你可以 ls -l 看看两个字幕文件是否大小不一样了。 如果新文件明显小了那么说明你搞定了
|
最新的文章
最后的评论
|