Chinaunix首页 | 论坛 | 博客
  • 博客访问: 140042
  • 博文数量: 45
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 466
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-05 16:22
个人简介

热爱开源

文章分类
文章存档

2024年(1)

2022年(1)

2017年(2)

2015年(2)

2013年(4)

2008年(35)

我的朋友

分类: 系统运维

2008-04-17 00:11:35

首发在LinuxSir.org 地址:

以下内容没有在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、退出
或者 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



这样就把所有的有效字幕内容拷贝了
不关闭vim,直接建立一个新文件

:new



c)下面将这些内容贴到新文件中

p



d)注意这时需要设置一下字幕文件的编码

:set fileencoding=cp936



e)保存为文件xxx

:w xxx



这时你可以 ls -l 看看两个字幕文件是否大小不一样了。 如果新文件明显小了那么说明你搞定了 如果没有变化,那么我就真的
阅读(2565) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~