mplayer的中文字幕问题

| 3 Comments | 1 TrackBack
眼下,Lost - 迷失第六季归来,趁此时机准备从头认真看一下这部美剧,遂从网上拽下来720P bluray版本的,也找来了srt格式的字幕,结果发现中文字幕在mplayer里播放是乱码的

后来发现网上下载下来的字幕文件都是UTF-16或者ISO8859编码的,需要先转化为UTF-8格式才可以正常显示,可以采用以下任意一种办法:

1. 用iconv转化文件格式
iconv -f iso8859-1 -t utf8 -c 1.srt > new.srt
  -f 指定当前文件编码
  -t 指定要转化成的编码
  -c 指定字幕文件

2. 用vim打开字幕文件执行以下命令然后保存即可
 :set fileencoding=utf8

常见问题:

Q: 中文字幕显示还是不出来, 添加一行 subcp=utf8
A: 修改~/.mplayer/conig 文件

Q: 中文字幕显示成横线-----
A: 修改~/.mplayer/conig 文件,添加一行 fontconfig=0

Q: ass格式字幕在smplayer下正常,在mplayer下却不能正确识别ass字幕其格式信息
A: 如果想启用mplayer对ass格式字幕的渲染效果,将 ass=1 添加到~/.mplayer/config即可

其中mplayer还需要进一步配置才能达到更好的播放效果,,备份一下我的~/.mplayer/config 文件
autosync=0
mc=0
ao=alsa
vo=vdpau,xv
stop-xscreensaver=no
monitoraspect=1440:900
zoom=yes
subcp=utf8
unicode=yes
#Displaye Chinese subtitles if available
slang=chs
#设置自动缩放字幕,0-不自动缩放,1-按电影高度缩放,2-按电影宽度缩放,3-按电影对角线缩放(默认值)
subfont-autoscale=1
#设置字幕文本的自动缩放系数(屏幕尺寸的百分比),值范围为0~100
subfont-text-scale=4
subfont-osd-scale=2
#font=/usr/share/fonts/Truetype/msyh.ttf #选择字幕用的字体
overlapsub=1
# Load all subtitles containing the movie name
sub-fuzziness=1
osdlevel=3
# set 8MB input cache
cache = 8192
fontconfig=0
#set 1 to enable the ass subtitles
ass=0
ass-font-scale=0.8

1 TrackBack

TrackBack URL: http://blog.yongbin.org/mt5/mt-tb.cgi/75

电脑里有几个mp4格式的一直在smplayer播放的时候很不流畅,用mplayer来播放却正常,这就排除了视频驱动和vpdau的问题看到网上说可以尝试一下三种办法:1. 在smplayer的属性 - 高级设置里把 correct pts 改成 no2. 把 demuxer 改成mov3. 在属性 - 性能里把 cache for local files设置为 0 最终生效的是第三种办法,再把cache改成0后,Smplayer也可以流畅的播放mp4文件了... Read More

3 Comments

Awesome post as always, thanks for writing such informative content on a regular basis.

Thank you! That was very informative, I just saved your website url.

You are right on the money with this post, keep it up!

Leave a comment