|
|
以下内容没有在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 的字幕格式设置内容如下([color="Blue"]这里说明一下为什么用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、如果希望字幕自动加载需要将字幕的文件名和电影的文件名一致,[color="Red"]除了扩展名外。
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可以直接解决,请输入如下命令:
b)结果应该是下面的样子:
- 1
- 00:01:14,500 --> 00:01:19,460
- 片名:情书
- 2
- 00:02:57,603 --> 00:03:01,562
- 今天在百忙之中
复制代码
c) 保存退出就ok了。
2)vim打开,发现格式很正常
这时最大的可能就是字幕文件含有大量的"\0"字符。这些字符看不见,但会影响字幕的解析,程序员知道这个"\0"是结束的标志。
怎么删除?
我的一个笨办法:
a)用vim打开,输入命令
这样就把所有的有效字幕内容拷贝了
b)不关闭vim,直接建立一个新文件
c)下面将这些内容贴到新文件中
d)注意这时需要设置一下字幕文件的编码
e)保存为文件xxx
这时你可以 ls -l 看看两个字幕文件是否大小不一样了。 如果新文件明显小了那么说明你搞定了 如果没有变化,那么我就真的:sorry |
|