mplayer - Linux下的电影播放器

概要

mplayer [选项] [ 文件 | URL | 播放列表 | - ]
mplayer [全局选项] 文件1 [特定选项] [文件2] [特定选项]
mplayer [全局选项] { 一组文件和选项} [针对该组的特定选项]
mplayer [dvd|vcd|cdda|cddb|tv]://title [选项]
mplayer [mms[t]|http|http_proxy|rt[s]p]:// [用户名:密码@]URL[:端口] [选项]
mencoder [选项] [ 文件 | URL | - ] [-o 输出文件]
gmplayer [选项] [-skin skin]

 

说明

mplayer 是一个LINUX下的电影播放器, (也能运行在许多其它的Unices和非x86的CPU上, 参看文档). 它能使用本地的, XAnim, Win32 DLL的编解码器播放绝大部分的MPEG/:VOB, AVI, ASF/:WMA/:WMV, RM, QT/:MOV/:MP4, OGG/:OGM, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM和RoQ文件. 你还能观看VideoCD,SVCD, DVD, 3ivx, DivX 3/:4/:5甚至WMV电影(不需要使用avifile库).

MPlayer的另一个优越的特性是对输出设备的广泛的支持. 它可以使用X11, XV, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB, 但你也可以使用GGI, SDL(由此可以使用他们的所有驱动), VESA(所有VESA兼容的显卡,甚至可以没有X11), 某些低级的显卡相关的驱动(Matrox, 3Dfx和ATI)和一些硬件MPEG解码器卡, 比如Siemens DVB,
 DXR2和DXR3/:Hollywood+. 它们中绝大多数支持软件或硬件缩放, 所以你可以享受全屏电影.

MPlayer具有onscreen display(OSD)功能, 用来显示状态信息, 清晰放大反锯齿带阴影的字幕和键盘控制的视觉反馈. 支持的字体包括欧洲语种/:ISO 8859-1,2 (匈牙利语, 英语, 捷克语等等), 西里尔语和韩语, 可以播放10种格式的字幕文件(MicroDVD, SubRip, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub和我们自己的: MPsub)和DVD字幕(SPU流, VobSub和隐藏字幕数据表(Closed Captions)).

mencoder (MPlayer的电影编码器)是一个简单的电影编码器, 设计用来把MPlayer可以播放的电影(见上面)编码成另一些MPlayer可以播放的格式(见下面). 它可以通过1, 2或者3 pass的方式编码DivX4, XviD, libavcodec的编解码器支持的视频格式和PCM/:MP3/:VBRMP3的音频. 进一步的它还拥有流复制的能力, 一个强大的插件系统(crop, expand, flip, postprocess, rotate, scale, noise, rgb/:yuv转换)和更多.

gmplayer 是使用图形用户界面的MPlayer. 它使用跟MPlayer相同的参数.

 

 

一般注记

参见HTML文档!

每个'flag'选项都有一个对应的'noflag'选项, 比如-fs选项的对应选项是-nofs.

你可以把所有选项放在配置文件中, mplayer每次运行时都会读取它们. 系统范围的配置文件'mplayer.conf'在你的配置目录中, (比如/etc/:mplayer或者/usr/:local/:etc/:mplayer), 用户特定的配置文件是'~/:.mplayer/:config'. 用户特定的选项优先于系统范围的选项, 而命令行选项优先于这两者. 配置文件的语法是'选项=<参数>', '#'后面的都认为是注释. 启用没有参数的选项可以把参数设为'yes'或者'1', 而如果要禁用就把它们设置为'no'或者'0'. 甚至子选项也可以通过这种方式设定.

示例:
# 默认使用Matrox驱动.
vo=xmga
# 我喜欢在看片子的时候练习倒立.
flip=yes
# 从多个png文件解码/:编码, 以-mf启动
mf= type=png:fps=25

你也可以制作针对特定文件的配置文件. 如果你希望'movie.avi'这个文件有自己的配置文件, 创建一个叫'movie.avi.conf'的文件, 写上针对该文件的选项, 把它放在~/.mplayer中或者该文件同一目录下.

 

播放选项(仅用于MPLAYER)

-, -use-stdin
从标准输入读取数据. -idx选项无法与这个选项同时工作.
-autoq <质量> (与-vf pp一起使用)
根据可用的CPU空闲时间动态调整后期处理的级别. 你设定的数字是允许使用的最高级别. 一般来说你可以使用一些比较大的数字. 你必须使用不带参数的-vf pp才能使用它.
-autosync <因子>
基于音频延迟的检测逐步调整A/:V同步. 设定-autosync 0, 也就是默认值, 将导致帧记时完全基于音频延迟的检测. 设定-autosync 1也是一样, 但将会微妙的改变所使用的A/:V修正算法. 设置大于1的值对那些视频帧速率不均匀, 但用-nosound可以正常播放的电影一般会有帮助. 这个值越大, 记时方法越接近于-nosound. 对于没有好的音频延迟检测功能的声卡驱动试试用-autosync 30来平滑这个问题. 使用这个值时, 如果出现大的A/:V同步偏移, 只需要1或2秒就可以摆平. 对于任何声卡驱动, 打开这个选项的唯一缺点就是对于突然的A/:V偏移的反应延迟时间.
-benchmark
在终端显示一些CPU使用率和丢帧数的统计信息. 与-nosound和-vo null联合使用可以用来评测视频解码器.
-edl <文件名>
在播放时启用编辑决定列表(EDL)的动作. 根据所给文件的内容, 可以跳过视频, 静音和取消静音. 具体内容和使用方法参见DOCS/documentation.html#edl.
-edlout <文件名>
建立一个新文件并写入编辑决定列表(EDL)的记录. 在播放时, 当用户按下'i', 一个跳过下面两秒的记录将写入文件. 用户以后可以以此作为调整EDL记录的出发点. 具体内容参见DOCS/documentation.html#edl.
-enqueue (仅用于GUI)
将命令行中的文件加入播放序列而不是立刻播放它们.
-fixed-vo (BETA代码!)
对多个文件使用一个固定的视频系统(对所有文件初始化/:释放一次). 所以对所有文件只使用一个窗口, 目前fixed-vo兼容的驱动有: x11, xv, xvidix, xmga, gl2, and svga.
-framedrop (参见-hardframedrop)
跳过一些帧从而在慢的机器上实现A/:V同步.视频滤镜不会应用到这些帧上. 对于B帧解码也会完全跳过.
-h, -help, --help
显示简短的选项摘要.
-hardframedrop
丢掉更多的帧(破坏解码). 导致图像破损!
-identify
用容易分析的格式显示文件参数. 调用的TOOLS/midentify脚本将滤除mplayer的其它输出而(但愿能)留下文件名.
-input <命令>
这个选项可以用来配置输入系统的特定部分. 路径相对于~/:.mplayer/.

注意:
自动重复功能目前只有游戏操纵杆支持.
可用的命令有:

 

s
读取另外的input.conf. 如果没有给出路径名, 将假设是~/:.mplayer.
s
在开始自动重复一个键之前等待多少毫秒(0代表禁用).
s
当自动重复是每秒重复多少次.
s
列出所有可以被绑定的键.
s
列出所有可以被绑定的命令.
s
指定可用的游戏操纵杆设备(默认为/dev/:input/:js0).
s
从指定文件读取命令, 用于命名管道很有效.
-lircconf <文件>
指定LIRC(Linux Infrared Remote Control, 参见http://www.lirc.org)的配置文件, 如果你不喜欢默认的~/:.lircrc的话.
-loop <数字>
重复播放电影<数字>遍. 0表示不断重复.
-menu (BETA代码)
打开OSD菜单支持.
-menu-root <参数> (BETA代码)
指定主菜单.
-menu-cfg <文件> (BETA代码)
使用另外的menu.conf.
-nojoystick
关闭游戏操纵杆的支持. 默认是只要编译了就会打开.
-nolirc
关闭LIRC支持.
-nortc
关闭使用Linux的RTC(real-time clock - /dev/:rtc)作为计时器的功能.
-playlist <文件>
根据播放列表播放文件(每行一个文件或者Winamp或ASX格式).
-quiet
显示较少的输出和状态信息.
-really-quiet
显示更少的输出和状态信息.
-sdp
指定输入文件为描述一个RTP会话的SDP('Session Description Protocol')文件, (参见http://www.live.com/mplayer/).
-shuffle
以随机顺序播放文件.
-skin (BETA代码)
从指定目录中装载skin(没有路径名).

示例:

s
尝试Skin/fittyfene. 将会首先察看/usr/local/share/mplayer/, 然后是~/.mplayer/.
-slave
这个选项打开slave模式. 这用来将MPlayer作为其它程序的后端. MPlayer将从他的标准输入读取简单命令行, 而不再截获键盘事件. SLAVE模式协议 部分将解释其语法.
-softsleep
使用高质量的软件计时器. 跟RTC同样精确且不需要特别权限. 代价是更高的CPU消耗.
-speed <0.01-100>
设置播放速率.
-sstep <秒>
设定各帧显示之间的时间间隔. 用于幻灯片播放.

 

 

分路器/媒体流选项

-aid <标识> (参见 -alang选项)
选择音频频道 [MPEG: 0-31 AVI/:OGM: 1-99 ASF/:RM: 0-127 VOB(AC3): 128-159 VOB(LPCM): 160-191] MPlayer在冗长(-v)模式下会显示可用的标识.
-alang <两个字母的国家代码> (参见-aid选项)
仅用于DVD播放. 它选择DVD的音频语言并总是尝试播放与所给代码符合的语言. 加上-v参数观察输出可以获得可用语言的列表.

示例:

s
播放匈牙利语, 英语在没有匈牙利语时备用.
-audio-demuxer <数字> (仅用于-audiofile)
指定用于-audiofile的分路器. 分路器的标识在demuxers.h中. 使用-audio-demuxer 17将指定.mp3检测.
-audiofile <文件名>
在看电影时播放外部文件(WAV, MP3或Ogg Vorbis)的音频.
-audiofile-cache
对-audiofile的文件流启用缓存, 使用指定大小的内存.
-bandwidth <参数>
设定网络流的最大带宽(用于服务器可以以不同带宽传送内容的情况). 当你以慢速连接观看流媒体实况时有用.
-cdrom-device <设备路径>
替代默认的CDROM设备名/dev/:cdrom.
-cache
这个选项设定用多少内存(以kBytes为单位)作为播放文件/:URL的预缓冲. 对速度慢的媒体特别有用(默认为-nocache).
-cdda <选项1:选项2>
这个选项用来调整MPlayer的CD音频读取特性.
可用选项有:
s
设定CD转速
s
设定谨慎级别
0: 关闭检测
1: 只进行重叠检测(默认)
2: 完全数据修正和校检
s
使用指定的通用SCSI设备
s
单位读取量
s
将校检时的最小重叠搜索设置为<参数>个扇区.
s
假定TOC中报告的第1音轨的起始偏移量将按照LBA 0定位. 有些东芝光驱需要这个来获得正确的音轨边界.
s
给定位音轨时在报告的扇区数上再加上<参数>个扇区. 可以是负数.
s
(不)接受不完整的数据重建.
-channels <数字>
改变播放的声道数, 如果没有设定默认值为'2'. 如果输出声道数比输入声道数多时, 将插入空声道(但在将单声道混合为立体声时, 会把单声道复制到两个输出声道). 如果输出声道比输入声道少, 结果取决与所用的音频解码器(-afm). MPlayer会要求解码器把音频解码到跟指定数量的声道. 由解码器来实现这个要求. 如果解码器的输出比要求的多, 多余的声道会被去掉. 这个选项通常只有在播放AC3音频(比如DVD)的视频时才显得重要. 在那时默认使用liba52解码并把音频适当的混合到需要的输出声道.

注意:
这个选项可以被解码器(仅用于AC3)滤镜(surround)和音频输出驱动(至少OSS可以)接受.
可用选项有:

 

s
Stereo
s
Surround
s
Full 5.1
-chapter <场景标识>[-<结束的场景标识>]
设定从哪个场景开始播放. 也可以设定在哪个场景结束播放(默认值: 1). 示例可以在下面找到.
-csslib <文件名>
(老式DVD选项)这个选项用来替代libcss.so的默认位置.
-cuefile <文件名> (参见-vcd)
从指定的文件中描述的, CDRwin的(bin/cue文件格式)光盘镜像中播放(S)VCD.
-demuxer <参数>
指定分路器类型. 分路器的标识定义在demuxers.h中. 使用-demuxer 17将指定.mp3检测.
-dumpaudio (仅用于MPLAYER)
将原始的音频压缩流复制到./:stream.dump(用于mpeg/:ac3).
-dumpfile <文件名> (仅用于MPLAYER)
指定MPlayer复制的输出文件. 应该与-dumpaudio / -dumpvideo / -dumpstream一起使用.
-dumpstream (仅用于MPLAYER)
将原始流复制到./:stream.dump. 当从DVD或网络上rip时候有用.
-dumpvideo (仅用于MPLAYER)
将原始的视频压缩流复制到./:stream.dump(不是十分好用).
vd://<节目标识>
告诉MPlayer播放哪个电影(通过节目标识指定). 比如有时'1'是一部预告片, 而'2'才是真正的电影.

注意:
有时DVD播放时需要进行交错/:逐行扫描转换, 参见-vf pp=0x20000选项.

-dvd-device <设备路径>
替代默认的DVD设备名/dev/:dvd.
-dvdangle <视角标识>
有些DVD碟片中的场景可以从多个视角观看. 通过这个选项你可以告诉MPlayer使用那个视角(默认值: 1). 示例可以在下面找到.
-dvdauth
(老式DVD选项)打开指定设备的DVD认证.
-dvdkey
(老式DVD选项)当解码一个由DVD上复制的未解密的VOB文件时, 用这个选项提供解码VOB需要的CSS密钥(密钥在-dvdauth通过DVD设备认证时会显示出来).
-dvdnav (BETA代码!)
强行使用libdvdnav.
-forceidx
指定重新生成索引. 对索引损坏的文件(不同步等等)有用. 可以进行收缩. 你能使用MEncoder永久性的修复索引(参见文档).
-fps <参数>
替代帧速率(如果文件头中没有该参数/:参数是错误的)(浮点数).
-frames <参数>
只播放/:转换前<参数>帧, 然后退出.
-hr-mp3-seek (仅用于MP3)
高精度mp3搜索. 默认为: 在播放外部MP3文件时启用, 因为我们需要搜索到非常精确的位置来保持A/:V同步. 这种方法在后退搜索时特别慢 - 它需要绕回开头来找到准确的帧.
-idx (参见-forceidx)
在没有找到索引的情况下重建AVI文件的索引, 从而允许搜索. 对于损坏的/:不完整的下载, 或制作低劣的AVI.
-mc <每帧秒数>
每帧的最大A-V同步修正(以秒为单位).
-mf <选项1:选项2:...>
用来从多个PNG或JPEG文件解码.
可用选项有:

 

s
打开多文件支持
s
输出的宽度(自动检测)
s
输出的高度(自动检测)
s
输出的帧速率(默认值: 25)
s
输入文件的类型(可用类型: jpeg, png, tga, sgi)
-ni (仅用于AVI)
指定使用非交错的AVI分析器(用来处理某些质量差的AVI文件的播放).
-nobps (仅用于AVI)
不使用平均比特率值来维持A-V同步(AVI). 对某些文件头损坏的AVI文件有帮助.
-noextbased
禁用基于后缀名的分路器选择机制. 默认情况下, 当文件类型(分路器)无法可靠检测时, (文件没有头部或者不够可靠), 将使用后缀名来选择分路器. 后备的基于内容的分路器总是可用的.
-passwd <密码> (参见-user选项)
设置http认证的密码.
-rawaudio <选项1:选项2:...>
用这个选项你可以播放原始音频文件. 也可以用来播放不是44KHz 16Bit立体声的音频CD.
可用选项有:

 

s
使用原始音频分路器
s
声道数
s
每秒采样率
s
以字节为单位的样本大小
s
16进制的fourcc
-rawvideo <选项1:选项2:...>
用这个选项你可以播放原始视频文件.
可用选项有:

 

s
使用原始视频分路器
s
每秒帧速率, 默认值为25.0
s
设置默认的图像大小
s
以像素为单位的图像宽
s
以像素为单位的图像高
s
设置色彩空间
s
16进制的色彩空间(fourcc)
s
以字节为单位的帧大小
-rtsp-stream-over-tcp
与'rtsp://'URL一起用来指定最后结果输入的RTP和RTCP的包通过TCP流, (跟RTSP使用同一个TCP连接 ). 这个选项可以用于当你的Internet连接不允许UDP包进入的情况. (参见http://www.live.com/mplayer/).
-skipopening
提过DVD打开(仅用于dvdnav).
-sb <比特位置> (参见-ss选项)
搜索到比特位置. 用于播放开始部分是垃圾的CDROM镜像/:.VOB文件.
-srate
指定音频播放速, 视频播放速度也会改变以保持a-v同步. MEncoder会把这个值传给lame用于重新采样.
-ss <时间> (参见-sb选项)
搜索到指定的时间位置.

示例:

s
搜索到56秒处
s
搜索到1小时10分钟处
-tv <选项1:选项2:...>
这个选项会启用MPlayer的电视截取功能.

注意:
MPlayer不接受冒号所以在设备标识中用逗号代替. (例如.用hw.0,0代替hw:0,0).
虽然使用ALSA是你可以选择任何采样率, 但LAME音频编码器只能对'标准'的采样率进行编码. 如果你选择一个奇怪的采样率使用这个编码器得到的.avi文件会没有声音.
可用选项有:

s
使用电视输入
s
没有声音
s
可用参数: dummy, v4l, bsdbt848
s
设定默认的/dev/:video0之外的设备
s
设定默认的0(电视)之外的输入(参见输出的列表)
s
设定电视调谐器的频率(例如 511.250). 与频道参数不兼容.
s
电视调谐器的输出格式(yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2, i420)
s
输出窗口的宽度
s
输出窗口的高度
s
捕捉视频的帧速率(帧每秒)
s
设定以兆为单位的捕捉缓冲区的大小(默认值: 动态)
s
可用参数: PAL, SECAM, NTSC
s
把电视调谐器设定到<参数>频道.
s
可用参数: europe-east, europe-west, us-bcast, us-cable, 等等
s
设定频道的名称. 在名称中用_代替空格(或者玩引号游戏;-). 频道名称会用OSD显示, tv_step_channel, tv_set_channel和tv_last_channel等命令将可以被遥控器(参见lirc)使用. 与频率参数不兼容. 警告: 频道编号将出现在'频道'列表上, 从1开始. 示例: 使用tv://1, tv://2, tv_set_channel 1, tv_set_channel 2等等.
s
设置显卡的色彩均衡器.
s
设定音频捕捉比特率
s
即使v4l报告没有音频源也捕捉音频
s
从ALSA捕捉
s
选择音频模式:
0: mono
1: stereo
2: language 1
3: language 2
s
默认情况下, 记录音频声道数由电视卡检察音频模式自动决定. 这个选项允许指定立体声/:单声道记录而不管amode选项和v4l返回的参数. 在电视卡不能报告正确的音频模式的时候可以用这个选项解决麻烦.
s
设置音频设备
/dev/:...用于OSS
硬件标识用于ALSA
s
选择捕捉卡的音频输出, 如果它有不止一个的话
s
这些选项用来设定视频捕捉卡上的混音器参数. 如果你的卡没有混音器, 它们将没有效果.
s
参数值为0表示同时捕捉和缓冲音频和视频(mencoder的默认值). 参数值为1(mplayer的默认值)表示只捕捉视频而让音频通过通过环路电缆由电视卡输入声卡.
s
使用硬件mjpeg压缩(如果芯片支持的话). 当使用这个选项的时候, 你不需要设置输出窗口的宽和高, mplayer会根据抽样参数(见下面)自动确定.
s
选择硬件mjpeg压缩的图像的尺寸:
1: 全尺寸
    704x576    PAL
    704x480    NTSC
2: 中等尺寸
    352x288    PAL
    352x240    NTSC
4: 小尺寸
    176x144    PAL
    176x120    NTSC
s
选择jpeg压缩的质量
(全尺寸推荐使用quality < 60)
-user <用户名> (参见-passwd选项)

你可能感兴趣的:(ffmpeg,网络,嵌入式)