LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 8897|回复: 21

mplayer中文字幕乱码

[复制链接]
发表于 2006-12-29 22:25:54 | 显示全部楼层 |阅读模式
系统是sid,发现mplayer播放文件占用cpu比较低。所以想把播放器主力转到mplayer上来,但是搞了半天也搞不定mplayer的中文字幕,英文字幕的字体倒是很好看,totem的字幕和采用ttf字体作字幕的mplayer实在是不能比的。播放中文字幕的电影显示不了中文字,出现诸如:“___shmily,_____”,中文都是横线了。资料查的够多的了。但是还是解决不了。只想用ttf字体来作字幕,大家帮忙看看问题出在什么地方。
用的mplayer是http://www.debian-multimedia.org/上的1:1.0-rc1-0.1,

~/.mplayer/config
# Write your default config options here!
font=/usr/share/fonts/custom/msyh.ttf
subcp=cp936

在.mplayer目录下
ln -s /usr/share/fonts/custom/msyh.ttf subfont.ttf
修改~/.mplayer/gui.conf如下
sub_auto_load = "yes"
sub_unicode = "yes"
sub_pos = "100"
sub_overlap = "no"
sub_cp = "cp936"
font_factor = "0.750000"
font_name = "/home/shmily/.mplayer/subfont.ttf"
发表于 2006-12-29 23:25:03 | 显示全部楼层
sub_unicode = "yes"  <---  这项的意思是你的字幕文件的编码是否是 unicode ,一般现在的字幕都不是的,所以要改成 "no"

而你的字体(雅黑)我没有用过,但是我觉得应该把字体设置为 unicode
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-29 23:45:14 | 显示全部楼层
我想不是这个问题,因为我试了utf8格式的字幕,和gb格式,但都显示为————,改成no试了一下,结果还是一样。
回复 支持 反对

使用道具 举报

发表于 2006-12-30 08:46:34 | 显示全部楼层
我就.mplayer/config
里面加了一句

subcp=cp936
就能正常显示中文了
回复 支持 反对

使用道具 举报

发表于 2006-12-30 10:07:58 | 显示全部楼层
决定字幕乱码的问题有很多,首先是字幕文件本身的编码,不妨用 vim 或者 iconv 强制把它转成 cp936,然后在 mplayer 中,
mplayer -subcp cp936 -font path/to/font.ttf -sub path/to/sub path/to/video

以前发现必须加 -unicode 或者 -utf8 才行,不过采用上面的方法的话,应该不用了

另外楼主不妨把字幕传上来,大家可以帮你试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-30 12:15:01 | 显示全部楼层
我看的是美剧金牌律师,下面的是我用的字幕,没有压缩,把后缀该成srt就可以了。
我自己把字幕转成utf8都试过了,结果还是一样的。
对了,我的locale是en_US.UTF-8

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2006-12-30 12:32:34 | 显示全部楼层
试试编译时加上这个 –enable-freetype

http://blog.yening.cn/2006/10/29/95.html
回复 支持 反对

使用道具 举报

发表于 2006-12-30 13:07:30 | 显示全部楼层
在我这里只要加上 -subcp 936 就可以了。我是用 /usr/share/fonts/truetype/arphic/gkai00mp.ttf 字体的

另外,我是用 mplayer 而不是 gmplayer 测试的,不过这应该没有影响
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-30 14:10:51 | 显示全部楼层
同楼上的一样把字体改为gkai00mp.ttf ,用mplayer试了,gmplayer也试了,结果还是一样。
我想debian-multimedia.org上的mplayer编译的时候应该已经–enable-freetype,不然英文字幕不会那么好看了。
有没有也用debian-multimedia.org上的mplayer的,显示中文字幕成功的?
郁闷阿,别人的怎么那么简单就可以显示中文了,我的怎么就不行呢。同样用sid的,rp差距咋这么大呢?这次安装debian系统就比较古怪,安装好后fc-cache有问题,就是置顶上的那个写错误,但第二天就自动ok了。但同样有rp好的一个,以前在用ubuntu的时候,怎么也搞不定1400x1050分辨率下的beryl,但现在同样的方法,debian下就可以了。现在又碰到mplayer中文字幕的问题了。不是没有查过资料,但就是什么都试过了就是不行。就像用在ubuntu下用beryl的时候,也是什么都试过了,但就是不行。这次在sid中也是没有事情干,试着再试一次而已,结果就可以了。

刚才把mplayer换成了官方的1.0~rc1-10,但字体还是横线一条。
回复 支持 反对

使用道具 举报

发表于 2006-12-30 17:44:00 | 显示全部楼层
mplayer几乎是必备的东东,自己编译一个可以省掉很多麻烦
debian官方的mplayer问题很多,BTS上其相关的,象mencoder和gl/gl2的vo问题,多数没人答理
这也和众多debian中的中小软件一样,老、旧的也很多
debian让人放心的还是其大型套件的稳定,加上软件众多,获取源码容易,这也是其吸引人的所在
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表