[教学]配置mplayer播放各种字幕文件

新手涉及到的教学或入门贴,推荐新手必看,版主维护
头像
command
帖子: 306
注册时间: 2007-10-14 0:50
来自: GUCAS

[教学]配置mplayer播放各种字幕文件

#1

帖子 command » 2008-09-16 20:41

看见很多人不厌其烦的问字幕问题,我这里总结一下我的方法,我到现在为止基本还没有碰到字幕播放不了的事。
我装的mplayer是mplayer-nogui提供的,mplayer软件包提供的应该也适用,不过配置文件名好像不是.mplayer/config。
mplayer的config配置如下:

代码: 全选

#vf=noformat=yv12 
monitoraspect=5:4#调整为适合自己机子的数字
ao=alsa #音频驱动选择,我一般选择alsa,其他的(比如pulse)好像会出现声道不能共享
vo=xv #视频驱动选择,也可以选择x11、gl等
#vo=fbdev #在字符终端播放视频
#joystick=0 #是否支持手柄控制
stop-xscreensaver=no #是否允许播放视频时出现屏保
monitoraspect=1280:800 #识别桌面分辨率为1280×800
zoom=yes  #是否允许视频缩放
subcp=gb2312#字幕字符集编码,也可以设置为utf8,这不是最主要的,最主要的是字幕文件的编码,字幕文件的编码如果是utf8的,subcp设置为gbk、gb2312、utf8都可以
subfont-autoscale=1 #设置按什么方法来进行自动缩放字幕,0-不自动缩放,1-按电影高度缩放,2-按电影宽度缩放,3-按电影对角线缩放(默认值)
subfont-text-scale=5 #设置字幕文本的自动缩放系数(屏幕尺寸的百分比),值范围为0~100,默认值为5。
subfont-osd-scale=8 #OSD字幕的自动缩放系统(屏幕尺寸的百分比),值范围为0~100,默认值为6。
font=/usr/share/mplayer/subfont.ttf#选择字幕用的字体,我的subfont.ttf是一个链接到/usr/share/fonts/truetype/下面的一个中文字体,比如msyh.ttf
overlapsub=1 #支持多语言字幕。
sub-fuzziness=1 #设定字幕自动加载的识别,播放时可以通过j键切换。
#vf=expand=:::::16/9:2 #如果是16:9的影片,字幕显示在画面下的黑色部分
osdlevel=1 #在屏幕的左上角显示相应时间等,可以在播放时单击o键显示播放时间
cache = 8192 #此选项指定用多少内存(以 kBytes 为单位)作为播放文件或 URL 的预缓冲。
上面都做完后,就是对字幕文件进行处理的时候了。字幕如果是idx+sub格式,就不需要进行编码转换了,如果是srt格式的,可以用vim打开字幕文件,然后输入如下按键序列即可

代码: 全选

:w ++enc=utf8<enter>
退出文件。下面可以播放视频了,别忘了视频文件名要和字幕文件名相同。

代码: 全选

mplayer video
:oops: :oops:

最近从byrbt上下的很多ass字幕文件都是utf16的,可以用

代码: 全选

iconv -f utf16 -t utf8 <inputfile>outputfile
转换为utf8,然后

代码: 全选

mplayer -ass -utf8 movie
播放即可。
上次由 command 在 2009-10-08 20:25,总共编辑 2 次。
OS: Debian GNU/Linux
Version: lenny
Kernel: 2.6.36
Xorg: 1.4.2
CPU: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
HD: 320G SATA
Memory: 2G DDRIII
Graphics:Mobility Radeon HD 3450
头像
想入非非
帖子: 8078
注册时间: 2008-07-14 22:42
来自: Beijing
联系:

#2

帖子 想入非非 » 2008-09-16 22:23

很感谢你的经验。。。不过似乎用smplayer配置的话要更为简单 :lol:
Ubuntu User
头像
command
帖子: 306
注册时间: 2007-10-14 0:50
来自: GUCAS

#3

帖子 command » 2008-09-16 23:11

想入非非 写了:很感谢你的经验。。。不过似乎用smplayer配置的话要更为简单 :lol:
也许吧!我没有用过smplayer,你可以把你的经验写下来与大家分享吗!
OS: Debian GNU/Linux
Version: lenny
Kernel: 2.6.36
Xorg: 1.4.2
CPU: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
HD: 320G SATA
Memory: 2G DDRIII
Graphics:Mobility Radeon HD 3450
头像
parry_all
帖子: 732
注册时间: 2008-07-01 9:53
来自: Dunedin, New Zealand

#4

帖子 parry_all » 2008-09-18 16:06

请问楼主;你说的配置文件config在哪?

到底是不是.mplayer/config?

谢谢你的配置信息!
头像
command
帖子: 306
注册时间: 2007-10-14 0:50
来自: GUCAS

#5

帖子 command » 2008-09-18 22:20

parry_all 写了:请问楼主;你说的配置文件config在哪?

到底是不是.mplayer/config?

谢谢你的配置信息!
是.mplayer/config.
信息共享,不用感谢!
OS: Debian GNU/Linux
Version: lenny
Kernel: 2.6.36
Xorg: 1.4.2
CPU: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
HD: 320G SATA
Memory: 2G DDRIII
Graphics:Mobility Radeon HD 3450
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

#6

帖子 adagio » 2008-09-18 22:46

八错,顶

顺便请问LZ,我装的是源里的no-gui版本,可是把~/.mplayer/config和/etc/mplayer/mplayer.conf两个文件里的zoom=yes都改好了,还是不能在终端下全屏播放,按“f”根本没用,到底是啥原因啊? :shock:
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
command
帖子: 306
注册时间: 2007-10-14 0:50
来自: GUCAS

#7

帖子 command » 2008-09-18 22:53

你在命令行输入如下命令,看有什么输出

代码: 全选

mplayer -fs videoname
OS: Debian GNU/Linux
Version: lenny
Kernel: 2.6.36
Xorg: 1.4.2
CPU: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
HD: 320G SATA
Memory: 2G DDRIII
Graphics:Mobility Radeon HD 3450
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

#8

帖子 adagio » 2008-09-19 1:39

报告LZ,是这样,有空给看看 :D

代码: 全选

adagi0@ubuntu:~/P2P/film$ mplayer -fs KILL.BILL.Vol.1.2003.x264.HDRE.480P.AAC-CHD.mkv 
MPlayer 1.0rc2-4.2.3 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Celeron(R) CPU 2.66GHz (Family: 15, Model: 4, Stepping: 1)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
This codecs.conf is too old and incompatible with this MPlayer release! at line 6
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing KILL.BILL.Vol.1.2003.x264.HDRE.480P.AAC-CHD.mkv.

[mkv] Track ID 1: video (V_MPEG4/ISO/AVC) "CHD", -vid 0
[mkv] Track ID 2: audio (A_AAC), -aid 0, -alang eng
[mkv] Will play video track 1.
Matroska file format detected.
VIDEO:  [avc1]  848x368  24bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Forced audio codec: mad
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
AO: [pulse] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 848 x 368 (preferred colorspace: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 2.30:1 - prescaling to correct movie aspect.
[swscaler @ 0x886e8f0]SwScaler: using unscaled yuv420p -> bgr565 special converter
VO: [fbdev] 848x368 => 848x368 BGR 16-bit  [fs] [zoom]
A:  12.5 V:  12.5 A-V: -0.001 ct:  0.042 300/300 45% 25%  8.1% 32 0 49% 
Exiting... (Quit)
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
command
帖子: 306
注册时间: 2007-10-14 0:50
来自: GUCAS

#9

帖子 command » 2008-09-19 17:37

adagio 写了:报告LZ,是这样,有空给看看 :D

代码: 全选

adagi0@ubuntu:~/P2P/film$ mplayer -fs KILL.BILL.Vol.1.2003.x264.HDRE.480P.AAC-CHD.mkv 
MPlayer 1.0rc2-4.2.3 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Celeron(R) CPU 2.66GHz (Family: 15, Model: 4, Stepping: 1)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
This codecs.conf is too old and incompatible with this MPlayer release! at line 6
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing KILL.BILL.Vol.1.2003.x264.HDRE.480P.AAC-CHD.mkv.

[mkv] Track ID 1: video (V_MPEG4/ISO/AVC) "CHD", -vid 0
[mkv] Track ID 2: audio (A_AAC), -aid 0, -alang eng
[mkv] Will play video track 1.
Matroska file format detected.
VIDEO:  [avc1]  848x368  24bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Forced audio codec: mad
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
AO: [pulse] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 848 x 368 (preferred colorspace: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 2.30:1 - prescaling to correct movie aspect.
[swscaler @ 0x886e8f0]SwScaler: using unscaled yuv420p -> bgr565 special converter
VO: [fbdev] 848x368 => 848x368 BGR 16-bit  [fs] [zoom]
A:  12.5 V:  12.5 A-V: -0.001 ct:  0.042 300/300 45% 25%  8.1% 32 0 49% 
Exiting... (Quit)
是不是因为YV12不能用,上面不是让用YV12作为输出csp吗!
你在配置文件中加上

代码: 全选

vf=noformat=yv12 
试试,不行的话,可能是显卡驱动不支持YV12,我也不知道该怎么办了! 祝好运!
OS: Debian GNU/Linux
Version: lenny
Kernel: 2.6.36
Xorg: 1.4.2
CPU: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
HD: 320G SATA
Memory: 2G DDRIII
Graphics:Mobility Radeon HD 3450
头像
guiwen1158
帖子: 1078
注册时间: 2008-05-11 11:10
来自: 深圳
联系:

Re: [教学]配置mplayer播放各种字幕文件

#10

帖子 guiwen1158 » 2008-10-09 21:22

初用mplayer,很多不懂,慢慢学习中,谢谢LZ分享。 :em05
头像
HuaChong
帖子: 493
注册时间: 2006-09-12 17:10

Re: [教学]配置mplayer播放各种字幕文件

#11

帖子 HuaChong » 2009-01-22 21:13

受用,感谢!
头像
condorofchina
帖子: 47
注册时间: 2008-11-25 10:05

Re: [教学]配置mplayer播放各种字幕文件

#12

帖子 condorofchina » 2009-08-07 9:21

mark 一下
头像
highwind
帖子: 1362
注册时间: 2008-09-05 23:31
系统: LinuxMint17

Re: [教学]配置mplayer播放各种字幕文件

#13

帖子 highwind » 2009-08-07 13:46

挺好的
alsa是驱动,pulse是声音处理服务器啦。
头像
command
帖子: 306
注册时间: 2007-10-14 0:50
来自: GUCAS

Re: [教学]配置mplayer播放各种字幕文件

#14

帖子 command » 2009-08-07 15:00

highwind 写了:挺好的
alsa是驱动,pulse是声音处理服务器啦。
alsa,pulse,oss等都有什么区别,那些驱动的好些?pulse,oss等好像声道都有独占的问题,就是一次只能有一个音频文件出声,再播放其他的就不出声了!
OS: Debian GNU/Linux
Version: lenny
Kernel: 2.6.36
Xorg: 1.4.2
CPU: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
HD: 320G SATA
Memory: 2G DDRIII
Graphics:Mobility Radeon HD 3450
头像
highwind
帖子: 1362
注册时间: 2008-09-05 23:31
系统: LinuxMint17

Re: [教学]配置mplayer播放各种字幕文件

#15

帖子 highwind » 2009-08-07 15:16

viewtopic.php?f=74&t=163776
可以参考参考。
回复