名称
mplayer - 影视播放器
mencoder - 影视编解码器
概要
mplayer [若干选项]
[文件|URL|播放列表|-]
mplayer [若干选项] 文件1
[若干该文件专用的选项]
[文件2]
[若干该文件专用的选项]
mplayer [若干选项]
{文件和选项组}
[该组专用的选项]
mplayer [br]://[标题][/设备]
[若干选项]
mplayer
[dvd|dvdnav]://[标题|[起始标题]-中止标题][/设备]
[若干选项]
mplayer vcd://轨道[/设备]
mplayer
tv://[频道][/输入源代码]
[若干选项]
mplayer
radio://[频道|频率][/捕捉设备]
[若干选项]
mplayer pvr:// [若干选项]
mplayer dvb://[卡号@]频道
[若干选项]
mplayer
mf://[文件过滤码|@列表文件]
[-mf 若干选项] [若干选项]
mplayer
[cdda|cddb]://音轨[-中止音轨][:速度][/设备]
[若干选项]
mplayer cue://文件[:音轨]
[若干选项]
mplayer
[file|mms[t]|http|http_proxy|rt[s]p|ftp|udp|unsv|icyx|noicyx|smb]://[用户名:密码@]URL[:端口]
[若干选项]
mplayer sdp://文件 [若干选项]
mplayer mpst://主机[:端口]/URL
[若干选项]
mplayer tivo://主机/[list|llist|fsid]
[若干选项]
gmplayer [若干选项]
[-skin 界面外观]
mencoder [若干选项] 文件
[文件|URL|-] [-o 文件 | file://文件 |
smb://[用户名:密码@]主机/文件路径]
mencoder [若干选项] 文件1
[该文件专用的选项]
[文件2]
[该文件专用的选项]
描述
mplayer 是一个 LINUX
下的电影播放器(也能运行在众多其它的平台和
CPU
架构上,参见开发文档)。通过众多原生的和已编译的编解码器的支持,其能播放绝大部分的
MPEG/VOB、AVI、ASF/WMA/WMV、RM、QT/MOV/MP4、Ogg/OGM、MKV、VIVO、FLI、NuppelVideo、yuv4mpeg、FILM
和 RoQ 文件。还能观看
VCD、SVCD、DVD、蓝光
DVD、3ivx、DivX 3/4/5、WMV 甚至 H.264
格式的影视内容。
MPlayer
支持各种音视频输出驱动。其不仅可以使用
X11、Xv、DGA、OpenGL、SVGAlib、fbdev、AAlib、libcaca、DirectFB、Quartz、Mac
OS X CoreVideo,也能使用
GGI、SDL(及其下的所有驱动)、VESA(在兼容
VESA
的显卡上甚至不需要
X11)、某些底层的专用于某些具体显卡的驱动(如
Matrox、3dfx 及
ATI)和一些硬件 MPEG
解码器卡,比如 Siemens
DVB、Hauppauge PVR (IVTV)、DXR2 和
DXR3/Hollywood+。其中绝大多数支持软件或硬件方式的画面缩放,因而能够享受全屏播放影视内容的体验。
MPlayer 具有
OSD(屏上显示)功能用于显示状态信息,能显示采用抗锯齿及阴影效果的漂亮大字幕,并提供键盘控制操作的可视化反馈效果。支持欧洲语种/ISO8859-1,2(匈牙利语、英语、捷克语等等)、斯拉夫语种和朝鲜语的字体,以及
12
种的字幕格式(MicroDVD、SubRip、OGM、SubViewer、Sami、VPlayer、RT、SSA、AQTitle、JACOsub、PJS以及我们自己开发的:MPsub)和
DVD 字幕(SPU 流、VOBsub
及可隐藏字幕)。
mencoder (MPlayer
的影视编解码器)是一个简单的影视编解码器,其设计为将
MPlayer
可播放的影视内容(见上文)编码成其他的
MPlayer
可播放格式(见下文)。能以
1、2 或 3
阶段的方式编码为
MPEG-4(DivX/Xvid)、libavcodec
编解码器支持的任何一种格式或
PCM/MP3/VBRMP3
音频。此外还能够复制媒体流,具有强大的过滤器系统(crop,
expand, flip, postprocess, rotate, scale, noise,
RGB/YUV转换)以及更多的功能。
gmplayer
是具有图形化用户界面的
MPlayer。除了一些自有选项(存放在
gui.conf 中)以外,其与 MPlayer
具有同样的选项,然而有些
MPlayer 的选项会存放在 gui.conf
中以便能够独立于 MPlayer
使用。(参见下文的图形界面配置文件。)
本手册页末尾有用法示例,能让你迅速上手。
另见 HTML 文档!
交互式控制
MPlayer
有一个完全可配置的,命令驱动的控制层面,让你可以通过键盘、鼠标、操纵杆或遥控器(需使用
LIRC)来控制 MPlayer。参见 -input
选项中定制控制层面的方法。
- 键盘控制
- 左 和 右
- 后退/快进 10 秒钟。
- 上 和 下
- 快进/后退 1 分钟。
- PGUP 和 PGDWN
- 快进/后退 10 分钟。
- [ 和 ]
- 将当前播放速度减少/增加
10%。
- { 和 }
- 减半/加倍当前播放速度。
- BACKSPACE
- 将播放速度重置为正常水平。
- < 和 >
- 在播放列表中后退/前进。
- ENTER
- 在播放列表中前进,甚至可以越过末尾。
- HOME 和 END
- 下一个/前一个父列表中的播放树入口。
- INS 和
DEL(仅用于 ASX
播放列表)
- 下一个/前一个供切换的来源。
- p / SPACE
- 暂停(再按下则取消暂停)。
- .
- 步进。按第一下暂停回放,每按一下则播放一帧(直到按其它键取消步进))。
- q / ESC
- 停止播放并退出。
- U
- 暂停播放(并且当未使用
-idle 时退出)。
- + 和 -
- 调整音频延迟,增加/减少
0.1 秒。
- / 和 *
- 降低/提高音量。
- 9 和 0
- 降低/提高音量。
- ( 和 )
- 调整声音平衡,以偏向于左/右声道。
- m
- 静音。
- _(仅用于 MPEG-TS、AVI 和 libav
库的格式)
- 在可用的视频轨道间循环切换。
- #(仅用于 DVD、蓝光
DVD、MPEG、Matroska、AVI 和 libav
库的格式)
- 在可用的音频轨道间循环切换。
- TAB(仅用于
MPEG-TS 和 libav 库格式)
- 在可用的节目间循环切换。
- f
- 切换全屏模式(另见
-fs)。
- T
- 切换顶置模式(另见
-ontop)。
- w 和 e
- 减小/增加全景显示模式的覆盖范围。
- o
- 切换 OSD 状态:无 /
搜索条 / 搜索条 +
计时器 / 搜索条 +
计时器 + 总时间。
- d
- 切换丢帧状态:无 /
跳过显示 /
跳过解码。(参见
-framedrop 和 -hardframedrop)。
- v
- 切换字幕可见设置。
- j 和 J
- 在可用字幕间循环切换。
- y 和 g
- 在字幕列表中前进/后退。
- F
- 切换显示“强制使用的字幕”模式。
- a
- 切换对齐字幕模式:上
/ 中 / 下。
- x 和 z
- 调整字幕延迟,增加/减少
0.1 秒。
- c(仅用于
-capture)
- 开始/停止抓取主媒体流。
- r 和 t
- 将字幕向上/下移动。
- i(仅用于 -edlout 模式)
- 设置 EDL
跳过段落的起始点或中止点,并写入指定的文件。
- s(仅用于 -vf screenshot)
- 截屏。
- S(仅用于
-vf screenshot)
- 开始/停止截屏。
- I
- 在 OSD 上显示文件名。
- P
- 在 OSD
上显示进度条、已播放时间以及总长度信息。
- ! 和 @
- 定位到前一章节/后一章节的起始处。
- D(仅用于-vo
xvmc、-vo vdpau、-vf yadif、-vf kerndeint)
- 激活/禁用解除隔行扫描过滤器。
- A
- 在可用的 DVD
视角间循环切换。
(以下按键仅当使用硬件加速的视频输出(xv,
(x)vidix, (x)mga,
等),软件均衡器(-vf eq
or -vf
eq2),或色调过滤器(-vf
hue)时有效。)
- 1 和 2
- 调整对比度。
- 3 和 4
- 调整亮度。
- 5 和 6
- 调整色调。
- 7 和 8
- 调整饱和度。
(以下按键仅当使用
quartz 或 corevideo
视频输出驱动时有效。)
(以下的按键仅当使用
sdl
视频输出驱动时有效。)
- c
- 在可用的全屏模式间切换。
- n
- 恢复为原来的模式。
(以下的按键仅当使用具有多媒体按键的键盘时有效。)
(以下的按键仅用于编译时包含对于电视或数字视频广播输入的支持的情况,并且优先级高于以上的按键定义。)
- h 和 k
- 选择上一个/下一个频道。
- n
- 改变制式。
- u
- 改变频道列表。
(以下的按键仅用于编译时包括对于
dvdnav
支持的情况:用于菜单导航。)
- 小键盘 8
- 选择按钮向上。
- 小键盘 2
- 选择按钮向下。
- 小键盘 4
- 选择按钮向左。
- 小键盘 6
- 选择按钮向右。
- 小键盘 5
- 返回主菜单。
- 小键盘 7
- 返回最近的菜单(最优顺序是:章节->标题->根)。
- 小键盘 ENTER
- 确认选择。
(以下按键用于控制图文电视,数据可以来自模拟电视输入或是
MPEG 传输流。)
- X
- 打开/关闭图文电视功能。
- Q 和 W
- 切换至下一个/上一个图文电视页面。
- 鼠标控制
- 按钮 3 和 按钮 4
- 后退/快进 1 分。
- 按钮 5 和 按钮 6
- 降低/提高音量。
- 操纵杆
- 左 和 右
- 后退/快进 10 秒。
- 上 和 下
- 快进/后退 1 分。
- 按钮 1
- 暂停。
- 按钮 2
- 切换 OSD 状态:无 /
搜索条 / 搜索条 +
计时器 / 搜索条 +
计时器 + 总时间。
- 按钮 3 和 按钮 4
- 降低/提高音量。
用法
每个形如“flag”的选项都有一个相对应的形如“noflag”的选项,如:与选项
-fs 相反的是 -nofs 选项。
如果某选项标明为:(仅用于
XXX),则其只能与选项
XXX
一同使用,或者只在编译时包括对于
XXX
的支持情况下使用。
注意:
子选项解析器(用于例如
-ao pcm
之类的子选项)支持一种特殊的字符串转义方法,以用于外部的图形界面。
其格式如下:
%n%长_度_为_n_的_字_符_串
示例:
mplayer -ao pcm:file=%10%C:test.wav test.avi
或用于脚本中:
mplayer -ao pcm:file=%`expr length "$NAME"`%"$NAME"
test.avi
配置文件
所有选项都可放在配置文件中,每次
MPlayer/MEncoder
运行时都会从中读取。系统范围的配置文件“mplayer.conf”,位于配置目录中(例如:/etc/mplayer
或者
/usr/local/etc/mplayer),各个用户专用的配置文件是“~/.mplayer/config”。MEncoder
的配置文件是“mencoder.conf”,位于配置目录中(例如:/etc/mplayer
或者
/usr/local/etc/mplayer),各个用户专用的配置文件是“~/.mplayer/mencoder.conf”。各个用户专用的选项覆盖系统范围定义的选项(当使用
gmplayer 时,gui.conf
的选项覆盖各个用户专用的选项),而命令行中指定的选项覆盖其它所有选项。配置文件的语法是“选项=<参数值>”,任何“#”后面的内容都认为是注释。无需参数值既可使用的选项可把参数值设为“yes”或“1”或“true”,而如果要停用则将其设为“no”或“0”或“false”。甚至子选项也可以此方式设定。
同样可以编写每个媒体文件专用的配置文件。如果要给名叫‘movie.avi’的一个文件设置一个配置文件,则创建一个名为‘movie.avi.conf’的文件,其中存放了该媒体文件专用的选项,并将其放到
~/.mplayer/ 中。只要给出了
-use-filedir-conf
选项(或是通行命令行,或是在全局配置文件中给出),也可以把配置文件放到与所播放的媒体文件相同的目录下。如果在媒体文件所在目录下找到其专用的配置文件,则不会从
~/.maplyer
目录下加载任何单个媒体文件专用的配置。另外,-use-filedir-conf
选项允许每个目录有一个专用的配置文件。对于该选项,MPlayer
首先尝试在所播放文件的目录下加载
mplayer.conf,然后尝试加载任何存在的单个媒体文件专用的配置。
MPLAYER
配置文件示例:
# 默认使用 Matrox 驱动。
vo=xmga
# 我喜欢在看片子的时候练习倒立。
flip=yes
# 解码/编码多个 PNG 文件,
# 起始文件为 mf://文件名掩码
mf=type=png:fps=25
# 怪异的负片图像好酷。
vf=eq2=1.0:-0.8
# OSD 播放进度条垂直放置方式
progbar-align=50
MENCODER
配置文件示例:
# 设置 MEncoder 默认输出的文件名。
o=encoded.avi
# 下面四行使 mencoder tv:// 立刻开始捕捉。
oac=pcm=yes
ovc=lavc=yes
lavcopts=vcodec=mjpeg
tv=driver=v4l2:input=1:width=768:height=576:device=/dev/video0:audiorate=48000
# 较复杂的默认编码选项设置
lavcopts=vcodec=mpeg4:autoaspect=1
lameopts=aq=2:vbr=4
ovc=lavc=1
oac=lavc=1
passlogfile=pass1stats.log
noautoexpand=1
subfont-autoscale=3
subfont-osd-scale=6
subfont-text-scale=4
subalign=2
subpos=96
spuaa=20
图形界面配置文件
图形界面的自有选项有(括号中为
MPlayer 选项名):ao_alsa_device
(alsa:device=)(仅用于 ALSA),
ao_alsa_mixer (mixer)(仅用于
ALSA), ao_alsa_mixer_channel
(mixer-channel)(仅用于 ALSA),
ao_esd_device (esd:)(仅用于
ESD), ao_extra_stereo (af
extrastereo)(默认值:1.0),
ao_extra_stereo_coefficient (af extrastereo=), ao_oss_device
(oss:)(仅用于 OSD),
ao_oss_mixer (mixer)(仅用于
OSD), ao_oss_mixer_channel
(mixer-channel)(仅用于 OSD),
ao_sdl_subdriver (sdl:)(仅用于
SDL), ao_surround (unused),ao_volnorm (af
volnorm), autosync (enable/disable),autosync_size
(autosync), cache (enable/disable),cache_size
(cache), enable_audio_equ (af equalizer),
equ_band_00 ... equ_band_59, (af equalizer=),
equ_channel_1 ... equ_channel_6 (af channels=),
gui_main_pos_x,gui_main_pos_y,gui_save_pos
(yes/no),gui_tv_digital(yes/no),gui_video_out_pos_x,gui_video_out_pos_y,load_fullscreen
(yes/no),playbar (enable/disable),show_videowin
(yes/no),vf_lavc (vf lavc)(仅用于
DXR3), vf_pp (vf pp), vo_dxr3_device
(unused)(仅用于 DXR3)。
存放在 gui.conf 中的 MPlayer
选项有(表示为图形界面选项名,括号中为
MPlayer 选项名):a_afm (afm),
ao_driver (ao), ass_bottom_margin
(ass-bottom-margin)(仅用于
ASS), ass_enabled (ass)(仅用于
ASS), ass_top_margin
(ass-top-margin)(仅用于 ASS),
ass_use_margins (ass-use-margins)(仅用于
ASS), cdrom_device (cdrom-device), dvd_device
(dvd-device), font_autoscale
(subfont-autoscale)(仅用于
FreeType), font_blur
(subfont-blur)(仅用于
FreeType), font_encoding (subfont-encoding),
font_factor (ffactor), font_name (font),
font_osd_scale (subfont-osd-scale)(仅用于
FreeType), font_outline
(subfont-outline)(仅用于
FreeType), font_text_scale
(subfont-text-scale)(仅用于
FreeType), gui_skin (skin), idle (idle),
osd_level (osdlevel), softvol (softvol),
stopxscreensaver (stop-xscreensaver), sub_auto_load
(autosub), sub_cp
(subcp)(仅用于 iconv only)
sub_overlap (overlapsub), sub_pos (subpos),
sub_unicode (unicode), sub_utf8 (utf8), v_flip
(flip), v_framedrop (framedrop), v_idx
(idx), v_ni (ni), v_vfm (vfm),
vf_autoq (autoq), vo_direct_render (panscan),
vo_doublebuffering (dr), vo_driver (vo),
vo_panscan (double)。
配置集
为了方便操作不同的配置,可在配置文件中定义配置集。配置集的开头为放在方括号中的名称,如:“[my-profile]”。所有之后的选项成为配置集的一部分。可用
profile-desc
选项定义描述内容(使用
-profile help
将其显示出来)。要中止该配置集的定义,只需开始定义另一个配置集,或使用配置集名称“default”以继续定义常规的选项。
MPLAYER
配置集示例:
[protocol.dvd]
profile-desc="用于 dvd:// 媒体流的配置集"
vf=pp=hb/vb/dr/al/fd
alang=en
[protocol.dvdnav]
profile-desc="用于 dvdnav:// 媒体流的配置集"
profile=protocol.dvd
mouse-movements=yes
nocache=yes
[extension.flv]
profile-desc="用于 .flv 文件的配置集"
flip=yes
[vo.pnm]
outdir=/tmp
[ao.alsa]
device=spdif
MENCODER
配置集示例:
[mpeg4]
profile-desc="MPEG4 编码"
ovc=lacv=yes
lavcopts=vcodec=mpeg4:vbitrate=1200
[mpeg4-hq]
profile-desc="高质量 MPEG4 编码"
profile=mpeg4
lavcopts=mbd=2:trell=yes:v4mv=yes
播放器选项(仅用于MPLAYER)
- -autoq
<质量>(与 -vf [s]pp
一同使用)
- 根据可用的 CPU
空闲时间动态调整后期处理的级别。指定的质量数值将是所使用的最高级别。通常可以使用较大的数值。必须使用不带参数的
-vf [s]pp
选项以使该选项起作用。
- -autosync
<因子>
- 基于测得的音频延迟逐步调节音视频的同步。指定
-autosync
0,即默认值,将导致帧播放的计时完全基于测得的音频延迟。指定
-autosync 1
同样如此,但会小幅调整所使用的音视频修正算法。将该选项设为大于
1
的整数有助于播放视频帧率不平稳的情况,但用
-nosound
可以正常播放的电影。值越大,播放的计时越接近于
-nosound。尝试用 -autosync 30
可缓解未完美实现音频延迟检测的声卡驱动的问题。使用这个值后,如果出现了音视频同步上的大偏离,则只需要
1 或 2
秒时间就可以解决。在所有的声卡驱动下,音视频偏离突然出现时反应时间上有所延迟,这是打开此选项的唯一副作用。
- -benchmark
- 播放后在终端打印一些关于
CPU
使用率和丢帧数的统计信息。与
-nosound 和 -vo null
一同使用可用于单单评测视频编解码器的性能。
注意:
使用该选项后,即使只播放视频
MPlayer
也将忽略每个帧的播放时间的信息(可以认为这是不限制帧率)。
- -colorkey
<编号>
- 将透明色的键值改为所选的
RGB 数值。0x000000 是黑色而
0xffffff 是白色。仅
cvidix、fbdev、svga、vesa、winvidix、xmga、xvidix、xover、xv(参见
-vo xv:ck)、xvmc(参见 -vo
xv:ck)和 directx
等视频输出驱动支持。
- -nocolorkey
- 禁用透明色。仅
cvidix、fbdev、svga、vesa、winvidix、xmga、xvidix、xover、xv(参见
-vo xv:ck)、xvmc(参见 -vo
xv:ck)和 directx
等视频输出驱动支持。
- -correct-pts(处于测试阶段)
- 将 MPlayer
切换到试验模式,其中视频帧的时间标签以不同的方式计算,并且支持视频过滤器添加新的帧或修改已有帧的时间标签。可以看到更精确的时间标签,例如,当通过
-ass
选项播放与镜头切换同步的字幕时。如不使用
-correct-pts,字幕显示的计时往往地会因某些帧而失效。该选项在使用了某些流分离器和编解码器时无法正常起作用。
- -crash-debug(用于调试代码)
- 一旦程序崩溃或出现
SIGTRAP 自动联上 gdb
调试程序。支持该选项必须编译时已配置
--enable-crash-debug。
- -doubleclick-time
- 以毫秒为单位的时间值,用以判定两次连续的按键动作是否为一次双击动作(默认值:300)。设为
0
则让视窗系统判断什么样动作的是双击(仅当使用
-vo directx 时)。
注意:
可能会体验到些许不同的效果,这取决于绑定的是
MOUSE_BTN0_DBL 还是MOUSE_BTN0-MOUSE_BTN0_DBL
事件。
- -edlout
<文件名>
- 新建文件并写入
EDL(编辑决定列表)记录。播放时,用户按“i”键标记跳过区域的起始或中止点。该功能提供给用户一个以后能精确调整的
EDL
项的起始点。详情参见
http://www.mplayerhq.hu/DOCS/HTML/en/edl.html。
- -edl-backward-delay
<数值>
- 当在播放过程中使用了
EDL
并回倒时,可能会停在某条
EDL
记录中间。在此情况下,MPlayer
会进一步回倒至这条
EDL
记录的起始位置,之后会立即跳过EDL
记录所描述的场景。为避免这种现象,MPlayer
会跳至距 EDL
记录前端某个固定间隔处。该参数以秒为单位指定这个时间间隔。(默认值:2
秒)。
- -edl-start-pts
- 根据所播放文件的起始时间调整
EDL
记录的位置信息。某些格式,尤其是
MPEG
TS,通常起始于一个非零的当前时间标签值,并且当以
-edlout 选项生成 EDL
文件时,EDL
记录含有一些只对这个特定文件来说是正确的绝对数值。如果重新编码成另一种格式,该
EDL
文件不再适用。使用
-edl-start-pts
将自动根据起始时间调整
EDL 位置信息:当生成 EDL
文件时,每条 EDL
记录将减去起始时间值;当使用
EDL 文件播放时,每个 EDL
位置信息将加上文件的起始时间值。
- -noedl-start-pts
- 禁止调整 EDL
位置信息。
- -enqueue(仅用于图形界面)
- 将命令行中所给文件排入播放列表但不立刻播放。
- -fixed-vo
- 强制使用单个固定的视频系统用于多个文件的播放(一次初始化/终止操作用于所有文件)。这样只打开一个窗口,将用于所有文件的播放。目前以下驱动兼容
fixed-vo:gl、gl_tiled、mga、svga、x11、xmga、xv、xvidix
和 dfbmga。
- -framedrop(另见
-hardframedrop,未使用 -nocorrect-pts
时只可用于测试)
- 跳过某些帧的显示从而在运行慢的机器上保持音视频同步。视频过滤器不会应用到这些帧上。对于
B-帧来说,甚至解码也完全跳过。
- -(no)gui
- 启用或禁用图形界面(默认方式取决于可执行文件的文件名)。仅能作为命令行第一个参数起作用。无法作为配置文件选项起作用。
- -gui-include
<图形界面配置文件>(另见
-include)(仅用于图形界面)
- 指定在默认的 gui.conf
之后解析的图形界面配置文件。
- -h, -help, --help
- 显示简短的选项概要。
- -hardframedrop(未使用
-nocorrect-pts
时只可用于实验)
- 更加密集地丢帧(中断解码过程)。会导致图像失真!注意,libmpeg2
解码器尤其可能在使用该选项后崩溃,所以请考虑使用“-vc
ffmpeg12,”。
- -heartbeat-cmd
- 播放时每隔 30 秒通过
system() 调用(即通过 shell
调用)执行的命令。
注意: MPlayer
执行此命令时不加以检查,所以你有责任确保该命令不造成任何安全问题(例如,如果“.”就像在
Windows
中那样位于搜索路径中,则应确保使用完整路径)。并且该选项只有在播放视频时有效(即没有使用
-novideo;但可以使用 -vo
null)。
该选项可以“滥用”于禁用不支持规范的
X API
调用的屏幕保护程序。(另见
-stop-xscreensaver)如果觉得这太复杂了,请要求屏幕保护程序的编写者支持规范的
X API 调用。
用于 xscreensaver
的示例: mplayer -heartbeat-cmd
"xscreensaver-command -deactivate" file
用于 GNOME screensaver
的示例: mplayer -heartbeat-cmd
"gnome-screensaver-command -p" file
- -heartbeat-interval
- 指定每隔多久 -heartbeat-cmd
要执行一次,以两次执行间相隔的秒数为单位(默认值:30.0)。
- -identify
- 为 -msglevel identify=4
的简便写法。使用便于解析的格式显示文件参数。同时打印更为详细的字幕和音轨的语言与
ID
号信息。在某些情形下,使用
-msglevel identify=6
能得到更多的信息。例如,对于一张
DVD 或蓝光
DVD,该选项能列出每个标题的章节和时长,以及一个碟片
ID 号。将该选项与 -frames 0
一起使用能禁止所有视频输出。包装该选项的脚本
TOOLS/midentify.sh 能禁止 MPlayer
的其它输出,并且(顺利的话)将文件名转义为
shell
程序使用的形式。
- -idle(另见
-slave)
- 当没有文件播放时,让
MPlayer
空转运行而非退出。通常在
slave
模式下有用,能通过输入命令控制
MPlayer。
使用 gmplayer 时,-idle
是默认设置,使用 -noidle
后将在所有文件播放后退出图形界面。
- -input
<命令>
- 该选项可用于配置输入系统的某些部分。指定的路径相对于
~/.mplayer/。
注意:
自动连按功能目前只有游戏操纵杆支持。
可用的命令有:
- conf=<文件名>
- 指定输入配置文件代替默认使用的
~/.mplayer/input.conf。如果没有给出完整路径名,则使用
~/.mplayer/<文件名>。
- ar-dev=<设备>
- 用作苹果 IR
遥控器的设备(默认值是自动侦测,仅用于
Linux)。
- ar-delay
- 开始自动连按某个按键之前延迟多少毫秒(0
为禁用)。
- ar-rate
- 自动连按时每秒产生的按键次数。
- (no)default-bindings
- 使用 MPlayer
默认情况下自带的键位设置。
- keylist
- 列出所有可绑定命令的按键。
- cmdlist
- 列出所有可绑定按键的命令。
- js-dev
- 指定使用的操纵杆设备(默认值:/dev/input/js0)。
- file=<文件名>
- 从所给文件中读取命令。通常有助于与先入先出管道一同使用。
注意:
当所给文件是先入先出管道时,MPlayer
会打开两个管道两端,这样就可以重复执行‘echo
"seek 10" >
mp_pipe’而管道仍然有效。
- -key-fifo-size
<2-65000>
- 指定先入先出队列的大小供缓冲按键事件(默认值:7)。大小为
n
的先入先出队列能容纳
(n-1)
缓冲事件。如果设太小一些按键事件会丢失。如果设太大,MPlayer
在处理经缓冲的事件时可能显得像是卡住了。如果想得到同引入该选项前的
MPlayer
版本一样的行为效果,则对于
Linux 应设为 2,对于 Windows
应设为
1024。如果值设得小,则应当设置
-doubleclick-time 为 0
以禁用双击,这样双击事件就不会与其它常规的键盘事件争夺缓冲空间了。
- -lircconf
<文件名>(仅用于
LIRC)
- 指定 LIRC
的配置文件(默认值:~/.lircrc)。
- -list-properties
- 打印可用的属性列表。
- -loop
<次数>
- 重复播放电影 <次数>
遍。0
表示不断重复播放。
- 打开 OSD 菜单支持。
- 使用另外的 menu.conf。
- 将文件选择菜单的根目录更改为一个指定的位置。
示例:
- 限制文件选择菜单只能查找
/home
及其以下的目录(即不可能访问
/,但可以访问/home/user_name)。
- 文件浏览器从最近访问过的位置开始浏览,而非当前目录。
- 指定主菜单。
- 在 MPlayer
启动时显示主菜单。
- -mouse-movements
- 允许 MPlayer
接收视频输出驱动报告的指针移动事件。选择
DVD
菜单中的按钮需要该选项。支持基于
X11
的视频输出(x11、xv、xvmc等)以及
gl、gl_tiled、direct3d 和 corevideo
的视频输出
- -noar
- 关闭对于苹果 IR
遥控器的支持。
- -noconsolecontrols
- 阻止 MPlayer
读取标准输入的键盘事件。读取标准输入的数据时有用。命令行中有
-
时会自动启用该选项。有些情况下必须手动设置,比如,如果要打开
/dev/stdin
(或者系统中类似的设备),在播放列表中使用标准输入,或是打算之后通过被动命令
loadfile 或 loadlist
从标准输入读取内容。
- -nojoystick
- 关闭对于操纵杆的支持。
- -nolirc
- 关闭对于 LIRC
的支持。
- -nomouseinput
- 禁用鼠标按键的‘按/放’事件的输入(mozplayerxp
的上下文菜单需要该选项)。
- -rtc(仅用于
RTC)
- 启用 Linux RTC(实时时钟 -
/dev/rtc)用于计时。该选项每
1/1024
秒唤醒进程以校对当前时间。对于配置为桌面应用的现代
Linux
内核来说没有什么作用,因为在调用普通计时方式的
sleep
时,这些内核已经以相类似的精度唤醒进程了。
- -pausing
<0-3>(仅用于 MPlayer)
- 指定命令默认使用的暂时行为,也就是命令结后,MPlayer
是继续播放还是暂停。参见
DOCS/tech/slave.txt
以了解更多详情。
- 0
- 继续
- 1
- 暂停(pausing)
- 2
- 保持暂停 /
播放状态(pausing_keep)
- 3
- 切换暂停 /
播放状态(pausing_toggle)
- 4
- 暂停同时画面帧无步进(实验性)(pausing_keep_force)
- -playing-msg
<字符串>
- 开始播放前打印字符串。支持以下的变量替换:
- ${NAME}
- 规换为属性 NAME
的值。
- ?(NAME:TEXT)
- 仅当属性 NAME
存在时替换为 TEXT
的值。
- ?(!NAME:TEXT)
- 仅当属性 NAME
不存在时替换为 TEXT
的值。
- -playlist
<文件名>
- 根据播放列表播放文件(支持
ASX、Winamp、SMIL、或每行一个文件名的格式)。
警告:MPlayer
解析及使用播放列表文件的方式不具备防范恶意构建文件的安全性。这些文件可能触发危险行为。该隐患存在于迄今所有的
MPlayer
的版本中,但不幸的是之前未能将此情况妥善写入文档中,而且一些用户已受此误导而将
-playlist
用于不可信来源的参数。请勿将
-playlist
用于任意的因特网来源或你不信任的文件!
注意:
该选项处理为一项条目,其后的选项仅应用于该播放列表的元素。
FIXME:
需彻底解释清楚并记入文档。
- -allow-dangerous-playlist-parsing
- 该选项允许将任何文件解析为播放列表。用于例如一台服务将一个文件公告为播放列表类型的情况。仅当清楚知道所有涉及的服务器都可信任时才启用该选项。MPlayer
的播放列表处理代码设计上并不能应对恶意播放列表文件。
- -rtc-device
<设备>
- 指定 RTC 计时的设备。
- -shuffle
- 以随机顺序播放文件。
- -skin
<名称>(仅用于
GUI)
- 从默认界面外观目录
~/.mplayer/skins/ 和 /usr/local/share/mplayer/skins/
下的参数所指定名称的子目录中装载界面外观。
示例:
- -skin fittyfene
- 尝试从 ~/.mplayer/skins/fittyfene
加载,然后是
/usr/local/share/mplayer/skins/fittyfene。
- -slave(另见
-input)
- 切换到被动模式,MPlayer
运行为其他程序在后端。MPlayer
从标准输入读取以新行符(\n)分隔开的命令,而不是监听键盘事件。
注意: 参见 -input cmdlist
以查阅有哪些被动模式下的命令,以及
DOCS/tech/slave.txt
以查阅这些命令的描述。另外,该选项并非用于禁用其它的输入的,例如通过视频窗口的输入。需使用其它方法实现那种效果,例如
-input nodefault-bindings:conf=/dev/null。
- -softsleep
- 通过不断校对当前时间,而非请求内核在正确的时间点唤醒
MPlayer
来实现对于帧的计时。如果内核计时器精度不高且不能使用
RTC,该选项很有作用。代价是
CPU 消耗较高。
- -sstep
<秒数>
- 每帧后跳过 <秒数>
秒。由于仍然使用影视内容的标准帧率计算方式,所以播放加快了。因为
MPlayer
仅能定位至下一个关键帧,所以该选项可能不精确。
- -udp-ip
<ip>
- 设置 -udp-master
发送的数据包所使用的目标地址。将其设置为广播地址将允许多个被动方使用同一个广播地址与主动方同步(默认值:127.0.0.1)。
- -udp-master
- 在播放每一帧之前向
-udp-ip 的 -udp-port
端口发送数据包。该数据包指示主动方文件播放的位置。
- -udp-port
<端口号>
- 设置 -udp-master
发送的数据包使用的目标端口,以及
-udp-slave
监听的端口(默认值:23867)。
- -udp-seek-threshold
<秒数>
- 当主动方定位时,被动方必须决定是同样进行定位,还是以解码帧而非在帧间停顿的方式赶上主动方。如果主动方距离被动方已超过
<秒数>
秒,则被动方选择定位。否则,其选择赶上或等待主动方。该选项在大多数情况下应当保留为其默认的
1 秒设置。
- -udp-slave
- 监听 -udp-port
指定的端口并同步主动方播放的位置。
流分离器/媒体流选项
- -a52drc
<级别>
- 选择 AC-3
音频流的动态范围压缩(DRC)级别。<级别>
是 0 到 1
的浮点数,其中 0
表示无压缩,(默认值)1
表示完全模式的压缩(使响亮的通路变得安静并且反之亦然)。也可使用大于
2
的值,但仅供试验。该选项仅当
AC-3
流包含所需范围的压缩信息时有效果。
- -aid
<代码>(另见 -alang)
- 选择音频频道(MPEG: 0-31,
AVI/OGM: 1-99, ASF/RM: 0-127, VOB(AC-3): 128-159, VOB(LPCM): 160-191,
MPEG-TS 17-8190)。MPlayer 在 verbose (-v)
模式下会打印可用的音频代码。当播放
MPEG-TS 媒体流时,MPlayer/MEncoder
将所选的音频流用于第一个节目(如果有的话)。
- -ausid
<代码>(另见 -alang)
- 选择子音频流的频道。当前有效的取值范围为
0x55..0x75,并且当由原生流分离器(而非
libavformat)时处理时,只适用于MPEG-TS。由于媒体类型信息在媒体流中的嵌入方式有异或其在流中缺失,媒体类型可能无法正确识别,但当多个子流存在时,音频流会正确地分离出来。当使用
-identify 运行时,MPlayer
打印出可用的子流的代码。
- -alang
<语言代码[,语言代码,...]>(另见
-aid)
- 指定所使用音频语言的优先级列表。不同的容器格式使用不同的语言代码。DVDs
使用 ISO 639-1
的双字符语言代码,Matroska、MPEG-TS
和 NUT 使用 ISO 639-2
的三字符语言代码,而
OGM
使用一种灵活形式的标识代码。MPlayer
在输出详细信息模式下(-v)运行时会打印可用的语言。
示例:
- -audio-demuxer
<[+]名称>(仅用于
-audiofile)
- 强制使用某个类型的音频分离器用于
-audiofile。要强制使用一个类型就在其名称前使用“+”,这会跳过某些检查!需使用
-audio-demuxer help
所打印出来的分离器类型。由于向后兼容,也可使用
libmpdemux/demuxer.h
中定义的分离器代码。-audio-demuxer
audio 或 -audio-demuxer 17 强制使用
MP3。
- -audiofile
<文件名>
- 看电影画面时播放外部文件中的音频(WAV,
MP3 或 Ogg Vorbis)。
- -audiofile-cache
<千字节数>
- 对 -audiofile
的音频流启用缓存,使用指定大小的内存。
- -reuse-socket(仅用于
udp://)
- 允许其它进程在连接端关闭后立即将其重新利用。
- -bandwidth
<字节数>(仅用于网络)
- 指定网络流传输的最大带宽(用于服务器可以以不同带宽传送内容的情况)。有助于以慢速连接观看实时流传输的媒体的情况。对于
Real RTSP
流传输方式,也用于设置最大传送带宽以便更快地填充缓冲和读取流内容。
- -bluray-angle
<角度代码>(仅用于蓝光
DVD)
- 有些蓝光碟片包含一些可从多个角度观看的场景。这个选项可以告诉
MPlayer
使用哪个角度(默认值:1)。
- -bluray-device
<碟片路径>(仅用于蓝光
DVD)
- 指定蓝光碟片的位置。必须是一个具有蓝光
DVD 结构的目录。
- -cache
<千字节数>
- 该选项指定用多少内存(以千字节为单位)作为文件或
URL
内容的预先缓存。特别有助于播快慢的媒体。
- -nocache
- 关闭缓存。
- -cache-min
<百分比数>
- 当缓存填充到总量的
<百分比数>
时开始播放。
- -cache-seek-min
<百分比数>
- 如果定位到的位置距当前位置的距离在缓存大小的
<百分比数>
之内,那么 MPlayer
将等待缓存填存到此位置而不是执行流定位操作(默认值:50)。
- -capture(仅用于
MPlayer)
- 提供将主媒体流(不含额外的音频流或其它类型的媒体流)抓取至文件的功能。使用
-dumpfile
指定存放的文件,默认为“stream.dump”。如果使用了该选项,则可以通过按下绑定至该功能的按键来开始和停止抓取操作。(参见“交互式控制”部分)。与
-dumpstream 相同,除了 MPEG
媒体流,该选项可能产生不了可用的输出。需注意的是,由于缓存有延迟,抓取到的数据的起始和中止位置比所见到的位置靠后。
- -cdda
<选项1:选项2>(仅用于
CD 数字音频)
- 该选项用来调节 MPlayer 的
CD 音频读取功能。
可用选项有:
- -cdrom-device
<设备路径>
- 指定 CD-ROM
设备(默认值:/dev/cdrom)。
- -channels
<数量>(另见 -af
channels)
- 要求播放时使用的声道数(默认值:2)。MPlayer
要求解码器将音频解码为该选项所指定的声道数。是否实现这个要求取决于解码器。该选项通常只在播放带
AC-3 音频(比如
DVD)的视频时才显重要。在那种情况下默认使用
liba52
解码并把音频正确地混音为所要求的声道数。要直接控制输出声道数而不管解码为多少声道,需使用声道过滤器。
注意: 解码器(仅
AC-3)、过滤器(surround)和音频输出驱动(至少
OSS
可以)接受该选项。
可用选项有:
- 2
- 立体声
- 4
- 环绕立体声
- 6
- 5.1 全声道输出
- 8
- 7.1 全声道输出
- -chapter
<章节代码>[-<中止章节代码>]
- 指定从哪个章节开始播放。可同时指定播放至哪个场景中止(默认值:1)。
- -cookies(仅用于网络)
- HTTP 请求时发送 cookie。
- -cookies-file
<文件名>(仅用于网络)
- 从 <文件名> 中读取 HTTP
cookie(默认路径:~/.mozilla/ 和
~/.netscape/)并且不从默认位置读取
cookie。假定文件是 Netscape
格式。
- -delay
<秒数>
- 以秒为单位的音频延迟长度(正或负的浮点数)
负值延迟音频,而正值延迟视频。注意该选项与
MEncoder 的 -audio-delay
选项效果正好相反。
注意: 当用于 MEncoder
时,该选项并不一定能与
-ovc copy
一起正确地发挥作用;需改为使用
-audio-delay。
- -ignore-start
- 忽略 AVI
文件中指定的流起始时间。在
MPlayer
中,该选项使文件中用
-audio-delay
选项编码的媒体流的延迟无效。在编码时,该选项防止
MEncoder
将原来媒体流的起始时间写入新文件中;但是
-audio-delay
选项并不受影响。注意,MEncoder
有时会自动调整流的起始时间以补偿预计将出现的解码延迟,所以未测试之前勿使用该选项进行编码。
- -demuxer
<[+]类型名>
- 强制使用指定类型的流分离器。要强制使用该类型,就在其名称前加上“+”。这样会跳过某些检查!需使用
-demuxer help
打印出来的流分离器名称。为了向后兼容,该选项中也可使用
libmpdemux/demuxer.h
中定义的流分离器代码。
- -dumpaudio(仅用于
MPlayer)
- 将原始未压缩的音频流导出到
./stream.dump 中(对于 MPEG/AC-3
有作用,其它情况下大多数生成的文件无法播放)。如果在命令行中指定多个
-dumpaudio、-dumpvideo或-dumpstream
选项,则只有最后一个生效。
- -dumpfile
<文件名>(仅用于
MPlayer)
- 指定 MPlayer
应该导出至哪个文件。应与
-dumpaudio / -dumpvideo / -dumpstream -capture
一同使用。
- -dumpstream(仅用于
MPlayer)
- 将未处理的媒体流导出到
./stream.dump 中。有助于从 DVD
或网络上抓取内容。如果在命令行中指定多个
-dumpaudio、-dumpvideo、-dumpstream
选项,则只有最后一个生效。
- -dumpvideo(仅用于
MPlayer)
- 将原始未压缩的视频流导出到
./stream.dump
中(不是十分有用)。如果在命令行中指定多个
-dumpaudio、-dumpvideo、-dumpstream
选项,则只有最后一个生效。
- -dvbin
<若干选项>(仅用于数字视频广播)
- 将以下参数传给数字视频广播输入模块,以替换默认参数:
- card=<1-4>
- 指定使用的数字电视卡号
1-4(默认值:1)。
- file=<文件名>
- 指示 MPlayer 从 <文件名>
中读取频道列表。默认是从
~/.mplayer/channels.conf.{sat,ter,cbl,atsc}(取决于数字电视卡的类型)或是在前者都无效时从
~/.mplayer/channels.conf 读取。
- timeout=<1-240>
- 尝试调整频率时放弃调整前最大等候秒数(默认值:30)。
- -dvd-device
<设备路径>(仅用于
DVD)
- 指定 DVD 设备或 .iso
文件名(默认值:/dev/dvd)。也可以指定一个目录,其中包含之前(使用
vobcopy 之类工具)直接从
DVD 拷贝的文件。
- -dvd-speed <以
KB/s
为单位的因数或速度值>(仅用于DVD)
- 尝试限制 DVD
的传输速度(默认值:0,不作更改)。DVD的基础速率约为
1350KB/s,所以一台8倍速的驱动器能以最高
10800KB/s
的速度读取数据。速度越低驱动器工作得越安静,对于观看
DVD 影片来说,2700KB/s
应该是既安静且传输足够快了。MPlayer
在关闭时将驱动器的速度重置为默认值。数值如果小于
100 则表示 1350KB/s
的倍数,例如 -dvd-speed 8
表示选择 10800KB/s。
注意:
更改传输速度需要 DVD
设备的写入权限。
- -dvdangle
<视角代码>(仅用于
DVD)
- 有些 DVD
碟片中的场景可以从多个视角观看。通过该选项可以告诉
MPlayer
使用哪个视角(默认值:1)。
- -edl
<文件名>
- 播放时启用编辑决定列表(EDL)。根据所给文件中的条目,将跳过某段视频,音频设为静音或不静音。参见
http://www.mplayerhq.hu/DOCS/HTML/en/edl.html
以了解使用该选项的详情。
- -endpos
<[[hh:]mm:]ss[.ms]|大小[b|kb|mb]>(另见
-ss 和 -sb)
- 停止在所给时间或字节数表示的位置。
注意:
字节数表示的位置可能不精确,因为只能停在帧数据块的边界上。当与
-ss
选项组合使用时,如非以字节数指定位置,-endpos
的时间会向前平移 -ss
所指定的秒数。另外,当与任何
-dump
选项一同使用时,该选项可能无法正确或有效地起作用。
示例:
- -forceidx
- 强制重建索引。有助于索引受损(音视频不同步等)的文件。这使无法播放时定位的文件能够定位。可使用
MEncoder
永久性地修复索引(参见文档)。
注意:
该选项仅当所处理的媒体支持播放时定位时有效(即不能是:标准输入、管道等)。
- -fps
<浮点数值>
- 改写视频帧速率。有助于原始数值错误或不存在的情况。
- -frames
<数字>
- 只播放/转换最初的
<数字>
帧,然后退出。
- -hr-mp3-seek(仅用于
MP3)
- 高精度 MP3
播放定位。播放外部
MP3
文件时启用,因为此时需要定位到非常精确的位置以保持音视频同步。向后定位时可能尤其慢,因为需要绕回到开头以寻找帧的准确位置。
- 设置连接 HTTP
媒体流时使用自定义的
HTTP 字段。
示例:
-
- mplayer -http-header-fields 'Field1: value1','Field2: value2'
http://localhost:1234
将生成 HTTP 请求:
GET / HTTP/1.0
Host: localhost:1234
User-Agent: MPlayer
Icy-MetaData: 1
Field1: value1
Field2: value2
Connection: close
- -idx(另见
-forceidx)
- 在没有找到索引的情况下重建文件的索引,从而播放时能够定位。有助于下载有误/不完整的文件,或生成错误的文件。
注意:
该选项仅当原本支持播放时定位的媒体时有效(即不能是:标准输入、管道等)。
- -noidx
- 跳过重建索引文件的步骤。MEncoder
在该选项下跳过写入索引的步骤。
- -ipv4-only-proxy(仅用于网络)
- 使用 IPv6
地址时不用代理服务器。IPv4
连接仍然使用代理。
- -loadidx
<索引文件>
- 从该文件中读取 -saveidx
保存的视频索引数据。该索引用于播放时的定位,替换其它一切
AVI
本身装载的索引。MPlayer
并不防止加载产生自不同
AVI
文件的索引,但是这肯定会导致不良的结果。
注意: 由于 MPlayer
现在已经支持
OpenDML,该选项已废弃。
- -mc
<秒数/帧>
- (以秒为单位的)每帧最大的音视频同步修正量。
使用 mencoder 时,-mc 0
应当总是与 -noskip
一同使用,否则几乎必然导致音视频不同步。
- -mf
<选项1:选项2:...>
- 用于从多个 PNG 或 JPEG
文件中解码。
可用选项有:
- -ni
- 强制将文件作为非交错格式处理。特别是强制使用非交错格式的
AVI
解析器(可使某些损坏的
AVI
文件重新可以播放)。也可能有助于播放一些默认方式下交替而非同时播放音频和视频的文件。
- -nobps(仅用于
AVI)
- 不使用平均字节/秒的信息以维持音视频同步。有助于某些文件头损坏的
AVI 文件。
- -noextbased
- 禁止基于扩展名选择流分离器。默认情况下,当无法可靠检测文件类型(流分离器)时(文件没有头部数据或者该数据不可靠),将使用文件扩展名以选择流分离器。使用该选项后,总是以备选的基于内容方式选择流分离器。
- -passwd
<密码>(另见 -user
选项)(仅用于网络)
- 设置 http 认证密码。
- -prefer-ipv4(仅用于网络)
- 使用 IPv4
连接网络。失败时自动使用
IPv6 作为备用协用。
- -prefer-ipv6(仅用于
IPv6 网络)
- 使用 IPv6
连接网络。失败时自动使用
IPv4 作为备用协议。
- -psprobe
<以字节计量的位置>
- 当播放 MPEG-PS 或 MPEG-PES
流时,该选项用以设定希望
MPlayer
扫描多少字节以确认所要使用的视频编解码器。播放含有
H.264 流的 EVO 或 VDR
文件时需要该选项。
- -pvr
<选项1:选项2:...>(仅用于
PVR)
- 该选项调整 PVR
捕捉模块的各种编码属性。必须与
V4L2 驱动支持的 MPEG
硬编码卡一起使用。Hauppauge
WinTV PVR-150/250/350/500 和所有基于 IVTV
的卡据悉是 PVR
捕捉卡。注意只有 Linux
2.6.18
及以上的内核能通过
V4L2 层处理 MPEG
流。要硬件捕捉 MPEG
流并使用 MPlayer/MEncoder
来观看其内容,使用“pvr://”作为影视内容的
URL 地址。
可用选项有:
- -radio
<选项1:选项2:...>(仅用于无线电广播)
- 这些选项用以设置无线电捕捉模块的各种参数。要用
MPlayer
收听电台需使用‘radio://<频率>’(如果不提供频道选项)或‘radio://<频道号>’(如果提供频道选项)作为
URL。可通过使用‘-v’选项运行
MPlayer
查看可行的频率范围。要启动捕捉子系统,则使用‘radio://<频率或频道>/capture’。如果不使用关键字
capture,则可以只使用有线方式收听电台。由于同步问题,不推荐使用
capture
来收听电台,这会使效果不佳。
可用选项有:
- -rawaudio
<选项1:选项2:...>
- 该选项用于播放未经处理的音频文件。必须同时使用
-demuxer
rawaudio。也可用于播放非
44kHz 16-位 立体声的音频
CD。要播放未经处理的
AC-3 流要使用 -rawaudio format=0x2000 -demuxer
rawaudio。
可用选项有:
- -rawvideo
<选项1:选项2:...>
- 该选项用于播放未经处理的视频文件。必须同时使用
-demuxer rawvideo。
可用的选项有:
示例:
- -referrer
<字符串>(仅用于网络)
- 指定 HTTP
请求引用页面的路径或
URL。
- -rtsp-port
- 与“rtsp://”的 URL
地址一起使用,以强制指定客户端端口号。该选项有助于本机位于路由器下的子网,但希望将
RTSP
流从服务器转发至一台特定的客户端的情况。
- -rtsp-destination
- 与“rtsp://”的 URL
地址一起使用,以强制指定所绑定的目标
IP
地址。该选项有助于某些不能将
RTP
包发送至正确接口的
RTSP 服务器。如果连接 RTSP
服务器失败,可使用
-v 查看 MPlayer
在尝试绑定哪个 IP
地址,然后强制使用分配到本地上的那个地址。
- -rtsp-stream-over-tcp(仅用于
LIVE555 和 NEMESI)
- 与“rtsp://”的 URL
地址一起使用,以指定通过
TCP
流传输生成的流入的
RTP 和 RTCP 包(使用与 RTSP
相同的 TCP
连接)。该选项可能有助于因特网连接损坏而无法传递流入的
UDP 包的情况(参见
http://www.live555.com/mplayer/)。
- -rtsp-stream-over-http(仅用于
LIVE555)
- 与‘http://’形式的 URL
一同使用,用以指定生成的
RTP 和 RTCP 输入包通过 HTTP
协议传送。
- -saveidx
<文件名>
- 强制重建索引并导出到
<文件名>。目前只对
AVI 文件有效。
注意: 由于 MPlayer
已经支持
OpenDML,该选项已废弃。
- -sb
<以字节计量的位置>(另见
-ss)
- 定位到以字节计量的一个位置。有助于播放
CD-ROM 镜像或 VOB
文件时开始部分是垃圾数据的情况。
- -speed
<0.01-100>
- 以所给的参数因子减慢或加快播放速度。与
-oac copy
一起使用时不能保证正常起作用。添加
-af scaletempo
参数可以在播放时突破
4 倍速度限制。
- -srate
<Hz>
- 选择要使用的输出采样率(当然,声卡对此有限制)。如果所选采样频率与当前媒体的不同,则会在音频过滤器层中插入音频过滤器
resample 或 lavcresample
以补偿该差异。重采样的类型可由
-af-adv
选项控制。默认方式为快速重采样,可能引起失真。
- -ss
<时间点>(另见
-sb)
- 定位到所给时间的位置。要禁止定位操作,需使用
-ss nopts ,-ss 0
的行为并非所愿。
示例:
- -tskeepbroken
- 告诉 MPlayer
不要丢弃数据流中报告为损坏的
TS
包。有时需要该选项以播放已损坏的
MPEG-TS 文件。
- -tsprobe
<以字节计的位置>
- 播放 MPEG-TS
流时,该选项用于指定在数据流中多少字节的位置需要
MPlayer
搜索所要的音频和视频的代码。
- -tsprog
<1-65534>
- 播放 MPEG-TS
流时,可用该选项指定要播放哪个节目(如果存在的话)。可与
-vid 及 -aid 一起使用。
- -tv
<选项1:选项2:...>(仅用于
TV/PVR)
- 该选项调整电视信号捕捉模块的各种属性。要用
MPlayer
收看电视,使用‘tv://’或‘tv://<频道号>’乃至‘tv://<频道名>’(参见下文的
channels
选项以了解频道名)作为影视的
URL
地址。也可使用‘tv:///<输入源代码>’观看来自
AV 端子或 S
端子输入源的影视内容(参见
input 选项了解详情)。
可用选项有:
- noaudio
- 没有声音
- automute=<0-255>(仅用于v4l和v4l2)
- 如果设备报告的信号强度小于这个值,那么音频和视频将静音。大多数情况下
automute=100
就足够用了。默认值为0(禁用
automute)。
- driver=<参数值>
- 参见 -tv driver=help
以了解内置电视输入驱动的列表。可用值:dummy,
v4l,
bsdbt848(默认值:自动检测)
- device=<参数值>
- 指定电视设备(默认值:/dev/video0)。
注意: 对于 bsdbt848
驱动,可以同时给出
bktr
和调谐器设备的名称,使用逗号分隔两者,其中调谐器在
bktr 设备之后(例如:-tv
device=/dev/bktr1,/dev/tuner1)。
- input=<参数值>
- 指定输入源(默认值:0(电视),参见控制屏幕输出了解可用的输入源列表)。
- freq=<参数值>
- 指定调谐器需设置的频率(例如:511.250)。与
channels 参数不兼容。
- outfmt=<参数值>
- 使用 V4L
驱动支持的预设值(yv12,
rgb32, rgb24, rgb16, rgb15, uyvy, yuy2,
i420)或以任意的 16
进制格式,指定调谐器的输出格式。可尝试
outfmt=help
以了解所有可用格式的列表。
- width=<参数值>
- 输出窗口的宽度
- height=<参数值>
- 输出窗口的高度
- fps=<参数值>
- 捕捉视频信号所用的帧速率(帧每秒)
- buffersize=<参数值>
- 以兆字节为单位的捕捉缓冲区的最大尺寸(默认值:动态调整)
- norm=<参数值>
- bsdbt848 和 v4l 可使用
PAL、SECAM、NTSC。对于
v4l2,参见控制屏幕输出以了解所有可用制式列表,另参看下面的
normid 选项。
- normid=<参数值>(仅用于
v4l2)
- 设置电视制式为所给的数字代码。电视制式取决于信号捕捉卡。参见控制屏幕输出以了解可用电视制式列表。
- channel=<参数值>
- 设置调谐器至
<参数值> 频道。
- chanlist=<参数值>
- 可用值:argentina, australia, china-bcast,
europe-east, europe-west, france, ireland, italy, japan-bcast,
japan-cable, newzealand, russia, southafrica, us-bcast, us-cable,
us-cable-hrc
- channels=<频道>-<名称>,<频道>-<名称>,...
- 设置频道的名称。
注意: 如果 <频道>
是一个大于 1000
的整数,将看作为(以
kHz
为单位的)频率而非频率表中的频道名。
名称中使用 _
代替空格(或使用引号
;-))。频道名称将显示在
OSD 中,而被动命令
tv_step_channel、tv_set_channel 及 tv_last_channel
有用于遥控器的使用(参见
LIRC)。
与频率参数不兼容。
注意:
频道号就将是‘channels’列表中从
1
开始计数的位置序号。
示例: tv://1, tv://TV1, tv_set_channel 1,
tv_set_channel TV1
- [brightness|contrast|hue|saturation]=<-100-100>
- 设置电视卡的图像均衡器。
- audiorate=<参数值>
- 设置输入音频的采样率。
- forceaudio
- 即使 v4l
报告没有音频源也捕捉音频信号。
- alsa
- 从 ALSA 捕捉信号。
- amode=<0-3>
- 选择音频模式:
0:单声道
1:立体声
2:语言 1
3:语言 2
- forcechan=<1-2>
- 默认方式下,音频声道数通过查询电视卡的音频模式而自动决定。该选项能强制使用立体声/单声道录制模式,而无视
amode 选项和 v4l
返回的值。在电视卡无法报告当前音频模式时,可以用该选项排查故障原因。
- adevice=<参数值>
- 设置音频设备。对于
OSS,<参数值> 应当是
/dev/xxx;对于ALSA,则应当是硬件代码。ALSA
的硬件代码中须将‘:’替换为‘.’。
- audioid=<参数值>
- 如果信号捕捉卡有不止一个音频输出端,选择其中的一个。
- [volume|bass|treble|balance]=<0-65535>(v4l1)
- [volume|bass|treble|balance]=<0-100>(v4l2)
- 这些选项用来设置视频捕捉卡上的混音器参数。如果卡上没有混音器,则这些选项没有任何作用。对于
v4l2,50
映射至驱动报告的控制默认值。
- gain=<0-100>(仅用于v4l2)
- 将视频设备(通常是网络摄像头)的增益控制设置为所要的值,并且关闭自动控制模式。值为
0
启用自动控制模式。如果不使用这个选项,将不修改增益控制模式。
- immediatemode=<布尔值>
- 值为 0
表示同时捕捉并缓冲音频和视频(MEncoder
的默认方式)。值为
1(MPlayer
的默认方式)表示只捕捉视频,而让音频通过回路电缆由电视卡输出至声卡。
- mjpeg
- 使用硬件级 MJPEG
压缩(如果芯片支持的话)。使用该选项时,不需要指定输出窗口的宽度和高度,因为
MPlayer 会根据 decimation
参数(见下文)自动确定。
- decimation=<1|2|4>
- 选择硬件级 MJPEG
压缩所要压缩画面的尺寸:
1:全尺寸
704x576 PAL
704x480 NTSC
2:中等尺寸
352x288 PAL
352x240 NTSC
4:小尺寸
176x144 PAL
176x120 NTSC
- quality=<0-100>
- 选择 JPEG
压缩的质量(全尺寸推荐值
< 60)。
- tdevice=<参数值>
- 指定图文电视设备(示例:/dev/vbi0)(默认值:无设备)。
- tformat=<格式>
- 指定图文电视的显示格式(默认值:0):
0:不透明
1:透明
2:不透明且反色
3:透明且反色
- tpage=<100-899>
- 指定图文电视的初始页面号(默认值:100)。
- tlang=<-1-127>
- 设置图文电视的默认语言代码(默认值:0),该值将作为首选语言,直至收到一个类型
28
的数据包。适用于图文电视系统使用非拉丁字符集,但语言代码因为某些原因并非通过图文电视的类型
28
数据包传输的情况。要查看支持的语言代码列表,将该选项设为
-1。
- hidden_video_renderer(仅用于
dshow)
- 使用视频渲染器终止媒体流,而非使用
Null
渲染器(默认值:关闭)。有助于视频停滞但音频没有停的情况。
注意: 可能在与 -vo
directx 和 -vf crop
一起使用时无法起作用。
- hidden_vp_renderer(仅用于
dshow)
- 使用视频渲染器终止
VideoPort
端媒体流,而非将其从流程图中移除(默认值:关闭)。有助于电视卡有
VideoPort
端口,而视频有拖延的情况。
注意: 可能在与 -vo
directx 和 -vf crop
一起使用时无法起作用。
- system_clock(仅用于
dshow)
- 使用系统时钟作为同步信号来源,而非以默认方式使用流程图中的时钟(通常是流程图中某个实时数据源的时钟)。
- normalize_audio_chunks(仅用于
dshow)
- 创建的音频数据块具有与视频帧相同的时间长度(默认值:关闭)。某些音频卡创建的音频数据块大小约为
0.5 秒,这导致使用
immediatemode=0
时视频有拖延。
- -tvscan
<选项1:选项2:...>(仅用于电视播放及
MPlayer 中)
- 调整电视频道扫描器。MPlayer
将同时打印“-tv
channels=”选项中的值,包括已有的以及刚找到的频道。
可用子选项有:
- -user
<用户名>(另见
-passwd)(仅用于网络)
- 指定 HTTP
认证的用户名。
- -user-agent
<字符串>
- 使用 <字符串> 作为 HTTP
流的 user agent 值。
- -vid
<代码>
- 选择视频频道(MPG:0-15,ASF:0-255,MPEG-TS:17-8190)。当播放
MPEG-TS 流时,MPlayer/MEncoder
将播放所选视频流的第一个节目(如果存在的话)。
- -vivo
<子选项>(用于调试代码)
- 强制设置 VIVO
流分离器的音频参数(用于调试目的)。FIXME:
Document this.
注意: 另见 -vf
expand。
- -ass(仅用于
FreeType)
- 打开 SSA/ASS
字幕渲染功能。指定了该选项后,将使用
libass 播放 SSA/ASS 外部字幕和
Matroska
字幕轨道。可能也需要使用
-embeddedfonts。
注意: 不像通常的 OSD
界面,libass 默认使用
fontconfig。要禁用此行为,使用
-nofontconfig。
- -ass-border-color
<参数值>
- 设置文字字幕边线(轮廓)的颜色。颜色格式是
RRGGBBAA。
- -ass-bottom-margin
<参数值>
- 在帧画面底部添加黑色条状区域。SSA/ASS
渲染器能在那里放置字幕(与
-ass-use-margins 组合使用)。
- -ass-color
<参数值>
- 设置文字字幕的颜色。颜色格式是
RRGGBBAA。
- -ass-font-scale
<参数值>
- 设置用于 SSA/ASS
渲染器中字体的缩放系数。
- -ass-force-style
<[样式.]参数=参数值[,...]>
- 改写样式或脚本信息的参数。
示例:
-ass-force-style FontName=Arial,Default.Bold=1
-ass-force-style PlayResY=768
- -ass-hinting
<类型>
- 设置微调类型。
<类型> 可以是:
- 0
- 无微调。
- 1
- FreeType
自动微调器,轻量模式。
- 2
- FreeType
自动微调器,普通模式。
- 3
- 字体内置微调。
- 0-3
- 相同,但微调只有当
OSD
以全屏方式渲染并因此不会缩放时才会使用。
默认值为 7(当 OSD
不缩放时使用内置微调器,否则无微调)。
- -ass-line-spacing
<参数值>
- 为 SSA/ASS
渲染器设置行间隔值。
- -ass-styles
<文件名>
- 装载指定文件中找到的所有
SSA/ASS
样式,并将其用于渲染文字字幕。文件内容的语法须与
SSA/ASS 中的 [V4 Styles] / [V4+ Styles]
一节所记述的完全一致。
- -ass-top-margin
<参数值>
- 在帧画面顶部添加黑色条状区域。SSA/ASS
渲染器能在那里放置字幕(与
-ass-use-margins 组合使用)。
- -ass-use-margins
- 启用存在字幕时将其放置在黑色条状区域的模式。
- -dumpjacosub(仅用于
MPlayer)
- 将所给(由 -sub
选项指定)的字幕转换为基于时间的
JACOsub
字幕格式。在当前的目录中创建
dumpsub.js 文件。
- -dumpmicrodvdsub(仅用于
MPlayer)
- 将所给(由 -sub
选项指定)的字幕转换为
MicroDVD
字幕格式。在当前的目录中创建
dumpsub.sub 文件。
- -dumpmpsub(仅用于
MPlayer)
- 将所给(由 -sub
选项指定)的字幕转换为
MPlayer
的字幕格式,MPsub。在当前的目录中创建
dumpsub.mpsub 文件。
- -dumpsami(仅用于
MPlayer)
- 将所给(由 -sub
选项指定)的字幕转换为基于时间的
SAMI
字幕格式。在当前的目录中创建
dumpsub.smi 文件。
- -dumpsrtsub(仅用于
MPlayer)
- 将所给(由 -sub
选项指定)的字幕转换为基于时间的
SubViewer(SRT)字幕格式。在当前的目录中创建
dumpsub.srt 文件。
注意:
有些不良的硬件播放器遇到使用
Unix 式的行结尾字符的 SRT
字幕会出现故障。如果碰巧使用的是这样的机器,则可使用
unix2dos
或类似的程序处理一下字幕文件,以将
Unix 式的行结尾替换为
DOS/Windows 式的行结尾。
- -dumpsub(仅用于
MPlayer)(用于公测的代码)
- 从 VOB
流中导出字幕子数据流。另见
-dump*sub 和 -vobsubout* 选项。
- -embeddedfonts(仅用于
FreeType)
- 启用抽取 Matroska
内嵌字体的操作(默认值:禁用)。这些字体可用于
SSA/ASS 字幕的渲染(-ass
选项)。字体文件创建在
~/.mplayer/fonts 目录中。
注意: 使用 FontConfig 2.4.2
或更新的版本时,内嵌字体直接在内存中打开,而这个选项默认启用。
- -ffactor
<数字>
- 对字体的 alphamap
(透明区域映射表)重新采样。可设为:
- 0
- 纯白字体
- 0.75
- 非常细的黑色边框(默认值)
- 1
- 细黑边框
- 10
- 粗黑边框
- -flip-hebrew(仅用于
FriBiDi)
- 开启使用 FriBiDi
翻转字幕的模式。
- -noflip-hebrew-commas
- 改变 FriBiDi
对于字幕中逗号摆放位置的预测方式。如果字幕中的逗号显示在句首而非句尾,就使用该选项。
- -font <font.desc
文件的路径,字体的路径(FreeType),字体样式(Fontconfig)>
- 在别的目录中寻找
OSD/字幕的字体(普通字体的默认路径为:~/.mplayer/font/font.desc,FreeType
字体的默认路径为:~/.mplayer/subfont.ttf,Fontconfig
的默认字体:“sans-serif”)。
注意: 使用 FreeType
时,该选项决定了文本字体文件的路径。使用
Fontconfig
时,该选项决定了
Fontconfig 的字体名称。
示例:
-font ~/.mplayer/arial-14/font.desc
-font ~/.mplayer/arialuni.ttf
-font 'Bitstream Vera Sans'
-font 'Bitstream Vera Sans:style=Bold'
- -fontconfig(仅用于
fontconfig)
- 启用 fontconfig
管理字体(默认值:自动侦测)。
注意:
默认情况下,fontconfig
用于 libass
渲染的字幕,而不用于
OSD 界面。使用 -fontconfig
后,则将 fontconfig
同时用于 libass 和
OSD;使用 -nofontconfig
后,则完全不使用
fontconfig,也就是说只有这时,-font
与 -subfont
选项中可以指定字体的路径。
- -forcedsubsonly
- 仅显示强制使用的 DVD
字幕流的字幕,例如由
-slang
选择的那些字幕。
- -fribidi-charset
<字符集名称>(仅用于
FriBiDi)
- 当编码非 UTF-8
字幕时,指定传给 FriBiDi
模块的数据的字符集。(默认值:ISO8859-8)
- -ifo <VOBsub 的 IFO
文件>
- 指定用于装载 VOBsub
字幕的调色板和帧画面尺寸的文件。
- -noautosub
- 关闭自动载入字幕文件的行为。
- -osd-duration
<时间>
- 以毫秒为单位设置 OSD
信息的停留时间(默认值:1000)。
- -osd-fractions
<0-2>
- 设置 OSD
中当前时间标签中秒数的小数部分如何显示:
- 0
- 不显示小数部分(默认行为)。
- 1
- 显示头两位十进制数字。
- 2
- 显示当前所在秒内大致的帧计数值。该帧计数值并不精确而只是一个近似值。在可变帧数编码的情况下,经验表明这个近似值远远偏离实际的帧计数值。
- -osdlevel
<0-3>(仅用于 MPlayer)
- 指定 OSD 的启始模式。
- 0
- 只有字幕
- 1
- 音量 +
定位条(默认行为)
- 2
- 音量 + 定位条 + 计时器 +
百分比进度
- 3
- 音量 + 定位条 + 计时器 +
百分比进度 +
总时间长度
- -overlapsub
- 允许当前有字幕显示仍显示下一个字幕(默认方式是只在使用特定字幕格式时启用该项支持)。
- -progbar-align
<0-100>
- 指定播放进度条垂直方向放置方式(0:置顶,100:置底,默认值为
50,即居中)。
- -sid
<代码>(也请参见
-slang、-vobsubid)
- 显示由
<代码>(0-31)指定的字幕流。MPlayer
以详细输出模式(-v)运行时,会打印可用的字幕代码。如果无法选用
DVD
中的某个字幕,也可尝试
-vobsubid。
- -nosub
- 禁用所有默认情况下自动选择的内部字幕(就像
Matroska/mkv
之类的流分离器所支持的那样)。要使用
-noautosub
以禁止自动加载外部字幕文件。
- -slang
<语言代码[,语言代码,...]>(另见
-sid)
- 指定所使用字幕语言的优先级列表。不同的容器格式使用不同的语言代码。DVD
使用 ISO 639-1
的双字符语言代码,Matroska
使用 ISO 639-2
的三字符语言代码,而
OGM
使用一种不限制形式的标识代码。MPlayer
以详细输出模式(-v)运行时会打印可用的语言。
示例:
- -spuaa
<模式>
- DVD/VOBsub
的抗锯齿/缩放模式。即使原始帧与缩放帧的画面尺寸已匹配,也可在
<模式> 数值上增加 16
以强制执行缩放。该选项可用于进行诸如利用高斯模糊平滑字幕的操作。可用模式有:
- 0
- 不处理(运行最快,视觉效果很差)
- 1
- 近似模式(该模式已失效?)
- 2
- 完全模式(运行慢)
- 3
- 双重线性模式(默认值,运行快且效果不算太差)
- 4
- 使用软件缩放器的高斯模糊模式(视觉效果很好)
- -spualign
<-1-2>
- 指定
SPU(DVD/VOBsub)字幕的对齐方式。
- -1
- 置于原本的位置。
- 0
- 顶部对齐(原本的方式,默认值)。
- 1
- 中部对齐。
- 2
- 底部对齐。
- -spugauss
<0.0-3.0>
- 用于 -spuaa 4
高斯模糊的方差参数。值越高意味着越模糊(默认值:1.0)。
- -sub
<字幕文件1,字幕文件2,...>
- 使用/显示所指定的字幕文件。同一时间只能显示一个文件。
- -sub-bg-alpha
<0-255>
- 指定字幕和 OSD 背景的
alpha
通道值。值越大代表越透明。0
表示完全透明。
- -sub-bg-color
<0-255>
- 指定字幕和 OSD
背景的颜色值。目前字幕是灰度图像,所以这个值相当于颜色的亮度。255
代表白色,0
代表黑色。
- -sub-demuxer
<[+]名称>(仅用于
-subfile)(用于公测的代码)
- 强制指定 -subfile
的字幕流分离器类型。在名称前使用‘+’强制使用该类型,这将跳过某些检查!需使用
-sub-demuxer help
所打印出来的分离器名称。为了向后兼容,也可识别
subreader.h
中定义的分离器代码。
- -sub-fuzziness
<模式>
- 调整搜索字幕时模糊匹配的程度:
- 0
- 精确匹配(默认方式)
- 1
- 加载所有包含影片名称的字幕。
- 2
- 加载当前目录以及
-sub-paths
目录中的所有字幕。
- -sub-no-text-pp
- 禁用载入字幕后执行的任何形式的文字后期处理操作。可用于调试目的。
- -subalign
<0-2>
- 指定字幕的哪个边缘对齐至
-subpos
所给高度值指示的位置。
- 0
- 对准顶部(原本的方式)。
- 1
- 对准中部。
- 2
- 对准底部(默认方式)。
- -subcc
<1-8>
- 显示来自指定通道的
DVD 可隐藏字幕(DVD Closed
Caption)。值 5 至 8
用以选择从 EIA-708
数据中抽取兼容 EIA-608
数据流的一种模式。这些字幕
不 是 VOB
字幕,而是为听力有障碍的人准备的特殊的
ASCII
字幕,编码在大多数 1
区 DVD 的 VOB
用户数据流中。可隐藏字幕到目前为止还未出现在其它区的
DVD 中。
- -subcp
<编码页>(仅用于
iconv)
- 如果系统支持
iconv(3),可使用该选项指定字幕的编码页。其优先级高于
-utf8 和 -unicode 选项。
示例:
-subcp latin2
-subcp cp1250
- -subcp
enca:<语言>:<备用编码页>(仅用于
ENCA)
- 可使用双字符语言代码指定语言,让
ENCA
自动检测编码页。如果不确定用哪个参数,可随便输入点什么,然后查看
mplayer -v
输出的可用语言。备用编码页指定自动检测失败时使用的编码页。
示例:
- -sub-paths
<路径1,路径2,...>
- 指定媒体文件目录中额外需要跟踪的字幕路径。
示例:
假设播放
/path/to/movie/movie.avi,并且指定了
-sub-paths sub,subtitles,/tmp/subs,那么 MPlayer
将在这些目录下搜索字幕文件:
/path/to/movie/
/path/to/movie/sub/
/path/to/movie/subtitles/
/tmp/subs/
~/.mplayer/sub/
- -subdelay
<秒数>
- 字幕延迟 <秒数>
秒。可以是负数。
- -subfile
<文件名>(用于公测的代码)
- 目前没有作用。作用与
-audiofile
一样,但用于字幕流(OggDS?)。
- -subfont
<字体路径(FreeType),字体样式(Fontconfig)>(仅用于
FreeType 字体)
- 设置字幕字体(参见
-font)。如果没有给出
-subfont,则使用 -font。
- -subfont-autoscale
<0-3>(仅用于 FreeType)
- 设置自动缩放的模式。
注意: 0 表示文本和
OSD
的尺度为以点为单位的字体高度。
可用模式有:
- 0
- 不自动缩放
- 1
- 与影片高度成正比
- 2
- 与影片宽度成正比
- 3
- 与影片对角线长成正比(默认值)
- -subfont-blur
<0-8>(仅用于 FreeType)
- 设置字体模糊化半径(默认值:2)。
- -subfont-encoding
<参数值>
- 设置字幕编码方式。当设为‘unicode’时,将渲染字体文件中的所有字形,并使用
unicode
编码(默认值:unicode)。(没有使用
FreeType
字体时,设为‘unicode’以外的值将禁用
font.desc 文件的 unicode
字形渲染。使用 FreeType
并且设为‘unicode’以外的值时,系统必须支持support
iconv(3)
以使用该选项可正常工作。)
- -subfont-osd-scale
<0-100>(仅用于 FreeType)
- 设置 OSD
元素的自动缩放系数(默认值:6)。
- -subfont-outline
<0-8>(仅用于 FreeType)
- 设置字体轮廓的粗细(默认值:2)。
- -subfont-text-scale
<0-100>(仅用于 FreeType)
- 以屏幕尺寸的百分比为数值,设置字幕文本的自动缩放系数(默认值:5)。
- -subfps
<速率>
- 指定字幕文件的帧率(默认值:影片的帧率)。
注意: <速率>
大于电影的帧率时,将使基于帧的字幕文件加速播放字幕,而使基于时间的字幕文件减慢播放字幕。
- -subpos
<0-150>(有助于与 -vf expand
一同使用)
- 指定字幕在屏幕上显示的位置。参数值是以屏幕高度的百分比为单位的字幕垂直位置。值大于
100
时将截断部分字幕的显示。
- -subwidth
<10-100>
- 指定字幕在屏幕上显示的最大宽度。有助于使用电视输出的情况。参数值是以屏幕宽度的百分比为单位的字幕宽度。
- -noterm-osd
- 当没有可用的视频输出时,停止在控制屏幕上显示
OSD 消息。
- -term-osd-esc
<转义字符序列>
- 指定在控制屏幕上显示
OSD
信息之前使用的转义字符序列。转义字符序列应当将光标移至用于
OSD
显示的那行之首并清空该行(默认值:^[[A\r^[[K)。
- -unicode
- 告诉 MPlayer
将字幕文件作为 unicode
文本处理。(只有当
-subcp 和 -utf8
都未使用时,该选项才可生效)
- -unrarexec
<unrar
可执行文件的路径>(MingW
平台上不支持。)
- 指定 unrar
可执行文件的路径,以使
MPlayer 可以使用其读取 RAR
压缩的 VOBSub
文件(默认值:未设置路径,因此该功能关闭)。该路径必须包含可执行文件的文件名,例如
/usr/local/bin/unrar。
- -utf8
- 告诉 MPlayer
将字幕文件作为 UTF-8
文本来处理。(只有当
-subcp
未指定时该选项才生效,并且其优先级高于
-unicode。)
- -vobsub
<无后缀名的 VOBsub
文件名>
- 指定用作字幕的 VOBsub
文件。必须是无后缀名的完整路径,即没有‘.idx’、‘.ifo’及‘.sub’。
- -vobsubid
<0-31>
- 指定 VOBsub 字幕代码。
音频输出驱动(仅用于
MPLAYER)
音频输出驱动是各种音频输出设备的接口。使用语法是:
- -ao
<驱动1[:子选项1[=参数值]:...],驱动2,...[,]>
- 指定所使用音频输出驱动的优先级列表。
如果列表末尾有‘,’,则
MPlayer
会使用未列出的驱动作为后备。子选项不是必需的,大多数可省略。
注意: 参见 -ao help
以了解编译时已包含的音频输出驱动的列表。
示例:
可用音频输出驱动有:
- alsa
- ALSA 0.9/1.x 音频输出驱动
- noblock
- 设置非阻塞模式。
- device=<设备>
- 设置设备名称。需将
ALSA
设备名称中的‘,’替换为‘.’,‘:’替换为‘=’。通过
S/PDIF 输出 hwac3
时,需使用“iec958”或“spdif”设备,除非对于如何正确设置有把握。
- oss
- OSS 音频输出驱动
- <dsp-device>
- 设置音频输出设备(默认值:/dev/dsp)。
- <mixer-device>
- 设置音频混音设备(默认值:/dev/mixer)。
- <mixer-channel>
- 设置音频混音通道(默认值:pcm)。
- sdl(仅用于
SDL)
- 高度独立于平台的
SDL(Simple Directmedia
Layer)库的音频输出驱动
- <driver>
- 明确指定所使用的 SDL
音频驱动(默认方式:让
SDL 选择)。
- arts
- 通过 aRts
守护进程的音频输出
- esd
- 通过 ESD
守护进程的音频输出
- <server>
- 明确指定 ESD
服务器(默认值:localhost)。
- jack
- 通过 JACK(Jack
音频连接组件)的音频输出
- (no)connect
- 自动创建至输出端口的连接(默认值:启用)。当启用时,输出信道的数量最大限制为可用的输出端口数量。
- port=<名称>
- 连接至所给名称的端口(默认值:物理端口)。
- name=<客户端名称>
- 将客户端名传递给
JACK(默认值:MPlayer
[<进程代码>])。有助于希望自动建立某些连接的情况。
- (no)estimate
- 估算音频延迟,这应当能让视频播放更流畅(默认值:启用)。
- (no)autostart
- 当有需要时自动启动
jackd(默认值:禁用)。注意该选项似乎不可靠,并且会往标准输出发送服务端消息。
- nas
- 通过 NAS 的音频输出
- coreaudio(仅用于
Mac OS X)
- Mac OS X
自带的音频输出驱动
- openal
- 实验性的 OpenAL
音频输出驱动
- pulse
- PulseAudio 音频输出驱动
- [<主机>[:<输出目标>[:broken_pause]]]
- 指定所使用的主机,并可指定所使用的输出泄漏值。<主机>
字符串为空的话,则使用本地连接。指定“localhost”则使用网络传输(很可能并非所希望的方式)。还可以明确表明强制使用变通逻辑,以修复存在故障的暂停功能(broken_pause)。(默认值:自动侦测)。如果只需要启用该功能而不指定主机/输出目标,则形式为
-ao pulse:::broken_pause。
- sgi(仅用于
SGI)
- SGI
自带的音频输出驱动
- <输出设备名>
- 明确指定所使用的音频输出设备/接口(默认值:系统范围的默认值)。例如:“Analog
Out”或“Digital Out”。
- sun (仅用于
Sun)
- Sun
自带的音频输出驱动
- <设备>
- 明确指定所使用的音频设备(默认值:/dev/audio)。
- win32(仅用于
Windows)
- Windows
自带的波形输出音频输出驱动
- dsound(仅用于
Windows)
- DirectX DirectSound 音频输出驱动
- kai(仅用于
OS/2)
- OS/2 KAI 音频输出驱动
- uniaud
- 强制使用 UNIAUD 模式。
- dart
- 强制使用 DART 模式。
- (no)share
- 以共享或独占模式打开音频。
- bufsize=<大小>
- 设置缓冲大小为
<大小>,以采样数为单位(默认值:2048)。
- dart(仅用于 OS/2)
- OS/2 DART 音频输出驱动
- (no)share
- 以共享或独占模式打开
DART 输出。
- bufsize=<大小>
- 将缓冲大小设为
<大小>,单位为采样数(默认值:2048)。
- dxr2(另见
-dxr2)(仅用于 DXR2)
- Creative DXR2
专用的输出驱动
- ivtv(仅用于
IVTV)
- IVTV 专用的 MPEG
音频输出驱动。仅与
-ac hwmpa 一同起作用。
- v4l2(需要
Linux 2.6.22+ 的内核)
- 用于带有硬件 MPEG
解码器的 V4L2
卡的音频输出驱动。
- mpegpes(仅用于数字视频广播)
- 用于数字视频广播卡的音频输出驱动;如果没安装数字视频广播卡,则写入至
MPEG-PES 文件中。
- null
- 不产生音频输出但保持视频播放的速度。要基准测试则使用
-nosound。
- pcm
- 写入未经处理的
PCM/波表文件的音频输出
- (no)waveheader
- 包括或不包括波表头部数据(默认值:包括)。如果不包括,则生成未经处理的
PCM 数据。
- file=<文件名>
- 将声音到 <文件名>
中而非默认的
audiodump.wav。如果未指定
nowaveheader,默认输入是
audiodump.pcm。
- fast
- 尝试比实时更快地导出数据。需确保输出不被截断(通常是因为“缓冲中视频包太多”消息)。收到“你的系统运行太“慢”,无法播放!”消息是正常现象。
- plugin
- 插件音频输出驱动
视频输出选项(仅用于MPLAYER)
- -adapter
<参数值>
- 设置用于接受图像的显卡。使用
-v
运行该选项可得到可用卡的列表。目前只能与
directx
视频输出驱动一同起作用。
- -bpp
<色彩深度>
- 改写自动检测到的色彩深度。只有
fbdev、dga、svga、vesa
视频输出驱动支持。
- -border
- 播放影片时使用窗口边框和装饰效果。因为默认启用该选项,所以需使用
-noborder
禁用标准的窗口装饰效果。
- -brightness
<-100-100>
- 调整视频信号的亮度(默认值:0)。不是所有的视频输出驱动都支持。
- -contrast
<-100-100>
- 调整视频信号的对比度(默认值:0)。不是所有的视频输出驱动都支持。
- -display
<名称>(仅用于
X11)
- 指定希望用于显示的 X
server
的主机名和显示端号。
示例:
-display xtest.localdomain:0
- -dr
- 开启直接渲染功能(不是所有的编解码器和视频输出都支持)在一系统上这能显著加快位块传输的速度,但在大多数情况下差异非常小。在某些情况下,尤其是当解码器不恰当地指定了所需的缓冲大小时,该功能可能变得非常慢。
警告: 可能导致
OSD/字幕功能异常!
- -dxr2
<选项1:选项2:...>
- 该选项用于控制 dxr2
视频输出驱动。
- -fbmode
<模式名>(仅用于 -vo
fbdev)
- 将视频模式改为 /etc/fb.modes
中标记为 <模式名>
的模式。
注意: VESA
帧缓冲不支持改变模式。
- -fbmodeconfig
<文件名>(仅用于 -vo
fbdev)
- 替换帧缓冲模式的配置文件(默认值:/etc/fb.modes)。
- -fs(另见
-zoom)
- 全屏幕播放(影片居中,四周填充黑色条边)。不是所有的视频输出驱动都支持。
- -fsmode-dontuse
<0-31>(已废弃,需使用
-fs 选项)
- 如果仍然有全屏模式的问题,可尝试该选项。
- -fstype
<类型1,类型2,...>(仅用于
X11)
- 指定所使用全屏模式的优先级列表。可在模式前加上前缀“-”以取消该模式。如果遇到诸如全屏窗口被其他窗口遮住的问题,可尝试使用不同的顺序。
注意: 参见 -fstype help
以了解可用模式的完整列表。
可用的类型有:
- above
- 如果可用的话,使用
_NETWM_STATE_ABOVE 提示码。
- below
- 如果可用的话,使用
_NETWM_STATE_BELOW 提示码。
- fullscreen
- 如果可用的话,使用
_NETWM_STATE_FULLSCREEN 提示码。
- layer
- 将 _WIN_LAYER
提示码用于默认图层。
- layer=<0...15>
- 将 _WIN_LAYER
提示码用于所给图层号。
- netwm
- 强制使用 NETWM 样式。
- none
- 清空模式列表;其后可添加要启用的模式。
- stays_on_top
- 如果可用的话,使用
_NETWM_STATE_STAYS_ON_TOP 提示码。
示例:
- -fs-border-left
<像素数>
- -fs-border-right
<像素数>
- -fs-border-top
<像素数>
- -fs-border-bottom
<像素数>
- 指定全屏模式下额外边框的宽度。该边框用于所有显示的元素:视频、OSD
和
EOSD。像素数是相对于屏幕分辨率的像素量而指定的。目前仅
gl
视频输出驱动支持。
- -gamma
<-100-100>
- 调整视频信号的伽玛校正值(默认值:0)。不是所有视频输出驱动都支持。
- -geometry
x[%][:y[%]] 或 [WxH][+-x+-y]
- 调整屏幕上输出的初始位置。x
和 y
指定的是从屏幕左上角到所显示图像的左上角以像素为单位的距离。不过如果在参数值后有百分号标记,就变为在该方向上以屏幕尺寸的百分数计量的距离。也支持标准
X11 的 -geometry
选项的格式。在这种方式下,诸如‘+10-50’表示“放在距左边界
10 个像素,距下边界 50
个像素的地方”,而‘--20+-10’表示“放在越出右边界
20
个像素,越出上边界
10
个像素的地方。”如果使用
-wid
选项指定了外部窗口,那么
x 和 y
坐标是相对于窗口而非屏幕的左上角。使用完全支持
-screen
的视频输出的驱动(direct3d、gl、gl_tiled、vdpau、x11、xv、xvmc、corevideo)时,坐标是相对于
-screen
选项所给屏幕的值。
注意: 该选项仅
x11、xmga、xv、xvmc、xvidix、gl、gl_tiled、direct3d、directx、fbdev、sdl、dfxfb
和 corevideo
视频输出驱动支持。
示例:
- 50:40
- 把窗口放在 x=50, y=40 处。
- 50%:50%
- 把窗口放在屏幕中央。
- 100%
- 把窗口放在屏幕右边中央的位置。
- 100%:100%
- 把窗口放在屏幕右下角。
- -gui-wid
<窗口代码>(另见
-wid)(仅用于图形界面)
- 该选项告诉图形界面也使用
X11
窗口并把自己固定在视频窗口的下方,这有助于将一个迷你图形界面嵌入到浏览器(比如通过使用
MPlayer 插件)的情况。
- -hue
<-100-100>
- 调整视频信号的色调(默认值:0)。可通过该选项得到负片效果的图像。不是所有视频输出驱动都支持。
- -monitor-dotclock
<范围[,范围,...]>(仅用于
-vo fbdev 和 vesa)
- 指定显示器点时钟或像素时钟的范围。
- -monitor-hfreq
<范围[,范围,...]>(仅用于
-vo fbdev 和 vesa)
- 指定显示器水平频率的范围。
- -monitor-vfreq
<范围[,范围,...]>(仅用于
-vo fbdev 和 vesa)
- 指定显示器垂直频率的范围。
- -monitoraspect
<宽高比>(另见
-aspect)
- 设置显示器或电视屏幕的宽高比。值
0
将禁用先前的设置(例如,配置文件中的设置)。如果启用该选项,将改写
-monitorpixelaspect 中的设置。
示例:
-monitoraspect 4:3 或者 1.3333
-monitoraspect 16:9 或者 1.7777
- -monitorpixelaspect
<宽高比>(另见
-aspect)
- 设置显示器或电视屏幕的单个像素的宽高比(默认值:1)。值
1
表示正方形像素((几乎?)对于所有的
LCD
都是正确的设置)。
- -name(仅用于
X11)
- 设置窗口类的名字。
- -nodouble
- 禁用双重缓冲,多数情况下用于调试目的。双重缓冲通过在内存里储存两个帧,并在显示一帧的同时解码另一帧来解决闪烁问题。可能对
OSD
有负面影响,但通常能去除
OSD 闪烁问题。
- -nograbpointer
- 视频模式改变(-vm)后,不获取鼠标指针。有助于多头输出的配置。
- -nokeepaspect
- 缩放窗口时不保持窗口的宽高比。只能与
x11, xv, xmga, xvidix, directx
视频输出驱动一同起作用。而且在
X11
下窗口管理器必须接受窗口宽高比的提示信息。
- -ontop
- 让播放器窗口保持位于其他窗口之上。使用
X11
的视频输出驱动(除了
SDL),以及使用
directx、corevideo、quartz、ggi 和 gl_tiled
的驱动都支持。
- -panscan
<0.0-1.0>
- 启用全景显示功能(裁剪诸如
16:9 影片的两边以适应 4:3
不带黑边的显示方式)。该范围内的参数值用来控制裁减多少图像。只能与
directx、xv、xmga、mga、gl、gl_tiled、quartz、corevideo
和 xvidix
的视频输出驱动一同使用。
注意: 也允许 -1 和 0
间的值,但这些值处于高度试验阶段,从而可能导致崩溃或更糟的情况。使用后果自负!
- -panscanrange
<-19.0-99.0>(试验性的选项)
- 改变全景显示功能的参数值范围(默认值:1)。值为正数表示默认范围所乘的倍数。值为负数表示可以放大至
-panscanrange+1
所表示的因数。例如
-panscanrange -3
允许缩放因子达到
4。该功能是实验性的。
- -border-pos-x <0.0-1.0>(仅用于 -vo
gl,xv,xvmc,vdpau,direct3d,默认值为
0.5)
- 当使用黑边以调整画面大小适应屏幕宽高比时,该选项用于确定在何处摆放黑边。值为
0.0
时将黑边放在右边,1.0
则放在左边。值超出
0.0 - 1.0
的范围时将在所对应的一边额外增加黑边的宽度并使另一边的部分画面被移除。
- -border-pos-y <0.0-1.0>(仅用于 -vo
gl,xv,xvmc,vdpau,direct3d only,默认值为
0.5)
- 与 -border-pos-x
相似,但用于上下位置的黑边。值为
0.0
时将黑边放在底部,1.0
则放在底部。
- -monitor-orientation
<0-3>(实验性选项)
- 将显示的图像旋转
90、180 或 270 度。也旋转
OSD,而不只是视频图像本身。当前只有
gl
视频输出驱动支持。对于其它视频输出类型可以使用
-vf
ass,expand=osd=1,rotate=n。以后甚至可以自动应用这一行为。
- -refreshrate
<Hz>
- 设置显示器以以 Hz
为单位的刷新率。目前仅
-vo directx 与 -vm
选项组合使用时支持。
- -rootwin
- 在根窗口(桌面背景)中播放影片。不过,桌面背景图像可能盖住影片的窗口。只能与
x11, xv, xmga, xvidix, quartz, corevideo 和 directx
的视频输出驱动一同起作用。
- -saturation
<-100-100>
- 调整视频信号的饱和度(默认值:0)。可通过该选项获得灰度输出效果。不是所有的视频输出驱动都支持。
- -screenh
<像素数>
- 指定屏幕高度,用于视频输出驱动,如
fbdev, x11
和电视输出,不知道屏幕分辨率的情况。
- -screenw
<像素数>
- 指定屏幕宽度,用于视频输出驱动,如
fbdev, x11
和电视输出,不知道屏幕分辨率的情况。
- -(no)stop-xscreensaver(仅用于
X11)
- 启动时关闭
xscreensaver,并在退出时重新将其开启(默认值:启用)。如果屏保程序不支持
XSS 或 XResetScreenSaver 的
API,请改用 -heartbeat-cmd
选项。
- -title(另见 -use-filename-title)
- 设置窗口的标题。基于
X11
的视频输出驱动支持该选项。
- -use-filename-title(另见 -title)
- 当未使用 -title
设置窗口的标题时,使用媒体的文件名设置标题。基于
X11
的视频输出驱动支持该选项。
- -vm
- 尝试切换为另一种视频模式。dga、x11、xv、sdl
和 directx
视频输出驱动支持该选项。如果用于
directx
视频输出驱动,-screenw、-screenh、-bpp
和 -refreshrate
选项可用于设置新的显示模式。
- -vsync
- 启用用于 vesa、dfbmga 和 svga
视频输出驱动的垂直停扫间隔功能。
- -wid
<窗口代码>(另见
-gui-wid)(仅用于 X11、OpenGL 和
DirectX)
- 该选项让 MPlayer
绑定至一个已有的窗口上。有助于将
MPlayer
嵌入至浏览器中(比如以扩展插件的形式)。该选项将完整地充填所给的窗口,因此
MPlayer
不再负责诸如宽高比缩放、全景显示之类的功能,而是由创建该窗口的应用程序管理。
- -screen
<-2-...>(-xineramascreen
的别名)
- 在 Xinerama
配置过程中(即单个桌面跨越多个显示终端显示),该选项告诉
MPlayer
将影片显示在哪个屏幕上。值为
-2
表示跨越整个虚拟显示终端全屏幕显示(在这种情况下将完全忽略
Xinerama 的信息),-1
表示在当前窗口所在的显示终端上全屏幕显示。通过
-geometry
选项设置的初始位置是相对于指定屏幕的位置。通常只能与“-fstype
-fullscreen”或“-fstype
none”一同起作用。
该选项不适合用于仅仅设置启动时使用屏幕
(因为其总是在所给屏幕上全屏显示),-geometry
是目前可用于此目的的最好选项。至少
direct3d、gl、gl_tiled、x11、xv 和 corevideo
视频输出驱动支持该选项。
- -zrbw(仅用于
-vo zr)
- 黑白显示。要性能最优,该选项可以与“-lavdopts
gray”组合使用。
- -zrcrop
<[宽]x[高]+[x 偏移]+[y
偏移]>(仅用于 -vo
zr)
- 选择输入图像的一部分用于显示,使用多个这样的选项就启动了全景电影模式。在全景电影模式下,影片画面分布在多台电视(或投影仪)上,用于创建更大的图像。在第
n 个 -zrcrop
后面的选项应用于第 n
块 MJPEG
解码卡上,每一块编码卡至少需要有一个
-zrcrop 选项加上一个 -zrdev
选项。参见 -zrhelp
的输出内容和文档 Zr
一节以获取示例。
- -zrdev
<设备>(仅用于 -vo
zr)
- 指定 MJPEG
编码卡使用的设备类型特殊文件的名称,默认情况下
zr
视频输出驱动使用其所能找到的第一个
v4l 设备。
- -zrfd(仅用于
-vo zr)
- 强制使用简化采样模式:简化采样因为是由
-zrhdec 和 -zrvdec
指定,所以一般只有在硬件缩放器能把图像拉伸到原始尺寸时才使用。可使用该选项强制使用简化采样模式。
- -zrhdec
<1|2|4>(仅用于 -vo zr)
- 水平方向简化取样:要求驱动只将输入图像的每数到的第
2 或第 4 行/像素发送到
MJPEG 编码卡,并使用 MJPEG
卡的缩放器把图像拉伸到原始尺寸。
- -zrhelp(仅用于
-vo zr)
- 显示包括所有 -zr*
选项的列表,以及这些选项的默认值和使用全景电影模式的示例。
- -zrnorm
<制式>(仅用于 -vo
zr)
- 指定电视制式为 PAL 或
NTSC(默认值:不改变)。
- -zrquality
<1-20>(仅用于 -vo zr)
- 代表 JPEG
编码质量的数值,范围从
1(最好)到
20(最差)。
- -zrvdec
<1|2|4>(仅用于 -vo zr)
- 垂直方向简化采样:要求驱动只将输入图像的每数到的第
2 或第 4 行/像素发送到
MJPEG 编码卡,并使用 MJPEG
卡的缩放器把图像拉伸到原始尺寸。
- -zrxdoff <x
方向显示偏移量>(仅用于
-vo zr)
- 如果影片尺寸比电视屏幕小,则该选项指定相对于电视屏幕左上角的
x
方向的偏移量(默认值:居中)。
- -zrydoff <y
方向显示偏移量>(仅用于
-vo zr)
- 如果影片尺寸比电视屏幕小,则该选项指定相对于电视屏幕左上角的
y
方向的偏移量(默认值:居中)。
视频输出驱动(仅用于MPLAYER)
视频输出驱动是各种视频输出设备的接口。使用语法是:
- -vo
<驱动1[:子选项1[=参数值]:...],驱动2,...[,]>
- 指定所使用视频输出驱动的优先级列表。
如果列表尾有‘,’,则
MPlayer
使用未列出的驱动作为后备驱动。子选项是不是必需的,并且大多数可省略。
注意: 参见于 -vo help
以获取编译时已包含的视频输出驱动的列表。
示例:
可用视频输出驱动有:
- xv(仅用于
X11)
- 使用 XFree86 4.x 的 XVideo
扩展组件启用硬件加速下的播放功能。如果无法使用硬件专用的驱动,该选项或许是最好的选择。要了解使用了什么的透明色以及其是如何绘制的,则以
-v 选项运行 MPlayer
并注意以标签 [xv common]
开头的那些行。
- x11(仅用于
X11)
- 共享内存方式的视频输出驱动,无硬件加速功能,只要有
X11 环境就能起作用。
- xover(仅用于
X11)
- 将对于 X11
支持添加到所有基于覆盖模式的视频输出驱动中。目前仅
tdfx_vid 支持。
- <视频输出驱动>
- 选择作为视频来源而覆盖于
X11 画面上的驱动。
- vdpau(与 -vc
ffmpeg12vdpau、ffwmv3vdpau、ffvc1vdpau、ffh264vdpau
或 ffodivxvdpau 一同使用)
- 使用 VDPAU
硬件解码视频的视频输出方式。同时支持显示软件解码的视频。
- sharpen=<-1-1>
- 使用正数值时,将锐化算法应用于视频画面,使用负数值时,则应用模糊算法(默认值:0)。
- denoise=<0-1>
- 将一种消除噪点的算法应用于视频画面(默认值:0,不消除噪点)。
- deint=<0-4>
- 选择解除隔行扫描的算法(默认值:0)。所有大于
0 的模式遵照 -field-dominance
选项的设置运行。
- 0
- 不解除隔行扫描。
- 1
- 只显示第一个隔行扫描域,与
-vf field 的作用相类似。
- 2
- 跳跃式反隔行扫描,与
-vf tfields=1
的作用相类似。
- 3
- 顺应画面运动时间性的解除隔行扫描模式。可能在低性能视频硬件和/或高分辨率的情况下导致音视频不同步。这是当使用“D”开启解除隔行扫描功能时的默认值。
- 4
- 采用边缘主导的空间插值算法的顺应画面运动的时间性的解除隔行扫描模式。需要高性能的视频硬件。
- chroma-deint
- 使时间性的解除隔行扫描算法同时作用于亮度和色度通道上(默认值)。可使用
nochroma-deint
以使其仅作用于亮度通道,从而加速高级解除隔行扫描算法。有助于显存低速的情况。
- pullup
- 尝试跳过逐行扫描帧的解除隔行扫描操作,适用于观看电视图像化的内容,高分辨率的情况下需要高速的视频硬件。仅能用于顺应画面运动的时间性的解除隔行扫描操作。
- colorspace
- 选择 YUV 至 RGB
转换时使用的色彩空间。通常标清(SD)内容应使用
BT.601,而高清(HD)内容使用
BT.709。使用不正确的色彩空间将导致饱和度稍许过度或不足,以及色彩有偏移。
- 0
- 根据视频分辨率判断色彩空间。宽度大于
1280 或高度大于 576
的视频将认为是 HD
的,从而使用 BT.709
色彩空间。
- 1
- 使用 ITU-R BT.601
色彩空间(默认值)。
- 2
- 使用 ITU-R BT.709
色彩空间。
- 3
- 使用 SMPTE-240M 色彩空间。
- hqscaling
- 0
- 使用默认的 VDPAU
缩放模式(默认值)。
- 1-9
- 应用高质量的 VDPAU
缩放模式(需要性能足够的硬件)。
- force-mixer
- 强制使用 VDPAU
混合器,其实现了所有以上选项的功能(默认值)。可使用
noforce-mixer 以允许显示 BGRA
色彩空间。(如果实际使用了BGRA,则禁用所有以上选项和硬件均衡器。)
- xvmc(仅用于带有
FFmpeg MPEG-1/2 解码器的 X11)
- 使用 XFree86 4.x 的 XvMC(X
视频运动补偿)
扩展组件加速 MPEG-1/2 和 VCR2
解码的视频输出驱动。
- adaptor=<数值>
- 选择指定的 XVideo
适配器(请检查 xvinfo
的结果)。
- port=<数值>
- 选择指定的 XVideo
端口。
- (no)benchmark
- 禁止显示图像。一些驱动在显示器回扫时会改变图像缓冲(nVidia),其基准测试需要该选项。默认是不禁止显示图像(nobenchmark)。
- (no)bobdeint
- 非常简单的解除隔行扫描组件。视觉效果可能没有
-vf tfields=1 好,但是这是 xvmc
仅有的解除隔行扫描组件(默认值:nobobdeint)。
- (no)queue
- 为要显示的帧创建队列,以让视频硬件更并行的工作。可能增加一点(不明显的)恒定的音视频不同步(默认值:noqueue)。
- (no)sleep
- 等待渲染完成时使用
sleep 函数(不推荐 Linux
下使用)(默认值:nosleep)。
- ck=cur|use|set
- 与 -vo xv:ck 相同(参见 -vo
xv)。
- ck-method=man|bg|auto
- 与 -vo xv:ck-method 相同(参见 -vo
xv)。
- dga(仅用于
X11)
- 通过 XFree86
的直接图形访问(Direct
Graphics
Access)扩展组件播放视频。考虑废弃该选项。
- sdl(仅用于
SDL,缺陷多且过时)
- 高度不依赖于平台的
SDL(Simple Directmedia
Layer)库的视频输出驱动。因为
SDL 使用自己的 X11
逻辑层,所以 MPlayer 的 X11
选项对 SDL
没有效果。注意该选项有数个非重要缺陷(总是无视
-vm/-novm 选项,-fs
的行为如同 -novm
应有的行为一样,当从全屏模式切换回来时窗口在左上角,不支持全景模式……)
- driver=<驱动>
- 明确选择所使用的 SDL
驱动。
- (no)forcexv
- 通过 sdl
视频输出驱动使用
XVideo(默认值:forcexv)。
- (no)hwaccel
- 使用硬件加速的缩放器(默认值:hwaccel)。
- vidix
- VIDIX(*nix 视频接口,VIDeo Interface
for
*niX)是各种显卡的视频加速功能的接口。非常快的视频输出驱动,用于支持该功能的显卡。
- <子设备>
- 明确表示选择使用哪个
VIDIX
子设备驱动。可用的子设备有
cyberblade, ivtv, mach64, mga_crtc2, mga, nvidia, pm2, pm3, radeon,
rage128, s3, sh_veu, sis_vid 和 unichrome。
- xvidix(仅用于
X11)
- VIDIX 的 X11 前端组件
- cvidix
- 通用的不依赖于平台的
VIDIX
前端组件,甚至能在使用
nVidia
显卡的文本控制屏幕上运行。
- winvidix(仅用于
Windows)
- VIDIX 的 Windows 前端组件
- direct3d(仅用于
Windows)(用于公测的代码!)
- 使用 Direct3D
接口的视频输出驱动(有助于
Vista 系统)。
- directx(仅用于
Windows)
- 使用 DirectX
接口的视频输出驱动。
- kva(仅用于
OS/2)
- 使用 libkva
接口的视频输出驱动。
- snap
- 强制使用 SNAP 模式。
- wo
- 强制使用 WarpOverlay!
模式。
- dive
- 强制使用 DIVE 模式。
- (no)t23
- 启用或禁用解决 T23
笔记本问题的变通模式(默认值:禁用)。如果显卡仅支持画面放大输出,可尝试开启这个选项。
- quartz(仅用于
Mac OS X)
- Mac OS X Quartz
视频输出驱动。在某些情况下,强制使用已包装的
YUV 输出格式,如:-vf
format=yuy2,可能效率更高。
- corevideo(用于
Mac OS X 10.4 或 10.3.9 的 QuickTime 7)
- Mac OS X CoreVideo 视频输出驱动
- device_id=<数值>
- 过时选项,可使用 -screen
代替。
选择用于全屏模式的显示设备,或将其设为
-1
以总是使用视频窗口所在的屏幕(默认值:-1
- 自动选择)。
- shared_buffer
- 将输出写入一块共享内存模式的缓冲区,而不是将其显示出来,并且尝试打开一个已存在的
NSConnection
连接以与图形界面通信。
- buffer_name=<名字>
- shm_open
创建的共享缓冲区的名字,也是
MPlayer 尝试打开的 NSConnection
连接的名字(默认值:“mplayerosx”)。设置
buffer_name
选项将隐含地表示启用
shared_buffer。
- fbdev(仅用于
Linux)
- 使用内核级的帧缓冲播放视频。
- <设备>
- 明确选择所使用的 fbdev
设备名(如
/dev/fb0),或者如果设备名以‘vidix’开头则选择
VIDIX 子设备名(如:sis
驱动的‘vidixsis_vid’)。
- fbdev2(仅用于
Linux)
- 使用内核级的帧缓冲播放视频,另一种实现方式。
- <设备>
- 明确选择所使用的 fbdev
设备名(默认值:/dev/fb0)。
- vesa
- 非常通用的视频输出驱动,应该能用于任何与
VESA VBE 2.0 兼容的显卡。
- (no)dga
- 打开或关闭 DGA
模式(默认值:打开)。
- neotv_pal
- 激活 NeoMagic
电视输出并设置成 PAL
制式。
- neotv_ntsc
- 激活 NeoMagic
电视输出并设置成 NTSC
制式。
- vidix
- 使用 VIDIX 驱动。
- lvo:
- 激活 VESA 模式下的 Linux
视频覆盖模式。
- svga
- 使用 SVGA
库播放视频。
- <视频模式>
- 指定所使用的视频模式。该模式可以
<宽>x<高>x<颜色>
格式给出,如
640x480x16M,或以图形模式号的形式,如
84。
- bbosd
- 将 OSD
绘制到影片下方的黑条中(运行较慢)。
- native
- 只使用自带的绘制函数。这可以避免直接渲染模式,以及
OSD
和硬件的加速功能。
- retrace
- 强制在垂直回扫时切换帧。仅当与
-double
一同使用可使用。与
-vsync
选项的效果一样。
- sq
- 尝试选择使用正方形像素的视频模式。
- vidix
- 使用带有 VIDIX 接口的
svga。
- gl
- OpenGL
视频输出驱动,简单版本。视频尺寸必须小于
OpenGL
设备的最大纹理尺寸。该驱动的目标是即使是实现最基本
OpenGL
功能的设备也能使用,但同时也能利用较新的扩展功能,以支持更多的色彩空间和直接渲染功能。要实现最优的速度,可尝试添加选项
-dr -noslices
代码只做极少的检查,所以如果某个功能不起作用,即使没有任何错误消息,这也可能是因为显卡/OpenGL
实现设备不支持。可使用
glxinfo
或类似的工具显示已支持的
OpenGL 扩展功能。
- backend=<n>
- 选择要使用的后端/OpenGL的实现方式(默认值:-1)。
-1:自动选择
0:Win32/WGL
1:X11/GLX
2:SDL
3:X11/EGL(高度处于实验阶段)
4:OSX/Cocoa
5:Android(十分糟糕的实现,仅用于测试)
- (no)ati-hack
- 当使用了 PBO
时(当使用了 -dr
或强制使用 -pbo 时),AIT
驱动可能输出损坏的图像。该选项修正这一问题,代价是多使用了一点内存。
- (no)force-pbo
- 总是使用 PBO
传输纹理,即使这需要额外的复制操作。当前该选项对于
NVidia
驱动能提升一点速度,而对于
ATI
驱动则是大大提升。可能需要
-noslices 和 ati-hack
子选项以使其正常起作用。
- (no)scaled-osd
- 当窗口大小改变时,改变
OSD
的行为模式(默认值:禁用)。启用时其行为就像其它的视频输出驱动,对固定大小的字体效果更好。禁用时使用
FreeType
情况下的视觉效果更好,并且在全屏模式下使用边框。无法在使用
ass
字幕的情况下正确起作用(参见
-ass)。作为替代性方法,可以通过
-vf ass 在不用 OpenGL
的情况下渲染这种字幕。
- osdcolor=<0xAARRGGBB>
- OSD
的颜色(默认值是:0x00ffffff,对应不透明的白色)。
- rectangle=<0,1,2>
- 选用矩形纹理以节省视频内存,但往常运行较慢(默认值:0)。
0:使用 2 的 n
次幂大小的纹理(默认值)。
1:使用 GL_ARB_texture_rectangle
扩展组件。
2:使用 GL_ARB_texture_non_power_of_two
扩展组件。在某些情况下仅软件支持,所以运行非常慢。
- swapinterval=<n>
- 两次缓冲切换间的最小间隔,以已显示帧的数量计数(默认值:1)。1
等价于启用垂直同步模式,0
等价于停用垂直同步模式。值小于
0
则使用系统默认值。该选项将帧率限制为
(水平刷新率 / n)。需要
GLX_SGI_swap_control
支持以起作用。某些(大多数/所有?)实现设备仅能在全屏模式下起作用。
- ycbcr
- 使用 GL_APPLE_ycbcr_422
扩展组件将 YUV 转换为 RGB
格式。如果指定了 yuv=
则默认为禁用,否则默认为自动检测。注意该选项将启用一些特殊的设置以进入驱动程序中的一种特殊的快速通道。
- yuv=<n>
- 选择 YUV 到 RGB
转换的类型。默认方式是自动侦测,选取
0 到 2 之间的一个值。
0:使用软件转换
。兼容于所有的 OpenGL
版本。具有亮度、对比度和饱和度的控制功能。
1:使用寄存器型混合器。该方法使用的是
nVidia
专用的扩展组件(GL_NV_register_combiners)。至少需要三个纹理处理单元。提供饱和度和色调的控制功能。该方法速度快但不精确。
2:使用利用 POW
指令的片断程序。需要
GL_ARB_fragment_program
扩展组件和至少三个纹理处理单元。提供亮度、对比度、饱和度、色调和伽玛校正值的控制功能。伽玛校正值也能在红、绿和蓝三个方面单独设置。方法
4 通常更快。
3:与 2
相同。为该类型专门分配一个值是出于历史原因,MPlayer
现在为按需启用的伽玛校正值控制功能插入额外的指令。
4:使用具有额外查阅操作的片断程序。需要
GL_ARB_fragment_program
扩展组件和至少四个纹理处理单元。提供亮度、对比度、饱和度、色调和伽玛校正值的控制功能。伽玛校正值也能在红、绿和蓝三个方面单独设置。
5:使用 ATI
专用的方式(用于较老的显卡)。该方法使用的是
ATI 专用的扩展(GL_ATI_fragment_shader -
不是
GL_ARB_fragment_shader!)。至少需要三个纹理处理单元。提供饱和度和色调的控制功能。该方法速度快但不精确。
6:使用 3D
纹理以通过查表方式做转换。需要
GL_ARB_fragment_program
扩展组件和至少四个纹理处理单元。由于使用具有边缘像素的纹理,因而在某些(所有?)ATI
显卡上(使用软件模拟)极其慢。提供亮度、对比度、饱和度、色调和伽玛校正值的控制功能。伽玛校正值也能在红、绿和蓝三个方面单独设置。相对于其它方法,速度上更多地取决于
GPU 内存带宽。
- colorspace
- 选择 YUV 至 RGB
转换所用的色彩空间。
- 0
- 使用 MPlayer
通常使用的方式(默认值)。
- 1
- 使用 ITU-R BT.601
色彩空间。
- 2
- 使用 ITU-R BT.709
色彩空间。
- 3
- 使用 SMPTE-240M 色彩空间。
- levelconv=<n>
- 选择用于 YUV 至 RGB
转换的亮度等级的转换方式。
- 0
- 将 TV 等级转换为 PC
等级(默认值)。
- 1
- 将 PC 等级转换为 TV
等级。
- 2
- 不做任何转换。
- lscale=<n>
- 选择用于亮度调整的调节函数。仅对
yuv 模式 2、3、4 和 6
有效。
- 0
- 使用简单线性过滤方式(默认值)。
- 1
- 使用双立方次 B
曲线过滤方式(质量更好)。需要一个额外的纹理处理单元。较老的显卡至少在全屏模式下无法在色度方面执行该模式。
- 2
- 在水平方向使用立方次过滤,在垂直方向使用线性过滤。比起方式
1
适用于更多的显卡。
- 3
- 与 1
相同,但将纹理用于查阅操作。可能在一些显卡上运行较快。
- 4
- 使用实验性的非锐化的蔽码,支持
3x3
模式并具有默认强化值
0.5。(参见 filter-strength)
- 5
- 使用实验性的非锐化的蔽码,支持
5x5
模式并具有默认强化值
0.5。(参见 filter-strength)
- 64
- 使用最近邻方式缩放。
- cscale=<n>
- 选择用于色度缩放的缩放函数。详情参见
lscale。
- filter-strength=<值>
- 设置支持强度设置的
lscale/cscale
过滤器的效果强度。
- noise-strength=<值>
- 设置添加多强的噪声信号。0
用于禁止添加信号(默认值),1.0
用于产生适用于抖动降级为
6
比特精度的信号等级。
- stereo=<值>
- 选择用于立体显示的方式。可能需要使用
-aspect
以修正宽高比的数值。数值加
32
可以实现左右画面对换。
实验性的选项,勿对其期望太高。
- 0
- 标准 2D 显示
- 1
- 将画面并行排列的输入信号转换为全色彩的红蓝立体图像。
- 2
- 将画面并行排列的输入信号转换为全色彩的红蓝立体图像。
- 3
- 将画面并行排列的输入信号转换为四重缓冲的立体图像。只有少数
OpenGL 显卡支持
- 4
- 以按像素排列的方式将左右眼的图像混合在一起。混合样式由
stipple 选项指定。
- stipple=<以比特表示的方式>
- 数值的最低 16
位用以指定所使用 4x4
排列样式(默认值:0x0f0f)。可供尝试的示例:0x0f0f,
0xf0f0:按水平线排列;
0xaaaa,
0x5555:按垂直线排列;
0xa5a5,
0x5a5a:交错网格排列
以下选项只有助于编写自定义的片断程序。
- customprog=<文件名>
- 从 <文件名>
装载定制的片断程序。示例参见
TOOLS/edgedect.fp。
- customtex=<文件名>
- 从 <文件名>
装载定制的“伽玛梯度”纹理。可与
yuv=4 或 customprog
选项的组合一同使用。
- (no)customtlin
- 如果启用(默认方式)则使用
GL_LINEAR 插值,否则使用
GL_NEAREST 插值用于 customtex
纹理。
- (no)customtrect
- 如果启用则使用 texture_rectangle
用于 customtex
纹理。默认是禁用。
- (no)mipmapgen
- 一旦启用,将自动生成视频的贴图。该选项与
customprog 和 TXB
一起使用有助于实现一个具有大影响半径的模糊化过滤器。对于大多数
OpenGL
的实现设备来说,该选项用于任何非
RGB
的格式运行都很慢。默认值为禁用。
正常情况下没有理由使用以下选项,其大多是为了测试而存在的。
- (no)glfinish
- 在切换缓冲前调用
glFinish()。运行较慢但在某些情况下输出更精确(默认值:禁用)。
- (no)manyfmts
- 启用对于更多的(RGB
和
BGR)色彩格式的支持(默认值:启用)。要求
OpenGL 版本>=1.2。
- slice-height=<0-...>
- 单次复制至纹理的操作包含多少行内容(默认值:0)。0
代表整幅图像。
注意: 如果使用了 YUV
色彩空间(参见 yuv
子选项),将使用特别的规则:
如果解码器采用分片渲染方式(参见-noslices),该设置没有任何效果,所采用的分片大小由解码器提供。
如果解码器不采用分片泻染方式,则默认值为16。
- (no)osd
- 允许或禁止通过 OpenGL
支持 OSD
渲染(默认值:允许)。该选项用于测试;要禁用
OSD 应使用 -osdlevel 0。
- (no)aspect
- 允许或禁止支持保持比例缩放和全景缩放方式(默认:允许)。禁用的话可能提高速度。
- gl_tiled
- OpenGL
视频输出驱动的修改版。支持大于最大纹理尺寸的视频,但是缺少许多
GL
驱动的高级功能和优化选项,并且以后也不大可能扩展功能。
- (no)glfinish
- 同 gl
一样(默认值:启用)
- yuv=<n>
- 选择 YUV 到 RGB
转换的类型。如果设置为
0 以外的值,将停用
OSD,而亮度、对比度和伽玛校正值的设置只使用全局环境下
X
服务器的设置。除此行为外,设置值的含义与
-vo gl 一样。
- matrixview
- 基于 OpenGL
的渲染器,生成类似于黑客帝国的滚动字幕效果。
- cols=<n>
- 所显示文字的列数。受限于图像缩放器的性能,值太小(<16)的话该选项很可能失效。不能被
16
整除的值也可能产生问题。
- rows=<n>
- 所显示文字的行数。受限于图像缩放器的性能,值太小(<16)的话该选项很可能失效。不能被
16
整除的值也可能产生问题。
- null
- 不产生视频输出。有助于基准测试。
- aa
- ASCII art
视频输出驱动,用于文本控制屏幕。
注意:
该驱动无法正确处理
-aspect 选项。
提示:
很可能有必要指定
-monitorpixelaspect
选项。可尝试‘mplayer -vo aa
-monitorpixelaspect 0.5’。
- caca
- 彩色 ASCII art
视频输出驱动,用于文本控制屏幕。
- bl
- 使用 Blinkenlights UDP
协议播放视频。该驱动高度依赖于特定硬件。
- <子设备>
- 明确选择所用的 Blinkenlights
子设备。该值类似于
arcade:host=localhost:2323 或
hdl:file=文件名1,file=文件名2。必须指定子设备。
- ggi
- GGI
图形系统视频输出驱动
- <驱动>
- 明确选择所用的 GGI
驱动。需将 <驱动>
字符串中所有的‘,’替换为‘.’。
- directfb
- 使用 DirectFB 库播放视频
。
- (no)input
- 使用 DirectFB 替代 MPlayer
键盘指令(默认值:启用)。
- buffermode=single|double|triple
- 如果想避免画面撕裂问题,双重(double)和三重(triple)缓冲能产生最好的效果。三重缓冲比双重缓冲更有效率,
因为其等待垂直信号回扫时不阻塞
MPlayer
的运行。应避免使用单级(single)缓冲(默认值:single)。
- fieldparity=top|bottom
- 控制隔行扫描帧的输出次序(默认值:禁用)。有效值是
top =
先输出上半扫描场,bottom
=
先输出下半扫描场。该选项对于逐行扫描的电影内容,例如大多数
MPEG
电影,没有效果。如果观看隔行扫描影片时遇到画面撕裂或画面运行不流畅的问题,需启用该选项。
- layer=N
- 强制使用代码为 N
的图层用于播放(默认值:-1
- 自动选择)。
- dfbopts=<列表>
- 指定 DirectFB
的参数列表。
- dfbmga
- Matrox G400/G450/G550
专用的视频输出驱动,使用
DirectFB
库以利用特殊的硬件功能。启用
CRTC2(第二输出头),以独立于第一输出头显示视频。
- (no)input
- 与 directfb
一样(默认值:禁用)
- buffermode=single|double|triple
- 与 directfb
一样(默认值:triple)
- fieldparity=top|bottom
- 与 directfb 一样
- (no)bes
- 启用 Matrox
BES(后台缩放器)(默认值:禁用)。由于图像插值过程在硬件里完成,因而从速度和输出质量上看效果是非常好的。仅对主输出头有效。
- (no)spic
- 利用 Matrox
子画面图层显示
OSD(默认值:启用)。
- (no)crtc2
- 打开第二输出头上的电视输出(默认值:启用)。输出质量出奇得好,因为输出的是完全隔行扫描的图像,且每个奇/偶扫描场经过恰当的同步。
- tvnorm=pal|ntsc|auto
- 无需修改 /etc/directfbrc
即可设置 Matrox
卡的电视制式(默认值:禁用)。有效制式是
pal = PAL, ntsc = NTSC。特殊制式是
auto(使用 PAL/NTSC
自动调整),因为其是通过查看影片的帧率决定使用何种制式。
- mga(仅用于
Linux)
- Matrox
专用的视频输出驱动,通过内核模块利用
Gxxx 卡的 YUV
后台缩放器。如果有
Matrox
卡,这是最快的选项。
- <设备名>
- 明确选择所使用的 Matrox
设备名(默认值:/dev/mga_vid)。
- xmga(仅用于
Linux, X11)
- mga
视频输出驱动,运行在
X11 窗口中。
- <设备名>
- 明确选择所使用的 Matrox
设备名(默认值:/dev/mga_vid)。
- s3fb(仅适于
Linux )(另见 -dr)
- S3 Virge
专用的视频输出驱动。该驱动支持显卡的
YUV
转换和缩放、双重缓冲以及直接渲染功能。可使用
-vf format=yuy2
以采用硬件加速下的
YUV2
渲染,这种方式在此款显卡下比
YV12 快很多。
- <设备名>
- 明确选择所使用的 fbdev
设备名(默认值:/dev/fb0)。
- wii(仅用于
Linux)
- 任天堂 Wii/GameCube
专用的视频输出驱动。
- 3dfx(仅用于 Linux)
- 3dfx
专用的视频输出驱动,其在
X11
模式下时直接使用硬件。只支持
16 位图像。
- tdfxfb(仅用于
Linux)
- 该驱动使用 tdfxfb
帧缓冲驱动以在 3dfx
卡上使用 YUV
加速播放影片。
- <设备名>
- 明确选择所使用的 fbdev
设备名(默认值:/dev/fb0)。
- tdfx_vid(仅用于
Linux)
- 3dfx
专用的视频输出驱动,需与
tdfx_vid
内核模块协同起作用。
- <设备名>
- 明确选择所使用的设备名(默认值:/dev/tdfx_vid)。
- dxr2(另见
-dxr2)(仅用于 DXR2)
- Creative DXR2
专用的视频输出驱动。
- <视频输出驱动>
- 用于覆盖模式的输出视频子驱动(x11、xv)。
- dxr3(仅用于
DXR3)
- Sigma Designs em8300 MPEG
解码器芯片(Creative DXR3、Sigma
Designs Hollywood
Plus)专用的视频输出驱动。另见
lavc 视频过滤器。
- overlay
- 激活覆盖模式以代替电视输出。
- prebuf
- 打开预缓冲。
- sync
- 将打开新式的视频同步引擎。
- norm=<制式>
- 指定电视制式。
0:不改变当前制式(默认值)。
1:使用 PAL/NTSC 自动调整。
2:使用 PAL/PAL-60 自动调整。
3:PAL
4:PAL-60
5:NTSC
- <0-3>
- 如果有超过一块 em8300
卡,指定所使用的设备号。
- ivtv(仅用于
IVTV)
- Conexant CX23415(iCompression iTVC15)或 Conexant
CX23416(iCompression iTVC16)MPEG
解码器芯片(Hauppauge WinTV
PVR-150/250/350/500)专用的视频输出驱动,用于电视输出。另见
lavc 视频过滤器。
- <设备>
- 明确选择所使用的 MPEG
解码器设备名(默认值:/dev/video16)。
- <输出端>
- 明确选择用于视频信号的电视输出端。
- v4l2(需要
Linux 2.6.22+ 的内核)
- 用于带有内建硬件 MPEG
解码器的 V4L2
标准显卡的视频输出驱动。另见
lavc 视频过滤器。
- <设备>
- 明确选择所使用的MPEG解码设备的名称(默认值:/dev/video16)。
- <输出端>
- 明确选择用于视频信号的电视输出端。
- mpegpes(仅用于数字视频广播)
- 用于数字视频广播卡的视频输出驱动,如果未安装数字视频广播卡,则输出到
MPEG-PES 文件。
- card=<1-4>
- 如果有超过一块数字视频广播输出卡,指定所使用的设备号(仅用于
V3 API,比如 1.x.y
驱动系列)。如果不指定,MPlayer
将搜索第一块可用的卡。
- <文件名>
- 输出文件名(默认值:./grab.mpg)
- zr(另见 -zr*
和 -zrhelp)
- 用于许多 MJPEG
捕捉/回放卡的视频输出驱动。
- zr2(另见
zrmjpeg 视频过滤器)
- 用于许多 MJPEG
捕捉/回放卡的视频输出驱动,第二代驱动。
- md5sum
- 计算每帧的 MD5
校检和并将其写入文件。支持
RGB24 和 YV12
色彩空间。有助于调试。
- yuv4mpeg
- 将视频流转换为未压缩的
YUV 4:2:0
图像序列并将其储存到文件中(默认位置:./stream.yuv)。使用的格式与
mjpegtools
所用的相同,所以有助于想用
mjpegtools
套装软件处理视频的情况。该选项支持
YV12
格式。如果源文件格式不同且为隔行扫描格式,则注意要使用
-vf scale=::1
以确保转换时使用隔行扫描模式。可与
-fixed-vo
选项组合使用以拼接具有相同宽高值和频率的文件。
注意:
如果不指定任何选项,输出数据是逐行扫描格式(即非隔行扫描格式)。
- gif89a
- 将各帧输出到当前目录下的单个动画
GIF 文件中。仅支持 24 位
RGB
格式并且输出内容转换为
256 色。
- <fps>
- 指定帧率的浮点数值(默认值:5.0)。
- <输出文件>
- 指定输出文件名(默认值:./out.gif)。
注意:
必须在指定文件名之前指定帧率,否则帧率将成为文件名的一部分。
示例:
mplayer video.nut -vo
gif89a:fps=15.0:output=test.gif
- jpeg
- 将各帧输出到当前目录下的
JPEG
文件中。每帧以帧号作为文件名,帧号前以
0 补全长度。
- pnm
- 将各帧输出到当前目录下的
PNM
文件中。每帧以帧号作为文件名,帧号前以
0 补全长度。该选项在
raw 和 ASCII 模式下支持 PPM、PGM
和 PGMYUV 文件。另见
pnm(5)、ppm(5) 和 pgm(5)。
- png
- 将各帧输出到当前目录下的
PNG
文件中。每帧以帧号作为文件名,帧号前以
0 补全长度。支持 24
位的 RGB 和 BGR 格式。
- mng
- 将视频输出至 MNG
动画文件,使用无损压缩的
24 位 RGB 图像。
mplayer video.mkv -vo mng:output=test.mng
- tga
- 将各帧输出到当前目录下的
Targa
文件中。每帧以帧号作为文件名,帧号前以
0
补全长度。该视频输出驱动用于创建一个无需任何外部库的简单而无损压缩的图像输出。支持
15、24 和 32 位的 BGR[A]
颜色格式。可强制使用特定的格式以用于
format 视频过滤器。
示例:
mplayer video.nut -vf format=bgr15 -vo tga
解码/过滤器选项
- -ac
<[-|+]编解码器1,[-|+]编解码器2,...[,]>
- 按照 codecs.conf
中的名称指定所用音频编解码器的优先级列表。可在编解码器名称前使用‘-’表示忽略该编解码器。可在编解码器名称前使用‘+’表示强制使用该编解码器,这有可能使程序崩溃!如果列表尾有‘,’,则
MPlayer
将未列出的编解码器作为后备使用。
注意: 参见 -ac help
以了解可用编解码器的完整列表。
示例:
- -af-adv
<force=(0-7):list=(若干过滤器)>(另见
-af)
- 指定高级音频过滤器选项:
- force=<0-7>
- 强制以以下方式之一插入音频过滤器:
0:使用完全自动化的过滤器插入方式(目前与选项
1 相同)。
1:优化解码精度的方式(默认值)。
2:优化解码速度的方式。
警告:
某些音频过滤器的功能可能毫无症兆地失效,且音质可能下降。
3:使用非自动化的过滤器插入方式且无优化。
警告:
使用该设定可能使 MPlayer
崩溃。
4:使用上文中 0
所代表的自动化的过滤器插入方式,但尽可能使用浮点处理模式。
5:使用上文中 1
所代表的自动化的过滤器插入方式,但尽可能使用浮点处理模式。
6:使用上文中 2
所代表的自动化的过滤器插入方式,但尽可能使用浮点处理模式。
7:使用上文中 2
所代表的非自动化的过滤器插入方式,并且尽可能使用浮点处理模式。
- list=<若干过滤器>
- 与 -af 相同。
- -afm
<驱动1,驱动2,...>
- 按照 codecs.conf
中的名称指定使用音频编解码器组的优先级列表。如果所给的编解码器组无一起作用,则将默认的编解码作为后备使用。
注意: 参见 -afm help
以了解可用编解码器组的完整列表。
示例:
- -aspect
<高宽比>(另见
-zoom)
- 改影片的高宽比,用于所播放的文件高宽比信息不正确或缺失的情况。
示例:
-aspect 4:3 或 -aspect 1.3333
-aspect 16:9 或 -aspect 1.7777
- -noaspect
- 禁止自动补偿影片的高宽比。
- -field-dominance
<-1-1>
- 设置隔行扫描内容的第一个扫描场。有助于使用加倍帧率的解除隔行扫描器:-vf
tfields=1,-vf yadif=1,-vo vdpau:deint 和 -vo
xvmc:bobdeint。
- -1
- 自动(默认值):如果解码器不输出合适的信息,则其将设回为
0(上半扫描场先输出)。
- 0
- 上半扫描场为第一个扫描场
- 1
- 下半扫描场为第一个扫描场
- -flip
- 上下翻转图像。
- -lavdopts
<选项1:选项2:...>(用于调试的代码)
- 指定 libavcodec
解码的参数。需用冒号将多个选项分开。
示例:
-lavdopts gray:skiploopfilter=all:skipframe=nonref
可用选项有:
- bitexact
- 所有解码步骤中只使用比特级保真的算法(以用于编解码器测试)。
- bug=<参数值>
- 人工指定针对编码器缺陷的变通方式:
0: 无
1:自动检测缺陷(默认值)
2(msmpeg4v3):老式 lavc 生成的
msmpeg4v3
文件(无法自动检测)
4(mpeg4):Xvid
隔行扫描缺陷(如果
fourcc==XVIX 可自动检测出)
8(mpeg4):UMP4(如果 fourcc==UMP4
可自动检测出)
16(mpeg4):数据填充缺陷(可自动检测出)
32(mpeg4):不合规范的可变长度编码缺陷(各种
fourcc
下都可自动检测出)
64(mpeg4):Xvid 或 DivX
的四分之一像素模式缺陷(各种
fourcc/版本下都可自动检测出)
128(mpeg4):旧标准的四分之一像素模式(各种
fourcc/版本下都可自动检测出)
256(mpeg4):另一种四分之一像素模式缺陷(各种
fourcc/版本下都可自动检测出)
512(mpeg4):直接模式四分之一像素块大小缺陷(各种
fourcc/版本下都可自动检测出)
1024(mpeg4):边缘填充缺陷(各种
fourcc/版本下都可自动检测出)
- debug=<参数值>
- 显示调试信息。
0:禁用
1:画面信息
2:码率控制
4:比特流
8:宏块(MB)类型
16:各块的量化参数(QP)
32:运动矢量
0x0040:运动矢量可视化显示(使用
-noslices)
0x0080:宏块(MB)跳过情况
0x0100:启动代码
0x0200:呈现时间标签
0x0400:容错性
0x0800:内存管理控制操作(H.264)
0x1000:缺陷
0x2000:可视化显示量化参数(QP),QP
值越低着色越绿。
0x4000:可视化显示块类型。
- ec=<参数值>
- 设置画面错误掩饰策略。
1:出现受损的宏块时使用效果强烈的去块效应过滤器。
2:迭代搜索运动矢量(MV)(运行慢)
3:全部(默认)
- er=<参数值>
- 设置容错策略。
0:禁用
1:谨慎(应该可用于损坏的编码器。)
2:标准(默认值)(可用于符合规范的编码器。)
3:激进的(检查更多,但即使是有效的比特流也可能导致问题。)
4:非常激进的
- fast(仅用于 MPEG-2、MPEG-4 和
H.264)
- 启用与标准不兼容,并且可能导致问题的优化模式,例如简化反量化方式,简化运动补偿模式,采用默认的量化矩阵,采用YUV
4:2:0,以及跳过一些检测受损比特流的步骤。
- gray
- 仅解码灰度内容(比彩色解码快一点)
- idct=<0-99>(参见
-lavcopts)
- 为了获得最佳的解码质量,编码和解码使用相同的离散余弦变换算法。不过这可能会牺牲一些精度。
- lowres=<数值>[,<宽度>]
- 以较低的分辨率解码。低分辨率解码不是所有编解码器都支持,且常常导致难看的画面损伤。这不是程序缺陷,而是不以完整分辨率解码产生的副作用。
0:禁用
1:1/2 分辨率
2:1/4 分辨率
3:1/8 分辨率
如果指定了
<宽度>,则仅当视频宽度大于等于
<宽度>
时才使用低分辨率解码。
o=<键>=<值>[,<键>=<值>[,...]]
将音视频选项传递至
libavcoder
解码器。注意,欢迎提供一个能使该设置不再需要
o=,并让所有未知选项略过音视频选项系统的补丁。音视频选项的完整列表可在
FFmpeg
用户手册中找到。注意,某些选项可能与
MEncoder 的选项冲突。
示例:
- sb=<数值>(仅用于
MPEG-2)
- 跳过位于底部的所给数量的宏块行。
- st=<数值>(仅用于
MPEG-2)
- 跳过位于顶部的所给数量的宏块行。
- skiploopfilter=<跳过参略值>(仅用于
H.264)
- 在 H.264 解码期间跳过 loop
过滤器(亦称为“去块效应”)。由于所过滤的帧是用作解码依赖帧时的参照帧,因而相比处理诸如
MPEG-2
之类的视频不采取去块效应操作,该选项对于画面质量有更坏的影响。不过至少在处理高比特率的
HDTV
视频时,该选项大幅提高了处理速度且视觉质量下降不明显。
<跳过参数值>
可以是以下的值之一:
none:从不跳过。
default:跳过无用的处理步骤(例如AVI
中大小为 0
的数据包)。
nonref:跳过未被引用的帧(即未用于解码其它帧,因而画面错误无法积累)。
bidir:跳过 B 帧。
nonkey:跳过除关键帧外的所有帧。
all:跳过所有帧。
- skipidct=<跳过参数值>(仅用于
MPEG1/2)
- 跳过离散余弦变换步骤。几乎所有情况下该选项都严重降低画画质量(参见
skiploopfilter
以了解可用的跳过参数值)。
- skipframe=<跳过参数值>
- 完全跳过解码帧的步骤。提速很明多,但是画面运动扯动现象,并且有时产生严重的画面损伤(参见
skiploopfilter
以了解可用的跳过参数值)。
- threads=<1-8>(仅用于
MPEG-1/2 和 H.264)
- 用于解码的线程数(默认值:1)
- vismv=<参数值>
- 可视化显示运动矢量。
0:禁用
1:可视化显示 P
帧的前向预测运动矢量。
2:可视化显示 B
帧的前向预测运动矢量。
4:可视化显示 B
帧的后向预测运动矢量。
- vstats
- 打印一些统计信息并将其保存至
./vstats_*.log 中。
- wait_keyframe
- 显示任何内容前等待关键帧出现。防止有些格式下开始播放或定位后帧画面损坏。
- -noslices
- 禁用以 16
像素高的片断/带状区域为单位绘制视频,而是一次性绘制整个帧。运行可能更快也可能更慢,取决于显卡和可用的缓存量。该选项只对
libmpeg2 和 libavcodec
编解码器有效。
- -nosound
- 不播放/编码声音。有助于基准测试。
- -novideo
- 不播放/编码视频。在许多情况下不起作用,可请使用
-vc null -vo null 替代。
- -pp
<质量>(另见 -vf pp)
- 设置 DLL
的后期处理级别。该选项不再可用于
-vf
pp。仅当使用具有内部后期处理流程的
Win32 DirectShow DLL 时有作用。-pp
参数值的有效范围依编解码器不同而不同,大部分情况下为
0-6,其中
0=禁用,6=最慢/最好。
- -pphelp(另见
-vf pp)
- 显示可用的后期处理过滤器及其用法的简介。
- -ssf
<模式>
- 指定软件缩放器参数。
示例:
-vf scale -ssf lgb=3.0
- -stereo
<模式>
- 选择 MP2/MP3
立体声输出的类型。
- -sws
<软件缩放器类型>(另见
-vf scale 和 -zoom)
- 指定用于 -zoom
选项的软件缩放器算法。该选项对于缺少硬件加速的视频输出驱动,如
x11,有效果。
可用类型有:
- 0
- 快速双重线性模式
- 1
- 双重线性模式
- 2
- 双重立方模式(质量好)(默认值)
- 3
- 实验性模式
- 4
- 最近邻模式(质量差)
- 5
- area
- 6
- 亮度双重立方/色度双重线性模式
- 7
- 高斯变换
- 8
- sincR
- 9
- lanczos 重采样
- 10
- 自然双重立方样条曲线
注意: 有些 -sws
选项可调节。scale
视频过滤器的描述中有更多的信息。
- -vc
<[-|+]编解码器1,[-|+]编解码器2,...[,]>
- 按照在 codecs.conf
中名称,指定使用视频编解码器的优先级列表。编解码器名称前使用‘-’表示忽略该编解码器。编解码器名称前使用‘+’表示强制使用该编解码器,这有可能导致程程崩溃!如果列表尾有‘,’,则
MPlayer
将未列出的编解码器作为后备使用。
注意: 参见 -vc help
以了解可用编解码器的完整列表。
示例:
- -vfm
<驱动1,驱动1,...>
- 按照在 codecs.conf
中名称,指定使用视频编解码器组的优先级列表。如果所给编解码器组无一有作用,则使用默认的编解码器作为后备。
注意: 参见 -vfm help
以了解可用编解码器组的完整列表。
示例:
- -x
<x>(另见
-zoom)(仅用于 MPlayer)
- 将图像缩放为宽度
<x>(如果有可以软件/硬件缩放)。禁止计算高宽比。
- -xvidopts
<选项1:选项2:...>
- 指定使用 Xvid
解码时的附加参数。
注意: 由于 libavcodec
运行比 Xvid
快,因而可能希望换用
libavcodec
的后期处理过滤器(-vf
pp)和解码器(-vfm
ffmpeg)。
Xvid
的内部后期处理过滤器有:
渲染方法:
- -xy
<参数值>(另见
-zoom)
- 参数值<=8
- 以 <参数值>
为因数缩放图像。
- 参数值>8
- 将图像宽度设为参数值,并计算图像高度以保持正确的高宽比。
- -y
<y>(另见
-zoom)(仅用于 MPlayer)
- 将图像缩放到高度
<y>(如果可使用软件/硬件缩放)。禁止计算高宽比。
- -zoom
- 在可能的情况下允许使用软件缩放。该选项会使不支持硬件缩放的输出驱动(比如
x11、fbdev)能够缩放;因为性能原因
MPlayer
默认禁用这些输出驱动的缩放功能。
音频过滤器
音频过滤器用于修改音频流及其属性。
使用语法是:
- -af
<过滤器1[=参数1:参数2:...],过滤器2,...>
- 建立音频过滤器序列。
注意: 参见 -af help
以获得可用音频过滤器的完整列表。
音频过滤器以列表的形式进行管理。有些命令是用来管理这个过滤器列表的。
- -af-add
<过滤器1[,过滤器2,...]>
- 将参数中所给的过滤器添加至过滤器列表的末尾。
- -af-pre
<过滤器1[,过滤器2,...]>
- 将参数中所给的过滤器添加至过滤器列表的开头。
- -af-del
<索引号1[,索引号2,...]>
- 删除位于所给索引号处的过滤器。索引号码起始为
0,负数号码代表从列表的末尾寻址(-1
代表最后一个)。
- -af-clr
- 完全清空过滤器列表。
可用过滤器有:
- resample[=采样率[:宽松性[:类型]]]
- 改变音频流的采样率。可用于声卡只有一个固定的频率,或者受困于一块最高只能处理
44.1kHz
的老式声卡的情况。该过滤器在必要时会自动启用。其只支持长度为
16
位,以系统本身的字节序为格式的整数和浮点数作为输入。
注意: 使用 MEncoder
时,还需要使用 -srate
<采样率>。
- <采样率>
- 以 Hz
为单位的输出采样率。参数的有效范围是从
8000 到
192000。如果输入和输出的采样率相同,或者如果省略了该参数,则自动卸载该过滤器。通常采样率高能改善音频质量,尤其是与其它过滤器组合使用时。
- <宽松性>
- 允许(1)或不允许(0)输出采样率与
<采样率>
所给的频率有稍许不同(默认值:1)。可用于启动播放极端慢的情形。
- <类型>
- 选择使用何种重采样方式。
0:线性插值(运行快,质量低,尤其是采样为更高频率时)
1:多相位过滤器组以及整数处理模式
2:多相位过滤器组以及浮点数处理模式(运行慢,质量最佳)
示例:
- lavcresample[=采样率[:长度[:线性[:总数[:截断]]]]]
- 将音频流采样率变以
Hz 为单位的整数
<采样率>。该选项只支持长度为
16
位,以系统本身的字节序排列的格式。
注意: 使用 MEncoder
时,还需要使用 -srate
<采样率>。
- <采样率>
- 输出的采样率
- <长度>
- 相于较低的那个采样频率的过滤长度(默认值:16)
- <线性>
- 如果值为
1,过滤操作将在多相位项之间以线性方式插值。
- <总数>
- 多相位项数量的 log2
对数值(..., 10->1024, 11->2048,
12->4096,
...)(默认值:10->1024)
- <截断>
- 截断频率(0.0-1.0),默认设置取决于过滤长度
- lavcac3enc[=至SPDIF[:比特率[:最少声道]]]
- 使用 libavccodec
库将多声道音频实时编码为
AC-3 格式。支持 16
位任意字节序的输入格式,最多6个声道。当输出未经处理的
AC-3
音频流时,输出数据是按高位字节靠前排列;当输出至
S/PDIF
时,则是按系统本身的字节序排列。该过滤器的输出采样率与输入采样率相同。当输入采样率为
48kHz、44.1kHz 或 32kHz
时,该过滤器则直接采用这个值。否则,将自动在此过滤器前插入一个重采样过滤器,以使输入和输出采样率均为
48kHz。需要指定‘-channels
N’以使编码器将音频解码为
N
声道,然后过滤器就可以将
N 声道的输入编码为 AC-3
格式了。
- <至SPDIF>
- 若值为零或未设置则输出未经处理的
AC-3 音频流;当 <至SPDIF>
设为非零值时,则输出至
S/PDIF 以略过解码。
- <比特率>
- 编码 AC-3
流时采用的比特率。可将其设为
384 或 384000 以得到 384kbits
的比特率。有效值有:32,
40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256,
320, 384, 448, 512, 576,
640。默认的比特率取决于输入的声道数:1
声道:96,2 声道:192,3
声道:224,4 声道:384,5
声道:448,6 声道:448
- <最少声道>
- 如果输入声道数少于
<最少声道>,则该过滤器脱离过滤器队列。(默认值:5)
- sweep[=速度]
- 产生正弦波扫描信号。
- <0.0-1.0>
- 正弦函数的变化量,可使用非常低的值以听到该扫描信号。
- sinesuppress[=频率:衰减]
- 删除指定频率的正弦波。有助于去除低质量音频设备上的
50/60Hz
噪声。该选项可能只对单声道输入有作用。
- <频率>
- 以 Hz
为单位的应删除正弦波的频率(默认值:50)
- <衰减>
- 控制适应性行为(值越大使过滤器能够越迅速地适应振幅和相位的变化,而值越小使该适应过程越慢)(默认值:0.0001)。合理的值约为
0.001。
- bs2b[=选项1:选项2:...]
- 使用 libbs2b 将 Bauer
立体声转换为双耳立体声。通过使声音更类似于如同从扬声器传来以提升耳机的听觉效果。该模式让每个耳朵同时听见两个声道,并考虑了声音传播距离的差别及头部回响效果。该选项只能应用于
2 个声道的音频。
如果同时指定了
fcut 或 feed
选项与配置,则这两个选项将替换配置集中选项的值。
- hrtf[=标记]
- 头部相关的迁移函数:将多声道音频转换为适用于头戴式耳机的双声道输出,同时保持声音的空间感。
- equalizer=[g1:g2:g3:...:g10]
- 10
个八度波段图形均衡器,实现为使用
10
个无限脉冲响应带通过滤器。这意味着无论播放的是何种音频都能起作用。10
个波段的中心频率各是:.sp
1
- 编号 频率
- 0 31.25 Hz
- 1 62.50 Hz
- 2 125.00 Hz
- 3 250.00 Hz
- 4 500.00 Hz
- 5 1.00 kHz
- 6 2.00 kHz
- 7 4.00 kHz
- 8 8.00 kHz
- 9 16.00 kHz
如果所释放声音的采样率低于某个频率波段的中心频率,则禁用该波段。该过滤器有个已知缺陷是,如果采样率与最高波段的中心频率相近,则该波段的特性并非完全对称。该问题可变通地解决。方法是在该过滤器之前使用
resample
过滤器将声音采样为更高的频率。
- <g1>:<g2>:<g3>:...:<g10>
- 浮点数代表各频率波段的增益分贝(dB)(-12-12)
示例:
- channels=声道数[:路径数:来源1:去向1:来源2:去向2:来源3:去向3:...]
- 可用于添加、去除、转接和复制音频的声道。如果仅给出
<声道数>,则使用默认的转接参数,效果如下:如果输出声道数大于输入声道数,则插入空声道(除非是将单声道混音为立体声:在这种情况下,两个输出声道重复输出该单声道的内容)。如果输出声道数小于输入声道数,则去掉多余的声道。
- <声道数>
- 输出声道数(1-8)
- <路径数>
- 转接路径数(1-8)
- <来源1:去向1:来源2:去向2:来源3:去向3:...>
- 0 到 7
之间的值组成的数字对,其定义的是各声道转接至哪个声道。
示例:
- format[=格式](另见
-format)
- 在不同的采样格式之间转换。当声卡或其他过滤器需要使用时自动启用。
- <格式>
- 设置所需的格式。一般的形式是‘sbe’,其中‘s’表示以有符号格式编码(要么是‘s’表示有符号,要么是‘u’表示无符号),‘b’表示每个样本的比特位数(16、24
或
32),而‘e’指示字节序(‘le’指低位字节在前,‘be’指高位字节在前,而‘ne’指运行
MPlayer
的计算机所用的字节序)。有效值(部分)为:‘s16le’、‘u32be’和‘u24ne’。违返此规则但也有效格式指定值有:u8、s8、floatle、floatbe、floatne、mulaw、alaw、mpeg2、ac3
和 imaadpcm。
- volume[=音量[:软件级削波]]
- 实现软件级的音量控制。需谨慎使用该过滤器,因为可能降低声音的信噪比。在大多数情况下最好是将
PCM
音量设置为最大,以省去该过滤器,而使用混音器的主音量控制功能控制传递到扬声器的输出级别。如果声卡使用的是数字的
PCM
混音器而非模拟的,并且可听到失真,则需
改用主混音器。如果计算机连有外置扩音器(几乎总是这样的情况),可通过调节主音量和扩音器的音量旋钮减少噪声水平,直到背景中的嘶嘶声消失。
该过滤器有第二个功能:测量总体的最高声音等级,并在
MPlayer
退出时将其打印出来。该音量估计值可用于设置
MEncoder
的声音级别,以使所利用的动态范围最大。该功能当前只对浮点型数据起作用,可使用例如
-af-adv force=5 或 -af stats。
注意:
该过滤器不可重复设置,否则对每个音频流只能生效一次。
- <音量>
- 以 dB
为单位设置流中所有声道的所需增益分贝,范围从
-200dB 至 +60dB,其中 -200dB
为完全靜音,而 +60dB
等价于增益 1000
倍(默认值:0)。
- <软件级削波>
- 打开(1)或关闭(0)软件级削波。如果使用了非常高的音量水平,软件级削波可使得声音更平滑。如果扬音器的动态范围非常低,可使用该选项。
警告:
该功能会产生失真,因而应当是最后才考虑使用的手段。
示例:
- pan=n[:L00:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...]
- 可任意对声道进行混音。基本上是
volume 和 channels
过滤器的组合,能用于将许多声道混音至仅仅几个声道,例如将立体声到变单声道,或者改变环绕声系统中置扬声器的‘声场宽度’。该过滤器使用难,并且需要一些修正才能获得所要的结果。该过滤器的选项数取决于输出声道数。关于如何使用该过滤器将
6
声道文件混音为双声道的示例,可在示例章节中邻近末尾的部分找到。
- <n>
- 输出声道数(1-8)
- <Lij>
- 表示输入声道 i
混音成输出声道 j
的程度(0-1)。所以原则上先要有
n
个数指定如何处理第一个输入声道,然后是
n
个数用于第二个输入声道,以此类推。如果某些输入声道未指定任何数,则认为是
0。
示例:
- sub[=频率:声道]
- 将重低音声道添加到音频流中。用于创建超低音声道的音频数据是声道
0 和声道 1
中声音的平均值。这样生成的声音接着使用四阶
Butterworth 过滤器,默认以 60Hz
为截断频率低通滤波,并加入至音频流中的一个独立声道。
警告:
当播放使用杜比数字
5.1 声的 DVD
时,需禁用该过滤器,否则该过滤器将扰乱输出至重低音的声音。
- <频率>
- 低通过滤器的以 Hz
为单位的截断频率(20Hz
至
300Hz)(默认值:60)。要获取最佳效果,可尝试将截断频率尽可能地设置得低。这将改善立体声或环绕声的体验效果。
- <声道>
- 决定用于插入重低声道音频的声道号。声道号可为
0 和 7
之间的值(默认值:5)。可观察到声道数在必要时会自动增加至
<声道>。
示例:
- center
- 根据前置声道创建中置声道。目前可能质量较低,因为还未实现能信号正确抽取信号的高通过滤器,而是取前置声道信号的平均值从而各取一半信号。
- <声道>
- 决定用于插入中置声道的声道编号。声道号可为
0 和 7
之间的值(默认值:5)。可观察到声道数在必要时会自动增加至
<声道>。
- surround[=延迟]
- 用于诸如杜比环绕声之类的矩阵式编码的环绕声的解码器。许多双声道音频文件事实上含有矩阵式编码的环绕音效。需要声卡支持至少
4 声道。
- <延迟>
- 后置扬声器以 ms
为单位的延迟(0 至
1000)(默认值:20)。该延迟应以如下方式设置:如果
d1
是聆听点到前置扬声器的距离,d2
是聆听点到后置扬声器的距离,那么如果
d1 <=
d2,则延迟应当设为
15ms,而如果 d1 > d2 则设为
15 + 5*(d1-d2)。
示例:
- delay[=声道1:声道2:...]
- 延迟扬声器的声音,以使不同声道的声音同时到达聆听点。该选项只有助于有两个以上扬声器的情况。
- 声道1,声道2,...
- 以 ms
为单位的应当加给各个声道的延迟量(0
至 1000
之间的浮点数)。
要计算不同声道所需的延迟量,可按如下方式做:
- 1.
- 以米为单位测量聆听点到扬声器到的距离,得到距离
s1 至 s5。(5.1
系统下)没必要补偿重低音(因为无论如何都听不出差别)。
- 2.
- 从距离 s1 至 s5
中减去各距离的最大值,即
s[i] = max(s) - s[i]; i = 1...5。
- 3.
- 将所需的以 ms
为单位的延迟量计算为
d[i] = 1000*s[i]/342; i = 1...5。
示例:
- export[=内存映射文件[:采样数]]
- 使用内存映射(mmap())将输入信号导出至其它进程。内存映射区所含头部数据为:
int nch /*声道数*/
int size /*缓冲大小*/
unsigned long long counter /*用于保持同步, 每当有新
数据导出时更新。*/
其余部分是作为负载的(非交错排列的)16
位长的数据。
- <内存映射文件>
- 用于映射数据的目标文件(默认值:~/.mplayer/mplayer-af_export)
- <采样数>
- 每个声道的采样数(默认值:512)
示例:
- (线性)增加左右声道的差异以在播放时增加某种‘现场感’效果。
- <乘数>
- 设置差异系数(默认值:2.5)。0.0
表示单声道声效(两个声道的平均值),1.0
表示不改变声音,而
-1.0
表示交换左右声道。
- volnorm[=方式:目标值]
- 声音不失真的情况下使音量最大化。
- <方式>
- 设置所用的方式。
1:通过取先前采样的标准加权平均值使用单个样本平滑变化幅度(默认值)。
2:通过取先前采样的标准加权平均值使用多个样本平滑变化幅度
- <目标值>
- 以相于采样类型的最大放大值的比例设置目标扩大值(默认值:0.25)。
- ladspa=文件:标签[:若干控制值...]
- 加载 LADSPA(Linux
音频开发者简单插件开发接口)插件。该过滤器可重复设置,所以一次可使用多个
LADSPA 插件。
- <文件>
- 指定 LADSPA
插件的库文件。如果设置了
LADSPA_PATH,则从中搜寻所指定的文件。如果未设置,则需提供描述完整的路径名。
- <标签>
- 指定使用库中的过滤器。有些库仅含一个过滤器,而另一些含有许多个。将该值输入为‘help’将列出所指定库中所有可用的过滤器,从而省去使用
LADSPA SDK
中‘listplugins’的麻烦。
- <若干控制值>
- 控制值是 0
个或多个浮点数值,其决定了所加载插件的行为(例如:延迟、阈值和增益)。在详细输出模式下(将
-v 添加至 MPlayer
命令中)将打印所有可用的控制值及其有效范围。这就省去了使用
LADSPA SDK
中的‘analyseplugin’的麻烦。
- comp
- 有助于话筒输入的压缩器/扩音器过滤器。其防止非常响的声音造成音质损伤,并在声音非常低时提高音量。该过滤器未经测试,甚至可能不稳定。
- gate
- 类似于 comp
音频过滤器的噪声门限过滤器。该过滤器未经测试,甚至可能不稳定。
- karaoke
- 简单人声去除过滤器,其利用的原理是人的声音通常以单声道设备录制,并且之后“以居中的位置”混音至最终的音频流中。注意该过滤器会将信号变成单声道。2
声道音轨下效果很好;在非
2
声道立体声的内容上切勿尝试。
- scaletempo[=选项1:选项2:...]
- 改变音频的节奏但不改变音高,可选择与播放速度同步(默认值)。
其工作方式是以正常速度播放
´stride´ ms
的音频,然后处理
´stride*scale´ ms
的输入音频。通过将跨度域中
´overlap´%
的内容与紧接着前一个跨度域的音频混合在一起,使各个跨度域拼接在一起。可选择让该选项在下
´search´ ms
的音频上作一个短小的统计性分析,以判定最佳的重叠位置。
- scale=<数量>
- 缩放节奏的标称数量。按该数量缩放节奏,与
speed
的效果相叠加。(默认值:1.0)
- stride=<数量>
- 以毫秒为单位的所输出的每个跨度域的长度。值设得太高会在
scale
值很高时产生可观的不连贯现象,而在
scale
值很小时产生回声现象。值设得太低会改变音高。值越大性能越好。(默认值:60)
- overlap=<百分比值>
- 跨度域之间重叠的百分比。值越小性能越好。(默认值:.20)
- search=<数量>
- 以单位为毫秒的用于搜索最佳重叠位置的搜索长度。值越小性能越是大幅度提升。在运行慢的系统上,可能希望将该值设得非常低。(默认值:14)
- speed=<tempo|pitch|both|none>
- 设置播放速度改变时的反应。
- tempo
- 改变音频节奏以使其与播放速度同步(默认值)。
- pitch
- 使过滤器产生相反的效果。改变音高而不改变音频节奏。
可在 input.conf 中加入 ´[ speed_mult
0.9438743126816935´ 和 ´] speed_mult
1.059463094352953´
使其以乐理中的半音为步进改变。
警告:
与视频的同步变差。
- both
- 同时改变节奏和音高。
- none
- 忽略播放速度的改变。
示例:
- stats
- 收集并打印音频流的统计信息,尤其是音量信息。这些统计信息特别用于帮助调节音量以防止削波。音量以
dB
为单位打印并与用于音量的音频过滤器相兼容,这些数值总是向
-0dB 方向取整。
‘n_samples’字段是过滤器读到的采样总数。‘mean_volume’字段是均方值的平方根。‘max_volume’字段的含义与其名完全一致(最大音量)。‘histogram_Xdb’字段统计的是会有多少采样的值是
-XdB,此时 X
为刚好低于最大音量的值。
例如,如果 max_volume 为
-7dB 并且 histogram_7dB 为
19,则‘volume=7’不会导致削波,而‘volume=8’将在刚好
19
个采样中导致削波。
视频过滤器
视频过滤器用于修改视频流及其属性。使用语法是:
- -vf
<过滤器1[=参数1:参数2:...],过滤器2,...>
- 设置视频过滤器序列。
许多参数是可选的并且如果省略的话则设为默认值。要明确表示使用默认值,则将参数设为‘-1’。参数
w:h 表示以像素为单位宽
x 高 h,x:y
表示从较大的图像的左上角开始数
x:y 的位置。
注意:
要获取可用视频过滤器列表,参见
-vf help。
视频过滤器以列表的形式维护。有一些命令用于维护过滤器列表。
- -vf-add
<过滤器1[,过滤器2,...]>
- 在过滤器列表尾部加上参数中所给的过滤器。
- -vf-pre
<过滤器1[,过滤器2,...]>
- 在过滤器列表头部加上参数中所给的过滤器。
- -vf-del
<索引号1[,索引号2,...]>
- 删除位于指定索引号上的过滤器。索引号起始为0,负数表示从列表尾部开始寻址(-1表示最后一个)。
- -vf-clr
- 完全清空过滤器列表。
如果过滤器支持,可以通过参数的名字操作参数。
- -vf
<过滤器>=help
- 打印特定过滤器的参数名及参数的取值范围。
- -vf
<过滤器=已命名参数1=参数值1[:已命名参数2=参数值2:...]>
- 将一个已命名参数设置为指定参数值。使用
on 和 off 或 yes 和 no
设置标记形式的参数。
可用插件有:
- crop[=w:h:x:y]
- 切割出图像的指定部分并丢弃其余部分。有助于去掉宽银幕电影的黑边。
- <w>,<h>
- 切割出来部分的宽和高,默认值为原始的宽度和高度。
- <x>,<y>
- 切割出来部分的位置,默认值是中央。
- cropdetect[=限制:取整值[:重置值]]
- 计算必要的切割参数并把推荐值显示在标准输出上。
- <限制>
- 阈值,可设范围为无(0)至所有(255)(默认值:24)
- <取整值>
- 宽:高值应当能整除的值(默认值:16)。补偿取整时将自动调整以使视频位于屏幕中心。使用
2
以只得到偶数尺寸(4:2:2
的视频需要该设置)。16
是大多数编码器编码的最合适的值。
- <重置值>
- 计数值,用以决定多少帧后
cropdetect
将重置先前侦测的最大视频区域,并重新侦测当前的最优切割区域(默认值:0)。该选项可能有助于电视台台标影响了视频区域的情况。0
表示从不重置而是返回播放过程中遇到的最大区域。
- rectangle[=w:h:x:y]
- 在图像上的指定坐标画一个所要求宽度和高度的矩形,并且将当前矩形的参数输出至控制屏幕窗口。该选项可用于找到最优的切割参数。如果将
input.conf
中的指令‘change_rectangle’与按键绑定,则可实时移动和调整矩阵。
- <w>,<h>
- 宽度和高度(默认值:-1,在边缘可见的条件下宽度的最大可能值)。
- <x>,<y>
- 左上角的位置(默认值:-1,屏幕最左上角)
- expand[=w:h:x:y:o:a:r]
- 将影片的分辨率扩展(而不是缩放)至指定的值并将未缩放的原始图像移至
x,y
坐标。可以用于将字幕/OSD
放置在该过滤器生成的黑边中。
- <w>,<h>
- 扩展后的宽、高(默认值:原始的宽、高)。w
和 h
的负数值将视作相对于原始大小的增加量。
示例:
- <x>,<y>
- 原始图像在扩展后的图像中的位置(默认值:位于中心)
- <o>
- OSD/字幕的渲染
0:禁用(默认值)
1:启用
- <a>
- 扩展时力求适应某个宽高比而非某个分辨率(默认值:0)。
示例:
- <r>
- 对数值取整以使宽和高的数值能被
<r>
整除(默认值:1)。
- flip(另见
-flip)
- 翻转图像使其上下颠倒。
- mirror
- 使图像以 Y 轴翻转。
- rotate[=<0-7>]
- 以 90
度为单位旋转图像并可选择将其翻转。如果值在
4 至 7
之间,则只有当影片是纵向放置(宽度比高度小)而非横向放置(宽度比高度大)时才执行旋转操作。
- 0
- 顺时针旋转 90
度并翻转(默认值)。
- 1
- 顺时针旋转 90 度。
- 2
- 逆时针旋转 90 度。
- 3
- 逆时针旋转 90
度并翻转。
- scale[=w:h[:隔行扫描[:色度丢弃[:参数[:参数2[:预设尺寸[:不放大[:精确取整]]]]]]]]
- 使用软件缩放器(速度慢)缩放图像并执行
YUV<->RGB
色彩空间转换(另见
-sws)。
- <w>,<h>
- 缩放后的宽/高值(默认值:原始的宽/高值)
注意:
若使用了-zoom,并且底层的过滤器(包括libvo)无法执行缩放,则其默认设置为默认宽度/默认高度!
0:
缩放后的默认宽度/默认高度
-1: 原始宽/高
-2: 使用 w/h
中的另一个值和先前已缩放的宽高比计算
w/h。
-3: 使用 w/h
中的另一个值和原始的宽高比计算
w/h。
-(n+8):与以上的 -n
设置相似,但对尺寸取整使其最接近的
16 的倍数。
- <隔行扫描>
- 切换隔行扫描视频的缩放方式。
0:关闭(默认)
1:打开
- <色度丢弃>
- 忽略色度信息的方式
0:使用所有可用输入扫描行上的色度信息。
1: 只使用每隔 2
个输入扫描行上的色度信息。
2: 只使用每隔 4
个输入扫描行上的色度信息。
3: 只使用每隔 8
个输入扫描行上的色度信息。
- <参数>[:<参数2>](另见
-sws)
- 根据 -sws
中所选的缩放器类型设置缩放参数。
-sws
2(双重立方模式):B(模糊)和
C(色斑)
0.00:0.60 默认值
0.00:0.75 VirtualDub
中的“精确双立方插值”
0.00:0.50 Catmull-Rom 曲线
0.33:0.33 Mitchell-Netravali 曲线
1.00:0.00 立方次 B 曲线
-sws
7(高斯变换):锐化度(0(柔和)-
100(锐利))
-sws 9(LANCZOS
重采样):过滤长度(1-10)
- <预设尺寸>
- 缩放至预设尺寸。
qntsc: 352x240(NTSC
四分之一大小屏幕)
qpal: 352x288(PAL
四分之一大小屏幕)
ntsc: 720x480(标准 NTSC)
pal: 720x576(标准 PAL)
sntsc: 640x480(正方形像素
NTSC)
spal: 768x576(正方形像素
PAL)
- <不放大>
- 不允许放大时超出原始尺寸。
0:允许放大时超出(默认)。
1:若有一个尺寸超出其原始值时则不允许。
2:若有两个尺寸均超出其原始值时则不允许。
- <精确取整>
- 垂直缩放器使用的精确取整方式,比默认的取整方式可能速度快,也可能速度慢。
0:禁止精确取整(默认值)。
1:允许精确取整。
- dsize[=宽高比|w:h:宽高比方式:r]
- 在过滤器序列上的任意位置更改需要应用的显示大小/宽高比。宽高比可以是分数(4/3)或浮点数(1.33)。或者,可以指定所需显示的宽和高的实际大小。注意这个过滤器自己
不
做任意缩放操作;其只影响到之后的(硬件或软件)缩放器在修正宽高比时将采取的行为。
- <w>,<h>
- 新显示模式的宽度和高度。也可是以下这些特殊值:
0:
原来显示模式的宽度和高度
-1:
原始视频的宽度和高度(默认)
-2: 使用 w/h
中的另一个尺寸值和原来显示的宽高比计算
w/h。
-3: 使用 w/h
中的另一个尺寸值和原始视频宽高比计算
w/h。
示例:
- dsize=800:-2
- 指定当视频宽高比为
4/3 时显示分辨率为
800x600,或当视频宽高比为
16/9 时使用 800x450。
- <宽高比方式>
- 根据原来的宽高比修改宽度和高度。
-1:忽略原有的宽高比。(默认值)
0:在 <w> 和 <h>
作为最大的分辨率的情况下保持
显示出来的宽高比。
1:在 <w> 和 <h>
作为最小的分辨率的情况下保持
显示出来的宽高比。
2: 在 <w> 和 <h>
作为最大的分辨率的情况下保持
视频的宽高比。
3: 在 <w> 和 <h>
作为最小的分辨率的情况下保持视频
的宽高比。
示例:
- <r>
- 将宽度和高度值取整至可被
<r>
整除的值(默认值:1)。
- yvu9
- 强制执行 YVU9 至 YV12
色彩空间的软件转换。不赞成使用,因为使用软件缩放器更好。
- yuvcsp
- 将 YUV 色彩值限制在 CCIR 601
定义的范围内而不做实际的色彩转换。
- palette
- 使用调色板数据进行
RGB/BGR 8 -> 15/16/24/32
位色彩空间转换。
- format[=fourcc[:输出fourcc]]
- 限制下一个过滤器使用的色彩空间而不做任何转换。可与
scale
过滤器共同使用完成实际转换。
注意:
要获取可用格式列表参见
format=fmt=help。
- <fourcc>
- 格式名称,如
rgb15、bgr24、yv12(默认值:yuy2)
- <输出fourcc>
- 用于替换为输出格式的格式名。如果该值不能
100% 与 <fourcc>
的值相兼容,则将导致程序崩溃。
有效用法示例:
format=rgb24:bgr24 format=yuyv:yuy2
无效用法示例(程序将崩溃):
format=rgb24:yv12
- noformat[=fourcc]
- 限制下一个过滤器使用的色彩空间而不做任何转换。与
format
过滤器不同,该过滤器能处理任意色彩空间,
除了 自定义的。
注意:
要获取可用格式列表参见
noformat=fmt=help。
- <fourcc>
- 格式名称如
rgb15、bgr24、yv12(默认值:yv12)
- pp[=过滤器1[:选项1[:选项2...]]/[-]过滤器2...](另见-pphelp)
- 启用指定序列的后期处理子过滤器。子过滤器必须用‘/’分隔,并可通过在其名字前加‘-’而禁用。所有子过滤器和有些选项有一个短名和一个长名,两者可以互换使用。例如,dr/dering
是一样的。一些共用的选项在所有的子过滤器中使用以决定这些子过滤器的作用范围:
注意: -pphelp
列出了可用子过滤器的列表。
可用的子过滤器有
- spp[=质量[:量化参数[:模式]]]
- 简单后期处理过滤器,在多次(或者——当质量等级为
6
时——在所有的)变换中压缩和解压图像并取平均值作为结果。
- <质量>
- 0-6(默认值:3)
- <量化参数>
- 强制使用的量化参数(默认值:0,使用来自视频的量化参数)。
- <模式>
- 0:刚性阈值(默认值)
1:柔性阈值(去色斑效果好,但较模糊)
4:与 0
相似,但同时使用 B
帧的量化参数(可能导致闪烁)
5:与 1
相似,但同时使用 B
帧的量化参数(可能导致闪烁)
- uspp[=质量[:量化参数]]
- 极简单且速度慢的后期处理过滤器,在多次(或者——当质量等级为
8
时——在所有的)变换中压缩和解压图像并取平均值作为结果。其与
spp 行为的差异在于 uspp
在所有情况下使用
libavcodec Snow 编码及解码,而
spp 仅使用类似于 MJPEG
的简化的内部 8x8
离散余弦变换。
- <质量>
- 0-8(默认值:3)
- <量化参数>
- 强制使用的量化参数(默认值:0,使用来自视频的量化参数)。
- fspp[=质量[:量化参数[:强度[:B帧]]]]
- 简单后期处理过滤器的一个快速版本
- <质量>
- 4-5(与 spp
中的等价;默认值:4)
- <量化参数>
- 强制使用的量化参数(默认值:0,使用来自视频的量化参数)。
- <-15-32>
- 过滤强度,值越低意味着加入更多细节但同时也带来更多损伤,而值越高越使图像平滑但同时也越模糊(默认值:0
- PSNR优化)。
- <B帧>
- 0:不使用 B
帧的量化参数(默认值)
1:也使用 B
帧的量化参数(可能导致闪烁)
- pp7[=量化参数[:模式]]
- spp
过滤器的变种,与使用
7 顶点离散余弦变换的
spp=6
相似,在这种情况下只有中央的采样在离散余弦逆变换后使用。
- <量化参数>
- 强制使用的量化参数(默认值:0,使用来自视频的量化参数)。
- <模式>
- 0:刚性阈值
1:柔性阈值(去色斑效果较好,但较模糊)
2:中性阈值(默认值,效果好)
- qp=方程式
- 改变量化参数的过滤器
- <方程式>
- 诸如“2+2*sin(PI*qp)”之类的方程式
- geq=方程式
- 改变通用方程式的过滤器
- <方程式>
- 某种方程式,例如用以水平翻转图像的‘p(W-X\,Y)’。可使用空白分隔符使方程式更容易读懂。有一些常量可以在方程式中使用:
PI:圆周率派
E:自然常数 e
X / Y:当前采样中的坐标
W / H:图像的宽度和高度
SW /
SH:当前过滤器处理过后的平面的宽/高度量尺度,例如用于
YUV 4:2:0 的 1 ,1 和 0.5,0.5。
p(x,y):返回当前平面 x/y
位置上像素的值。
- test
- 生成各种测试中的测试用图样。
- rgbtest[=宽:高]
- 生成 RGB
测试图样,适用于对比
RGB 和 BGR
的场合。将看到由上而下的红、黄、蓝三色条纹。
- <宽>
- 期望生成图像所具有的宽度(默认值:0)。0
表示输入图像的宽度。
- <高>
- 期望生成图像所具有的高度(默认值:0)。0
表示输入图像的高度。
- lavc[=质量:fps]
- 使用 libavcodec 执行 YV12 至 MPEG-1
的软件级的快速转换,用于与
DVB/DXR3/IVTV/V4L2 一同使用。
- <质量>
- 1-31:固定的量化尺度
32-:以 kbits
为单位的固定比特率
- <fps>
- 强制指定的输出 fps
值(浮点值)(默认值:0,根据图像高度自动检测)
- dvbscale[=宽高比]
- 设置用于数字视频广播卡的优化缩放比例,用硬件度量
x 轴而用软件计算 y
轴比率以保持宽高比。只有当与
expand 和 scale
过滤器一同使用时才有作用。
- <宽高比>
- 控制宽高比例,计算方式为
数字视频高度*宽高比(默认值:576*4/3=768
),使用 16:9
的电视时需将其设置为
576*(16/9)=1024。
示例:
- noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
- 添加噪声效果。
- <0-100>
- 亮度噪声
- <0-100>
- 色度噪声
- u
- 均匀噪声(否则就是高斯分布的)
- t
- 时间性噪声(噪声样式在不同帧上是不同的)
- a
- 平均化的时间性噪声(更平滑,但相较而言渲染得很慢)
- h
- 高质量(稍显好看,渲染稍慢)
- p
- 具有(半)规则样式的混合随机噪声
- denoise3d[=亮度空间:色度空间:亮度时间:色度时间]
- 该过滤器目标在于消除图像上的噪声,产生平滑的图像,并且使静态图像真正静止(这能提
高可压缩性。)。
- <亮度空间>
- 亮度空间上的强度(默认值:4)
- <色度空间>
- 色度空间上的强度(默认值:3)
- <亮度时间>
- 亮度时间上的强度(默认值:6)
- <色度时间>
- 色度时间上的强度(默认值:亮度时间*色度空间/亮度空间)
- hqdn3d[=亮度空间:色度空间:亮度时间:色度时间]
- denoise3d
过滤器的高精度/质量版本。参数与用法与
denoise3d 相同。
- ow[=深度[:亮度强度[:色度强度]]]
- 过补偿小波降噪过滤器。
- <深度>
- 深度值越大将去除越是多地去除越是低频率部分的噪音,但同时越是减慢过滤速度(默认值:8)。
- <亮度强度>
- 亮度强度(默认值:1.0)
- <色度强度>
- 色度强度(默认值:1.0)
- eq[=亮度:对比度](不推荐使用)
- 像硬件均衡器一样可以交互式控制的软件均衡器,用于那些不支持硬件级亮度和对比度控制的显卡/驱动。可能有助于
MEncoder
修改抓取得不好的影片,或是稍稍降低对比度以隐藏画质损伤并使低比特率下画质尚可。
- <-100-100>
- 初始亮度
- <-100-100>
- 初始对比度
- eq2[=伽玛值:对比度:亮度:饱和度:rg:gg:bg:权重]
- 另一种软件均衡器,其使用对照表(运行缓慢),除了简单的亮度和对比度调整外还允许伽玛修正。注意当所有的伽玛值为
1.0 时,其与 -vf eq
使用同样的 MMX
优化代码。参数值是以浮点值形式给出的。
- <0.1-10>
- 初始伽玛值(默认值:1.0)
- <-2-2>
- 初始对比度,在此设负数值将导致图像呈现负片效果(默认值:1.0)
- <-1-1>
- 初始亮度(默认值:0.0)
- <0-3>
- 初始饱和度(默认值:1.0)
- <0.1-10>
- 红色成份的伽玛值(默认值:1.0)
- <0.1-10>
- 绿色成份的伽玛值(默认值:1.0)
- <0.1-10>
- 蓝色成份的伽玛值(默认值:1.0)
- <0-1>
- 权重参数可以用来消减速高伽玛值在图像明亮区域的效果,比方说防止这些区域过度增益而变得仅仅是纯白色。值为
0.0
则使得在所有情况下执行伽玛值修正,而值为
1.0
则让伽玛值始终保持其修饰力度(默认值:1.0)。
- hue[=色调:饱和度]
- 像硬件均衡器一样可以交互控制的软件均衡器,用于那些不支持硬件级色调和饱和度控制的显卡/驱动。
- <-180-180>
- 初始色调(默认值:0.0)
- <-100-100>
- 初始饱和度,在此设负数值将导致负色度(默认值:1.0)
- halfpack[=f]
- 将按平面存放的 YUV 4:2:0
格式转换成半高度已打包的
4:2:2
格式,对于亮度值降低质量采样但保留所有色度采样值。有用于硬件降低精度采样图像的质量不高或无法提供该功能,而需将信号输出至一个低分辨率显示设备的场合。也可以作为一种占用
CPU
低,仅针对亮度信号的简单的解除隔行扫描过滤器。
- <f>
- 默认情况下,半打包过程在降低质量采样时取每对扫描行的平均值。任何不为
0 或 1
的值指定均是采用默认的(取平均值的)行为。
0:在降低质量采样时只使用偶数扫描行的信息。
0:在降低质量采样时只使用奇数扫描行的信息。
- ilpack[=模式]
- 当隔行扫描视频以 YUV 4:2:0
格式存放时,由于色度信道在垂直方向上降低质量采样的关系,色度信号在隔行扫描中没有恰当地地排列。该过滤器将按平面存放的
4:2:0 的数据打包进
YUY2(4:2:2)格式时,将色度信号恰当地排列至应处的位置,以便在任意所给扫描行中亮度和色度数据来源于同一个数据域。
- <模式>
- 选择采样的模式。
0:最近邻采样模式,快速但不准确
1:线性插值(默认方式)
- harddup
- 仅有助于使用
MEncoder。如果在编码中使用了
hardup,其将强制造成重复的帧编码至输出中。这将占用稍多的空间,但当输出至
MPEG 文件或
需在编码后分离再合并视频流时,这有必要的。应放置于过滤器序列的最后或接近于最后,除非有充足的理由不这样做。
- softskip
- 仅有助于使用 MEncoder。softskip
将编码中跳过(丢弃)帧的步骤从过滤器序列之前移至过滤器序列中的某个位置。这使那些需要读取所有帧的过滤器(反电视图像模式、去时间性噪声等等)能正常工作。应放置在那些需要读取所有帧的过滤器之后,并在任何大量消耗
CPU 的过滤器之前。
- decimate[=最大:高:低:部分]
- 丢弃那些与先前的帧差别不大的帧,以降低帧率。该过滤器的主要用途是在极低的比特率下编码(例如在拨号接入的调制解调器线路上传输流媒体),但在理论上可以用于修复未正确去除电视图像模式的影片)。
- <最大>
- 设置最大可以连续丢弃的帧的个数(当该值为正数时),或被丢弃帧间的最小间隔(当该值为负数时)。
- <高>,<低>,<部分>
- 当没有一个 8x8
的区域的差别值大于阈值
<hi>,并且不超过 <frac>
个部分(1
表示整幅画面)的差别值大于阈值
<lo>
时,这个帧就可以被丢弃。数值
<hi> 和 <lo> 表示 8x8
像素区块中实际存在的不同值的像素个数,于是阈值
64
对应于每个像素都有一个不同的值,或这种情形以不同的形式在整个区块中分布的形式。
- dint[=灵敏度:等级]
- 该丢帧式解除隔行扫描(dint)过滤器侦测出并丢弃一连串隔行扫描视频的帧中的第一个帧。
- <0.0-1.0>
- 相邻像素间的相对差异值(默认值:0.1)
- <0.0-1.0>
- 只有当图像中的哪个部分必须侦测为隔行扫描时,才能丢弃该帧(默认值:0.15)。
- lavcdeint(不推荐使用)
- FFmpeg
的解除隔行扫描过滤器,与
-vf pp=fd 相同
- lavfi=filtergraph
- 包装 FFmpeg libavfilter
接口的过滤器。filtergraph
定义的是具有单个输入和单个输出的
libavfilter 流程图。参见
http://www.ffmpeg.org/libavfilter.html#SEC4
以了解详细信息。
有一种特殊情况,如果
filtergraph 为
$word,那么将使用环境变量
word
的值;当逗号出现在流程图的描述中时,这是有必要的,因为
mplayer
使用这些符号作为过滤器之间的分隔符。
注意:
一般认为该过滤器只用于实验,因为其与其它过滤器交换可能不正常。
示例:
overlay="movie=$small_video, scale=160:120 [ca]; [in] [ca]
overlay=16:8" mplayer -vf lavfi='$overlay' $big_video
- kerndeint[=阈值[:映射[:次序[:锐化[:双向]]]]]
- Donald Graft
的自适应的内核级解除隔行扫描过滤器。当超过配置中的阈值时,解除视频中的隔行扫描部分。
- <0-255>
- 阈值(默认值:10)
- <映射>
0:忽略超出阈值的像素(默认值)。
1:将超出阈值的像素输出为白色。
- <次序>
0:保持扫描场次序(默认值)。
1:交换扫描场的次序。
- <锐化>
0:禁用额外的锐化处理(默认值)。
1:启用额外的锐化处理
- <双向>
0:禁用双向锐化处理(默认值)。
1:启用双向锐化处理。
- unsharp[=l|c宽x高:量[:l|c宽x高:量]]
- 反锐化修饰 /
高斯模糊
- l
- 将效果应用于亮度部分。
- c
- 将效果应用于色度部分。
- <宽>x<高>
- 矩阵的宽度和高度,两者都是奇数尺寸(最小值
= 3x3,最大值 = 13x11 或
11x13,通常在 3x3 至 7x7
之间)
- amount
- 图像锐利度/模糊度的相对增量(合理的值应为
-1.5-1.5)。
<0:模糊
>0:锐利
- swapuv
- 交换 U 和 V
两个平面的位置。
- il[=d|i][s][:[d|i][s]]
- 对扫描行执行(解除)交错操作。该过滤器的目标是提供处理隔行扫描图像的前半个扫描场而不对其进行解除隔行扫描操作的功能。可在不破化隔行扫描结构的情况下过滤隔行扫描的
DVD
视频,然后让其在电视上播放。(在后期处理过滤器的作用下)解除隔行扫描(通过柔化、平均化之类的手段)永久性地去除了隔行扫描结构,而解除交错操作将帧分离成
2
个扫描场(所谓的半幅画面),因此可以分别地处理(过滤)这些扫描场然后重新将其交错起来。
- d
- 解除交错操作(将一个扫描场置于另一个上方)
- i
- 交错操作
- s
- 交换扫描场的位置(交换奇偶扫描线的位置)
- fil[=i|d]
- 对扫描行执行(解除)交错操作。与
il
过滤器十分相像,但相较之下运行得很快,其主要的缺点是并非总是起作用。尤其是当与其它过滤器一起使用时,可能随机产生一些渲染错误的图像,所以如果其能起作用则暗自庆幸吧,而如果其在过滤器组合中不起作用也不要抱怨。
- d
- 对扫描场执行反交错操作,将其一个个紧挨着放在一起。
- i
- 对扫描场再次执行交错操作(产生与
fil=d 相反的效果)。
- field[=n]
- 使用大跨度计算方式从一幅隔行扫描图像中抽取单个扫描场,以避免浪费
CPU 时间。可选参数 n
指定抽取的是偶数场还是奇数场(取决于
n
是偶数还是奇数)。
- detc[=变量1=值1:变量2=值2:...]
- 尝试逆转‘电视电影模式’处理操作以还原电影帧率下纯净、非隔行扫描的视频流。这是第一个也是最基本的一个添加到
MPlayer/MEncoder
中的反电视图像模式过滤器。其工作方式是锁定电视图像模式中的
3:2
画面特征,然后尽可能长地跟踪这个特征。这使其适用于完全电视图像化的数据,即使在有一定噪声的情况下亦是如此,但不适用于复杂的后期电视图像模式的图像的编辑。该过滤器的开发已不再继续,因为
ivtc、pullup、和 filmdint
在大多数应用中效果更好。以下参数(参见下面的句法解释)可用于控制
detc 的行为:
- <dr>
- 设置丢弃帧的模式。
0:不丢弃帧以保证输出帧率恒定(默认方式)。
1:当最近5个帧没有丢弃或不是电视图像模式时则一定丢弃一个帧。
2:总保证输入输出帧率比正好为5:4。
注意: 模式 1 和 2 用于
MEncoder。
- <am>
- 分析模式。
0:固定特征,初始帧的代号由
<fr> 指定。
1:积极搜寻电视图像模式特征(默认值)
- <fr>
- 设定帧序列中初始帧的代号。0-2
是三个纯逐行扫描的帧;3
和 4
是两个隔行扫描的帧。默认值
-1
表示‘初始帧不在电视图像模式的序列中’。这里指定的代号是假想位于影片开始前的那一帧的类型。
- <t0>, <t1>, <t2>, <t3>
- 用于某些模式下的阈值。
- ivtc[=1]
- 实验性的‘无状态’逆转电视图像模式过滤器。ivtc
并不像 detc
过滤器那样尝试锁定特征,而是对于每一帧独立地决策。这对于那些在应用电视图像模式后经历较多编辑的视频相对而言具有很好的效果,但相应地其相对不能容忍有噪声的输入,比如从电视上捕捉来的视频。可选参数(ivtc=1)对应于
detc 过滤器的 dr=1
选项,并且应当用于
MEncoder 中而不能用于
MPlayer。与 detc
一样,必须在使用 MEncoder
时指定正确的输出帧率(-ofps24000/1001)。ivtc
的进一步开发已停止,因为
pullup 和 filmdint
过滤器显得相对精确得多。
- pullup[=jl:jr:jt:jb:sb:mp]
- 第三代反下拉处理(逆转电视图像模式)过滤器,能够处理混合型硬件生成的电视图像化的、24000/1001
帧率逐行扫描的以及
30000/1001
帧率逐行扫描的内容。pullup
过滤器在设计上通过决策中参考将来的相关内容,以比
detc 或 ivtc 更稳定。与 ivtc
相似,pullup
是无状态的,这是因为其不是锁定所追踪的扫描场,而是预先查看紧接着的扫描场,以此找出匹配的场并重建逐行扫描的帧。其仍处于开发之中,但可确信是相当精确的。
- jl、jr、jt、和
jb
- 这些选项用于设置图像的左边、右边、上边和下边各有多少“垃圾信息”要忽略。左/右两边是以
8
像素为单位计量,而上/下两边是以
2
个扫描行为单位计量。默认是每边各取
8 个像素。
- sb(strict
breaks,严格拆分)
- 该选项设置为 1
将减小 pullup
产生偶发性不匹配帧的机率,但也可能导致高动态的帧序列中丢弃过多的帧。与之相反,将其设置为
-1 将使 pullup
能更容易地匹配扫描场。这可能有助于处理那些在扫描场间存在些许模糊特征的视频,但也可能导致输出中存在隔行扫描的帧。
- mp(metric
plane,度量平面)
- 该选项可设为 1 或 2
以使用色度平面而非亮度平面来进行
pullup
的计算。这可能提高处理清晰视频时的精确度,但更可能降低精确度,尤其是存在色度噪声(彩虹效应)或视频为灰度的场合。将
mp
设置成色度平面的主要目的是降低
CPU 负荷,并使 pullup
在运行慢机器上可用。
注意:
在编码中一定要在 pullup
后跟上 softskip
过滤器以保证 pullup
能读取所有帧。由于编解码器/过滤器层在设计上的局限,不这样做会导致输出不正确,并且往往程序会崩溃。
- filmdint[=若干选项]
- 逆转电视图像模式过滤器,与上文的
pullup
过滤器相似。其设计上用于处理任意下拉处理特征,包括混合型软件和硬件生成的电视图像模式,并有限地支持那些在电视上播放时会慢于或快于原始帧率的影片。只有亮度平面用以寻找拆分帧的位置。如果一个扫描场没有匹配上特征,则就使用简单的线性估计方式解除其隔行扫描结构。如果来源是
MPEG-2
格式,那么该过滤器必须是第一个过滤器,以便能够获得
MPEG-2
解码器设置的扫描场标志。根据
MPEG
来源的不同,只要未看到许多“下半扫描场先扫描”的警告,可能无需采纳该建议。不设选项时,该过滤器只是做普通的逆转电视图像模式处理,并且应当与
mencoder -fps 30000/1001 -ofps 24000/1001
一同使用。当该过滤器用于
MPlayer
时,将导致播放时帧速率不匀衡,但在通常情况下比使用
pp=lb
或不进行解除隔行扫描操作要好。多个选项可以使用/分隔开指定。
- crop=<w>:<h>:<x>:<y>
- 就像 crop
过滤器一样,但更快而且能用于混合型硬件和软件生成的电视图像化的内容,以及
y
不是4的倍数的情形。如果
x 或 y
的设置要求从色度平面中裁剪掉非整个像素时,裁剪出的区域将延伸。这通常意味着
x 和 y 必须是偶数。
- io=<ifps>:<ofps>
- 每输入 ifps
个帧,过滤器将输出
ofps 个帧。ifps/ofps
的比率应当与 -fps/-ofps
的比率相匹配。这可用于过滤那些在电视上播放时帧率不同于原始值的影片。
- luma_only=<n>
- 如果 n
为非零值,色度平面就原封不动地输出。这有助于处理
YV12
采样的电视信号,这种信号丢弃其中一个色度扫描场。
- mmx2=<n>
- 在 x86 系统上,如果
n=1,则使用 MMX2
优化的函数,如果
n=2,则使用 3DNow!
优化的函数,否则使用普通的
C
代码。如果不指定该选项,将自动侦测
MMX2 和
3DNow!;可使用该选项改写自动侦测到的结果。
- fast=<n>
- n
值较大时能提高过滤器的运行速度但牺牲了精确性。默认值是
n=3。如果 n 是奇数,MPEG
的 REPEAT_FIRST_FIELD
标志位已标记的帧后紧跟的一帧将认作是逐行扫描的,于是过滤器无需在处理软件生成的电视图像化的
MPEG-2
内容上花任何时间了。这是当
MMX2 或 3DNow!
可用时该标志位的唯一作用。在没有
MMX2 和 3DNow!
的情况下,如果 n=0 或
1,那么将使用与 n=2 或 3
的时候同样的计算方式。如果
n=2 或
3,用于寻找帧拆分点的亮度阶数值就从
256 降低为
128,这使过滤器运行更快而不损失太多的精确性。如果
n=4 或
5,将使用一个更快的,但相较之下很不精确的测量标准来寻找帧拆分点,这样做会增加将垂直方向上细节很多的图像误测为隔行扫描内容的可能性。
- verbose=<n>
- 如果 n
是非零值,则打印出用于每个帧的具体测量标准。有助于程序调试。
- dint_thres=<n>
- 解除隔行扫描的阈值。用于解除未匹配任何特征的帧的隔行扫描结构的过程。阈值大意味着较少的帧经过解除隔行扫描处理,要完全关闭反隔行扫描处理则使用
n=256。 默认值为 n=8。
- comb_thres=<n>
- 比较上半扫描场和下半扫描场的阈值。默认值为
128。
- diff_thres=<n>
- 用于侦测扫描场时间性变化的阈值。默认值为
128。
- sad_thres=<n>
- 绝对值差总数的阈值,默认值为
64。
- softpulldown
- 该过滤器只能用于
MEncoder,并且依赖于用于软件级
3:2下拉处理(软件级电视图像化)的
MPEG-2
标志位。如果想对半软件级电视图像化的影片使用
ivtc 或 detc
过滤器,那么将该过滤器插入到这些过滤器之前能使其更稳定。
- divtc[=options]
- 逆转隔行扫描视频的电视图像模式。如果
3:2
下拉处理的电视图像模式的视频丢失了其中的一个扫描场,或在解除隔行扫描时使用了保留一个扫描场而插值计算另一个的方法,那么输出的是一个抖动的视频,其中每四个帧后有一个是重复的帧。该过滤器目的是找到并丢弃这些重复的帧,并还原原来的影片帧率。在使用这个过滤器时,必须设将
-ofps
指定为输入视频文件帧率的
4/5 并将 softskip
放在过滤器链中位于其后的地方,
以保证 divtc
能读取所有的帧。有两种不同的模式可选:一阶段模式是默认的模式,并且直接就能使用,但缺点是任何电视图像模式下相位的变化(丢帧或编辑错误)将导致暂时的画面抖动直至过滤器重新恢复同步。二阶段模式通过事先分析整个视频来避免这种问题,所以能事先知道相位的变化并能在准确的位置恢复同步。这些阶段
不
对应于第一阶段和第二阶段的编码处理过程。必须在正式编码过程释放出生成的视频前,使用
divtc
的第一阶段配置运行额外的一个阶段。可使用
-nosound -ovc raw -o /dev/null
避免在这一阶段浪费
CPU 的运算能力。可在 divtc
后加上诸如 crop=2:2:0:0
之类的配置以运行得更快。然后使用
divtc
第二阶段配置以进行真正的编码。如果使用多阶段编码器编码,那么在所有阶段均要使用
divtc
第二阶段的配置。相关选项有:
- pass=1|2
- 使用二阶段模式。
- file=<文件名>
- 设置第二阶段使用的日志的文件名(默认值:“framediff.log”)。
- threshold=<参数值>
- 设置过滤器认为某个特征是电视图像模式特征时,该特征所必须达到的最小强度(默认值:0.5)。这用于避免从视频中很暗或很静止的部分里错误地识别出一些特征。
- window=<帧数>
- 设置搜寻特征时需要察看多少个最近读到的帧(默认值:30)。较长的察看范围能增加特征搜寻的可靠性,但较短的察看范围能改善对于电视图像模式中相位变化的反应时间。该选项只对一阶段模式有作用。当前,二阶段模式使用固定的察看范围,该范围包含了过去和将来输入的帧。
- phase=0|1|2|3|4
- 设置一阶段模式中电视图像模式的初始相位(默认值:0)。二阶段模式能读取将来输入的帧,所以能够在一开始就使用正确的相位值,但一阶段模式只能靠猜测。当找到正常的相位时就能跟上这个相位,但该选项能用于解决开始时可能出现的抖动。二阶段模式的第一阶段也使用该选项,所以如果保存了第一阶段的输出内容,就能得到持续的相位值跟踪结果。
- deghost=<参数值>
- 设置去鬼影处理的阈值(0-255
用于一阶段模式,-255-255
用于二阶段模式,默认为
0)。如果为非零值,则使用去鬼影模式。该选项用于那些通过将扫描场混合在一起而非丢弃其中一个场的方式解除隔行扫描的视频。去鬼影处理会增强混合后帧中的压缩损伤,所以该参数值作为一个阈值用以将那些在去鬼影过程中与前一帧的相差值小于一个特定值的像素排除在外。如果使用了二阶段模式,可用负数值使过滤器在第二阶段开始时分析整个视频,以确定其是否需要去鬼影处理,然后要么选择值为零,要么选择该值的绝对值作为去鬼影的参数。应将该选项用于第二阶段,将其用于第一阶段没有作用。
- phase[=t|b|p|a|u|T|B|A|U][:v]
- 将隔行扫描的视频延迟一个扫描场的时间,以改变扫描场的次序。其目的是修复那些在录像带传输至电脑视频的捕捉过程中使用了相反的扫描场次序的
PAL 影片。选项有:
- t
- 捕捉时扫描场次序为上半场先输入,传输时为下半场先输入。过滤器将延迟下半场。
- b
- 捕捉时扫描场次序为下半场先输入,传输时为上半场先输入。过滤器将延迟上半场。
- p
- 捕捉和传输时使用同样的扫描场次序。该模式只是为了在其它选项的使用说明中引用而存在的,但如果真的选了该模式,那么过滤器会按照旨意不做任何事情。;-)
- a
- 捕捉时的次序将自动通过扫描场的标志位来判断,传输时的与捕捉时的相反。过滤器根据扫描场的标志位为每一个帧在
t 和 b
两个模式中选择一个。如果没有任何扫描场的信息,那么该模式就与
u 一样了。
- u
- 捕捉时的次序未知或不断变化,传输时的与捕捉时的相反。过滤器通过分析图像并选择能在扫描场间产生最佳匹配的那个候选模式来给每一个帧在
t 和 b
中选择一个模式。
- T
- 捕捉时为上半场先输入,传输时未知或不断变化。过滤器通过分析图像在
t 和 p
模式中选择一个。
- B
- 捕捉时为下半场先输入,传输时未知或不断变化。过滤器通过分析图像在
b 和 p
模式中选择一个。
- A
- 捕捉时的次序由扫描场标志位判断,传输时的未知或不断变化。过滤器通过扫描场标志位和图像分析从
t、b 和 p
中选择一个模式。如果没有任何扫描场信息,则该模式与
U
一样。这是默认的模式。
- U
- 捕捉时和传输时的次序均未知或不断变化。过滤器只通过图像分析以从
t、b 和 p
中选择一个模式。
- v
- 详细输出操作。打印每个帧所选用的模式以及在
t、b 和 p
三种模式间扫描场数的均方差值。
- telecine[=启始]
- 应用
3:2‘电视图像化’处理以使帧率增加
20%。该选项极可能无法用于
MPlayer,但其可以以‘mencoder
-fps 30000/1001 -ofps 30000/1001 -vf
telecine’形式使用。两个
fps
选项都必须设置!(如果设置不正确,音视频将无法同步。)可选的‘启始’参数告诉过滤器从电视图像模式特征中的哪个位置开始执行(0-3)。
- tinterlace[=模式]
- 时间性扫描场隔行扫描处理——将各对帧分别合并为一个隔行扫描的帧,从而使帧率减半。偶数帧移至上半扫描场,奇数帧移至下半扫描场。该过滤器可用于充分反转(模式
0 下的)tfields
过滤器的效果。可用模式有:
- 0
- 将奇数帧移至上半场,偶数帧移至下半场,从而在半速帧率下产生一个完整高度的帧。
- 1
- 只输出奇数帧,丢弃偶数帧;帧的高度不变。
- 2
- 只输出偶数帧,丢弃奇数帧;帧的高度不变。
- 3
- 将每个帧扩展至完整高度,但每两个扫描行间插入黑色的扫描行;帧速不变。
- 4
- 将偶数帧的偶数扫描行与奇数帧的奇数扫描行交叉在一起。帧高度不变,帧速减半。
- tfields[=模式[:扫描场顺序]]
- 时间性扫描场分离——将扫描场分离成帧,从而输出帧率加倍。就像
telecine
过滤器一样,除非用于
MEncoder,并且 -fps 和 -ofps
设置成所需的(加倍的)帧率,否则
tfields
可能无法完整正确地起作用!
- <模式>
- 0:保持扫描场不变(会产生跳帧/闪烁)。
1:插值恢复缺少的扫描行。(所用的算法可能不太好。)
2:使用线性插值法以
1/4
像素精度转换扫描场(不产生跳帧)。
4:使用 4tap 过滤器以 1/4
像素精度转换扫描场(较高质量)(默认方式)。
- <扫描场顺序>(不推荐使用)
- -1:自动(默认值)只有当解码器输出适当的信息,并且过滤器序列中
tfields
之前没有其它的过滤器丢弃这些信息时才能起作用,否则该值将退回为
0(上半扫描场先输入)。
0:上半扫描场先输入
1:下半扫描场先输入
注意:
该选项相当可能在以后的版本里去除。可使用
-field-dominance 代替。
- yadif=[模式[:扫描场顺序]]
- 又一个解除隔行扫描的过滤器
- <模式>
- 0:每存在一帧输出一帧。
1:每存在一个扫描场输出一帧。
2:与 0
相似但跳过空间性隔行扫描检查。
3:与 1
相似但跳过空间性隔行扫描检查。
- <扫描场顺序>(不推荐使用)
- 与 tfields 运行方式相似。
注意:
该选项相当可能在以后的版本中去除。可使用
-field-dominance 代替。
- mcdeint=[模式[:奇偶性[:量化参数]]]
- 包含运动补偿的解除隔行扫描过滤器。其要求每帧有一个扫描场作为输入,并且必须与
tfields=1 或 yadif=1/3
或与之等价的过滤器一起使用。
- <模式>
- 0:快速
1:中等
2:慢速,迭代式的运动估计
3:更慢,与模式 2
外加参照多个帧的方式相似
- <奇偶性>
- 0 或 1
用于选择使用哪个扫描场(注意:目前还不能自动侦测!)。
- <量化参数>
- 较高的值能产生较平滑的运动矢量场,但单个矢量得到优化的较少。
- boxblur=半径:力度[:半径:力度]
- 盒状模糊处理
- <半径>
- 模糊过滤的强度
- <力度>
- 应用过滤的数量
- sab=半径:预过滤:色差[:半径:预过滤:色差]
- 自适合形状的模糊处理
- <半径>
- 模糊过滤的强度(~0.1-4.0)(值越大越慢)
- <pf>
- 预过滤强度(~0.1-2.0)
- <色差>
- 像素间可认同的最大差值(~0.1-100.0)
- smartblur=半径:强度:阈值[:半径:强度:阈值]
- 智能模糊处理
- <半径>
- 模糊过滤的强度(~0.1-5.0)(值越大越慢)
- <强度>
- 模糊化(0.0-1.0)或锐利化(-1.0-0.0)
- <阈值>
- 过滤全部区域(0),过滤平坦区域(0-30)或过滤边缘(-30-0)
- perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
- 修正未以垂直于屏幕角度摄制的影片视角。
- <x0>,<y0>,...
- 左上角、右上角、左下角、右下角的坐标
- <t>
- 线性(0)或立方次(1)重采样
- 2xsai
- 使用两倍缩放及插值算法缩放并平滑图像。
- 1bpp
- 每像素 1
比特的位图至 YUV/BGR 8/15/16/32
的转换
- down3dright[=扫描行]
- 重设立体图像的位置及大小。将两个立体扫描场都抽取出来并将其左右紧靠着摆放,以将其缩放至保持原有影片宽高比的大小。
- <扫描行>
- 要从图像的中间选取的扫描行的数量(默认值:12)
- bmovl=hidden:opaque:fifo
- 该位图覆盖过滤器从
FIFO
管道中读取位图并将其显示在影片的上方,以支持某些图像上的变换。另见
TOOLS/bmovl-test.c
以获取一个小型的 bmovl
测试程序。
- <hidden>
- 设置‘hidden’标志位的默认值(0=可见,1=不可见)。
- <opaque>
- 设置‘opaque’标志位的默认值(0=透明,1=不透明)。
- <fifo>
- FIFO 管道(连接‘mplayer -vf
bmovl’和主控程序的命名管道)的路径/文件名
FIFO
管道中使用的命令有:
参数有:
- <宽>, <高>
- 图像/区域的大小
- <x位置>, <y位置>
- 从 x/y
位置开始位图混合
- <alpha>
- 设置阿尔法差异值。如果将该值设为
-255,就可以发送一系列的阿尔法命令将该区域设置为
-225、-200、 -175
等等以得到一个不错的渐渐出现的效果!;)
0:
保持原来的值
255:
使所有的位图不透明。
-255:使所有的位图透明。
- <清空>
- 在位图混合前清空帧缓冲。
0:在原来的图像上进行位图混合,于是不必每当屏幕中的一小部分更新时就得发送
1.8MB 的 RGB32 数据。
1:清空图像
- framestep=I|[i]步长
- 仅对每隔第 n
个帧或每个内部参照帧(关键帧)进行渲染。
如果使用
I(大写)作为参数调用这个过滤器,那么
只有
关键帧才渲染。对于
DVD
来说其通常意味着每
15/12
个帧中才有一帧(IBBPBBPBBPBBPBB),对于
AVI
来说意味着每当场景切换时或每隔
keyint(参见 -lavcopts
keyint=参数值)所指定数量的帧过后才有一帧。
当找到关键帧时,将打印一个‘I!’字符串并紧接着一个换行符,以完当前
MPlayer/MEncoder
在屏幕上一行的输出,因为这段信息中包含了关键帧的时间值(以秒计)以及帧编号(可利用这一信息切分
AVI。)。
如果使用一个数值参数‘步长’调用这个过滤器,那么只有每隔‘步长’个帧过后才有一个帧得到渲染。
如果在数值前加上一个‘i’(小写),那么将输出‘I!’(就像I参数一样)
如果只给出
i,那么不对帧做任何处理,只打印
I!。
- tile=x拼帖数:y拼帖数:输出:启始位:增量
- 将一系列图像拼成单个大图像。如果省略了某个参数或使用一个小于
0
的值,则将使用默认值。也可在认为满意的情况下放弃指定更多的参数(...
-vf tile=10:5 ...)。将 scale
过滤器放在 tile
之前很可能比较好 :-)
这些参数有:
- <x拼帖数>
- x
轴方向拼贴的图像数(默认值:5)
- <y拼帖数>
- y
轴方向拼贴的图像数(默认值:5)
- <输出>
- 当‘output’个帧到达时,渲染拼贴的图像,这里‘output’应当是一个小于
xtile *
ytile的数。拼贴图像中缺失的部分保留为空白。比如,可以每
50 帧写入一个 8 * 7
的拼帖图像,这样就在
25fps 下每 2
秒产生一幅图像。
- <启始位>
- 以像素为单位的外边框的厚度(默认值:2)
- <增量>
- 以像素为单位的内边框的厚度(默认值:4)
- delogo[=x:y:w:h:t]
- 通过根据周围像素进行简单的插值以去除电视台的台标。只需设置一个能盖住台标的长方形区域,\[u7136]后等着看其消失就行了(有时会出现更难看的画面——能得到效果是说不准的)。
- <x>,<y>
- 台标的左上角
- <w>,<h>
- 所清理的长方形区域的宽度和高度
- <t>
- 长方形区域的模糊边缘的宽度(增加
w 和 h 的大小)。
当设为 -1
时,屏幕上将绘出一个绿色的长方形以方便寻找合适的
x、y、w、h 参数值。
- file=<文件名>
- 可指定一个文本文件,从中加载坐标。每一行内容必须有一个时间标签(以秒为单位,并且升序排序)以及“x:y:w:h:t”坐标值(t
可省略)。
- remove-logo=/path/to/logo_bitmap_file_name.pgm
- 去除电视台台标,使用
PGM 或 PPM
图像文件判断哪些像素组成了台标。图像文件的宽度和高度必须与所处理的视频流的宽高相匹配。该过滤器使用该过滤图像以及循环的模糊算法去除台标。
- /path/to/logo_bitmap_file_name.pgm
- 过滤图像的 [路径] +
文件名。
- zrmjpeg[=若干选项]
- 与 zr2
视频输出设备一同使用的软件级
YV12 至 MJPEG 编码器。
- maxheight=<h>|maxwidth=<w>
- 这些选项设置 zr
采集卡能处理的最大宽度和高度(MPlayer的过滤器层当前还不能查询这些信息)。
- {dc10+,dc10,buz,lml33}-{PAL|NTSC}
- 可使用这些选项将 maxwidth
和 maxheight
自动设置为已知的卡/模式组合的值。比如,有效的选项有:dc10-PAL
和
buz-NTSC(默认值:dc10+PAL)
- color|bw
- 选择彩色或黑白的编码。黑白编码较快。彩色编码为默认方式。
- hdec={1,2,4}
- 水平方向简化采样因数
1、2 或 4。
- vdec={1,2,4}
- 垂直方向简化采样因数
1、2 或 4。
- quality=1-20
- 设置 JPEG
压缩的质量:[最好] 1 - 20
[非常差]。
- fd|nofd
- 默认设置下,只有当
Zoran 采集卡的硬件支持
MJPEG
图像放大至其原有大
小时才进行简化采样。选项
fd
命令过滤器总是进行所请求的简化采样操作(效果很糟)。
- screenshot=前缀字符串
- 允许使用可以与按键绑定的被动模式下的命令获取影片的截屏。参见被动模式的说明文档以及交互式控制一节以获取详细信息。默认情况下命名为‘shotNNNN.png’的文件将保存在工作目录下,所用的编号为第一个可以用的编号——不会覆盖任何文件。指定前缀字符串可改变文件的名字和位置,例如,
-vf screenshot=shots/now
将把文件保存在 shots
目录下并以 nowNNNN.png
为文件名。该过滤器在不用时不占用资源,并且支持任意色彩空间,所以将其添加进配置文件中很安全。需确保
screenshot
过滤器位于所有产生希望保存于图像的效果的过滤器之后。例如,如果希望截屏与在显示屏上看到的完全一致,则其应当是最后一个过滤器。
- ass
- 将 SSA/ASS
字幕的渲染移至过滤器链中的任意一个位置。仅有助于存在
-ass 选项的时候。
示例:
- blackframe[=数量:阈值]
- 侦测出(几乎)完全黑色的帧。可有助于侦测影片章节的切换或广告。输出行由所侦测出帧的编号、黑色程度的百分比、帧的类型和最近遇到的关键帧的编号组成。
- <数量>
- 低于阈值的像素必须有多少的百分比率(默认值:98)。
- <阈值>
- 决定像素值低于多少就认作是黑色的阈值(默认值:32)。
- stereo3d[=输入格式:输出格式]
- stereo3d
选项用于转换不同的立体图像格式。
- <输入格式>
- 输入的立体图像格式。可设值有:
sbsl 或 side_by_side_left_first
由左而右平行排列(左眼图像在左,右眼图像在右)
sbsr 或 side_by_side_right_first
由左而右交换左右眼图像地排列(右眼图像在左,左眼图像在右)
sbs2l 或 side_by_side_half_width_left_first
平行排列,分辨率方面宽度减半(左眼图像在左,右眼图像在右)
sbs2r 或 side_by_side_half_width_right_first
平行排列,分辨率方面宽度减半(右眼图像在左,左眼图像在右)
abl 或 above_below_left_first
由上而下排列(左眼图像在上,右眼图像在下)
abl 或 above_below_right_first
由上而下排列(右眼图像在上,左眼图像在下)
ab2l 或 above_below_half_height_left_first
由上而下排列,纵向分辨率减半(左眼图像在上,右眼图像在下)
ab2r 或 above_below_half_height_right_first
由上而下排列,纵向分辨率减半(右眼图像在上,左眼图像在下)
- <输出格式>
- 输出的立体图像格式。可设值除了所有输入格式外还有:
arcg 或 anaglyph_red_cyan_gray
红/青立体灰度图像(红色图层通过左眼图像,青色图层通过右眼图像)
arch 或 anaglyph_red_cyan_half_color
红/青立体半彩色图像(红色图层通过左眼图像,青色图层通过右眼图像)
arcc 或 anaglyph_red_cyan_color
红/青立体彩色图像(红色图层通过左眼图像,青色图层通过右眼图像)
arcd 或 anaglyph_red_cyan_dubois
通过 Dubois
的最小二次映射优化的红/青立体彩色图像(红色图层通过左眼图像,青色图层通过右眼图像)
agmg 或 anaglyph_green_magenta_gray
绿/品红立体灰度图像(绿色图层通过左眼图像,品红图层通过右眼图像)
agmh 或 anaglyph_green_magenta_half_color
绿/品红立体半彩色图像(绿色图层通过左眼图像,品红图层通过右眼图像)
agmc 或 anaglyph_green_magenta_color
绿/品红立体彩色图像(绿色图层通过左眼图像,品红图层通过右眼图像)
aybg 或 anaglyph_yellow_blue_gray
黄/蓝立体灰度图像(黄色图层通过左眼图像,蓝色图层通过右眼图像)
aybh 或 anaglyph_yellow_blue_half_color
黄/蓝立体半彩色图像(黄色图层通过左眼图像,蓝色图层通过右眼图像)
aybc 或 anaglyph_yellow_blue_color
黄/蓝立体彩色图像(黄色图层通过左眼图像,蓝色图层通过右眼图像)
irl 或 interleave_rows_left_first
像素行交错排列(左眼图像占据最高一行,右眼图像从其下一行开始)
irr 或 interleave_rows_right_first
像素行交错排列(右眼图像占据最高一行,左眼图像从其下一行开始)
ml 或 mono_left
单眼图像输出(只输出左眼图像)
mr 或 mono_right
单眼图像输出(只输出右眼图像)
注意:
无论使用哪一种像素行交错排列的输出格式在行交错的
3D
显示终端上显示全屏画面,都需在视频未具有正确的高度时使用“scale”过滤器将其缩放至准确的高度。典型的情况是,高度为
1080
行(所以要使用诸如“-vf
scale=1440:1080,stereo3d=sbsl:irl”以处理 720p
平行排列方式编码的影片)。
- gradfun[=强度[:半径]]
- 消除有时候因为将色深降至
8
比特后,在颜色近似不变的区域造成的带状损伤。通过插值在带状区域产生变化坡度,从而使其颜色产生抖动效果。
该过滤器设计上仅用于播放。勿在有损压缩步骤前使用该过滤器,因为压缩过程容易丢失抖动效果,从而恢复带状损伤。
- <强度>
- 过滤器改变单个像素的最大程度。同时也是侦测颜色近似不变区域的阈值(默认值:1.2)。
- <半径>
- 应用变化坡度的周边区域大小。较大的半径值带来较平缓的变化坡度,但同时使过滤器无法修改靠近颜色变化丰富区域的像素(默认值:16)。
- fixpts[=若干选项]
- 修正视频帧的呈现时间标签(PTS)。默认行为是丢弃传递至下一级过滤器的
PTS,但以下选项可以改变这一行为:
示例:
注意:
将该过滤器与任何种类的定位选项(包括
-ss 和
EDL)一同使用可能会产生意想不到的结果。
通用编码选项(仅用于
MENCODER)
- -audio-delay
<任何浮点数>
- 通过在文件头部中设置延迟信息域来延迟音频或视频。(默认值:0.0)。
该选项不在编码过程中延迟音频或视频流,但播放器会读出延迟信息域并做相应的补偿处理。正数值延迟音频,而负数值延迟视频。注意该选项正好与
-delay
选项相反。例如,如果一段视频在
-delay 0.2
下正确播放,那么可在
MEncoder 中使用 -audio-delay -0.2
修复视频的不同步问题。
当前,该选项只能用于默认的流合并器(-of
avi)。如果使用了另外的流合并器,那么必须使用
-delay 来代替该选项。
- -audio-density
<1-50>
- 每秒钟处理的音频数据块数量(默认值为2,用于
0.5s
长的音频数据块)。
注意: 只用于 CBR
方式,VBR
方式忽略该选项,因为其将每个数据包分别放入一个数据块中。
- -audio-preload
<0.0-2.0>
- 设置音频缓冲的时间间隔(默认值:0.5s)。
- -fafmttag
<格式>
- 可用于改写输出文件中的音频格式标签。
示例:
- -ffourcc
<fourcc>
- 可用于改写输出文件中的视频
fourcc 值。
示例:
- -force-avi-aspect
<0.2-3.0>
- 代替存储在 AVI OpenDML vprp
头部中的宽高比值。该选项可用于在使用‘-ovc
copy’时更改宽高比值。
- -frameno-file
<文件名>(不推荐使用)
- 指定包含有帧序号对应关系表的音频文件的文件名,该对应关系表是在特殊的三阶段编码模式的第一阶段(只处理音频)中生成的。
注意:
使用该模式很可能造成音视频不同步。勿使用。其只是为了向后兼容而保留的,并且相当可能在以后的版本中去除。
- -hr-edl-seek
- 在跳过处理区域时使用一种更精确但相对很慢的方式。不是定位至标记为需跳过的处理区域,而是解码所有的帧并且只编码需要的帧。该选项使从非关键帧的边界开始编码成为可能。
注意:
不保证能与‘-ovc
copy’一同起作用。
- -info
<选项1:选项2:...>(只用于
AVI)
- 指定生成的 AVI
文件的头部信息内容。
可用选项有:
- -noautoexpand
- 不自动在 MEncoder
过滤器链中插入 expand
过滤器。有助于将字幕内嵌入影片时,控制在过滤器链中的哪一个点上渲染字幕。
- -noencodedups
- 不尝试将重复的帧重复地编码;总是以输出零字节帧的方式表明有重复帧。除非加载了能进行重复帧编码的过滤器或编码器,否则无论如何将写入零字节帧。当前这样的过滤器只有
hardup。
- -noodml(仅用于
-of avi)
- 处理大于 1GB 的 AVI
文件时不写入 OpenDML
索引。
- -noskip
- 不跳过任何帧。
- -o
<文件名>
- 输出至所给的文件名。
如果需要有一个默认的输出文件名,可将该选项放在
MEncoder 的配置文件中。
- -oac
<编解码器名>
- 使用所给的音频编解码器编码(没有默认值)。
注意: 可使用 -oac help
来获取可用音频编解码器的列表。
示例:
- -of
<格式>(用于 BETA
测试!)
- 编码为指定的容器格式(默认值:AVI)。
注意: 可使用 -of help
以获取可用的容器格式的列表。
示例:
- -ofps
<fps>
- 为输出文件指定一个每秒帧数(fps)值,、
该值可以与原来视频中的不同。必须为可变
fps(ASF、一些MOV)以及逐行扫描(30000/1001
fps 的电视图像模式的
MPEG)文件设置该值。
- -ovc
<编解码器名>
- 使用所给的视频编解码器编码(没有默认值)。
注意: 可使用 -ovc help
获取可用视频编解码器的列表。
示例:
- -passlogfile
<文件名>
- 在二阶段编码模式中将第一阶段的信息导出至
<文件名>,而非默认的
divx2pass.log。
- -skiplimit
<参数值>
- 指定编码了一帧之后最多可以跳过的帧的数量(-noskiplimit
表示不限数量)。
- -vobsubout
<主名>
- 指定输出的 .idx 和 .sub
文件的主文件名。该选项使字幕不已编码的影片中渲染,而是将其转而输出至
VOBsub 的字幕文件。
- -vobsuboutid
<语言代码>
- 为字幕指定双字符语言代码。该选项改写了从
DVD 或 .ifo
文件中读取的语言代码。
- -vobsuboutindex
<索引>
- 指定输出文件中字幕的索引号(默认值:0)。
- -force-key-frames
<时间>,<时间>,...
- 强制在指定的时间标签处使用关键帧,准确来说是每个指定的时间点之后的第一个帧。
该选项可用于保证输出文件的章节标记处或其它特定的位置有定位点。
指定的时间标签必须按升序排列。
因为 MEncoder
不在过滤器序列中传递时间标签,所以很可能需要使用
fixpts
过滤器以使该选项生效。
并非所有的编解码器可以强制使用关键帧。当前已实现该功能的编码器如下:lavc,x264,xvid。
各编解码器专用的编码选项(仅用于
MENCODER)
可使用以下的语法指定特定编解码器专用的参数:
- -<编解码器>opts
<选项1[=参数值1]:选项2[=参数值2]:...>
这里 <编解码器>
可以是:lavc、xvidenc、mp3lame、toolame、twolame、nuv、xvfw、faac、x264enc、mpeg、lavf。
有许多 libavcodec(简称
lavc)选项只是简要作了说明。要了解详情请阅读源代码。
示例:
- o=<键>=<值>[,<键>=<值>[,...]]
- 将音视频选项传递至
libavcodec
编码器。注意,欢迎提供一个使
o=
选项不再需要,而使所有未知选项绕开音视频选项系统的补丁。音视频选项的完整列表可以在
FFmpeg
用户手册中找到。注意有些音视频选项选项可能与
MEncoder 选项冲突。
示例:
- acodec=<参数值>
- 音频编解码器(默认值:mp2)
- ac3
- 杜比数字(AC-3)
- adpcm_*
- 自适应 PCM
格式——参见 HTML
文档以获取详细信息。
- flac
- Free Lossless Audio
Codec(FLAC,免费无损音频编解码器)
- g726
- G.726 ADPCM
- libfaac
- Advanced Audio
Coding(AAC,高级音频编码)——使用FAAC
- libmp3lame
- MPEG-1 音频层次
3(MP3)——使用LAME
- mp2
- MPEG-1 音频层次 2(MP2)
- pcm_*
- PCM 格式——参见 HTML
文档以获取详细信息。
- roq_dpcm
- Id Software 的 RoQ DPCM
- sonic
- 实验性的简易有损编解码器
- sonicls
- 实验性的简易无损编解码器
- vorbis
- Vorbis
- wmav1
- Windows Media Audio v1
- wmav2
- Windows Media Audio v2
- abitrate=<参数值>
- 音频比特率,单位为
kbps(默认值:224)
- atag=<参数值>
- 使用所指定的 Windows
音频格式标签(例如
atag=0x55)。
- bit_exact
- 只使用比特级保真的算法(除了离散余弦(逆)变换)。此外,比特级保真的方式禁用了许多的优化模式,因而应当只用于回归测试。这种测试要求即使编码器的版本变了,文件的二进制内容也要相同。该选项同时禁用
MPEG-4
流中的用户数据头。除非确切知道要做什么,否则不要使用该选项。
- threads=<1-8>
- 最大能使用的线程数(默认值:1)。可能对运动预测有一定负面影响。
- vcodec=<参数值>
- 使用所指定的编解码器(默认值:mpeg4)。
- vqmin=<1-31>
- 最低量化参数
- 1
- 不推荐(文件大很多,质量差别不大,而且有奇怪的副作用:msmpeg4、h263
的质量会很差,码率控制会混乱从而质量下升,而且一些解码器将无法解码)。
- 2
- 推荐用于普通 mpeg4/mpeg1video
的编码(默认值)。
- 3
- 推荐用于
h263(p)/msmpeg4。建议采用 3
而不是 2 的原因是 2
可能造成溢出。(这在
h263(p)
中会在将来通过改变每个宏块的量化参数而解决,而
msmpeg4
中无法修复,因为其不支持那种方式。)
- lmin=<0.01-255.0>
- 用于码率控制的最小帧级别的拉格朗日乘子(默认值:2.0)。Lavc
很少会使用低于 vqmin
值的量化参数。降低
lmin 会使 lavc
更容易在处理某些帧时选用更低的量化参数,但不会低于
vqmin 值。类似的,提高
lmin 将使 lavc
更不可能选用低的量化参数,即使
vqmin
参数允许使用这些量化参数。很可能希望将
lmin 设为大致与 vqmin
相等。当使用自适应量化模式时,改变
lmin/lmax
可能影响不大;参见
mblmin/mblmax。
- lmax=<0.01-255.0>
- 用于码率控制的最大拉格朗日乘子(默认值:31.0)
- mblmin=<0.01-255.0>
- 用于码率控制的最小宏块级别的拉格朗日乘子(默认值:2.0)该参数影响诸如
qprd、lumi_mask
等自适应量化选项。
- mblmax=<0.01-255.0>
- 用于码率控制的最大宏块级别的拉格朗日乘子(默认值:31.0)
- vqscale=<0-31>
- 恒定量化参数/恒定质量编码(选用固定量化参数模式)。值越小意味着质量越好,但文件越大(默认值:-1)。在使用
snow
编解码器的情况下,值
0
表示无损编码。由于其它编解码器不支持这个值,vqscale=0
会有未定义的效果。不推荐用
1(详情参见 vqmin)。
- vqmax=<1-31>
- 最大量化参数,10-31
应该是一个合理的范围(默认值:31)。
- vqdiff=<1-31>
- 连续的 I 或 P
帧之间最大的量化参数差异(默认值:3)
- vmax_b_frames=<0-4>
- 非 B
帧之间存在的最大 B
帧数目:
- 0
- 无 B 帧(默认值)
- 0-2
- 对于 MPEG-4
来说是合理的范围
- vme=<0-5>
- 运动预测方式。可用方式有:
- 0
- none(质量很低)
- 1
- full(运行慢,当前代码未维护且已禁用)
- 2
- log(质量低,当前代码未维护且已禁用)
- 3
- phods(质量低,当前代码未维护且已禁用)
- 4
- EPZS:size=1 的菱形模板,size
可以通过 *dia
选项调整(默认值)
- 5
- X1(实验性选项,当前是
EPZS 的一个别名)
- 8
- iter(迭代重叠的区块,仅用于
snow)
注意: 目前 0-3
无视所花费比特的多少,所以质量可能比较低。
- me_range=<0-9999>
- 运动预测的搜索范围(默认值:0(不限制))
- mbd=<0-2>(另见
*cmp、qpel)
- 宏块决策算法(高质量模式),将每个宏块在所有模式下编码然后选择最佳的模式。该模式运行很慢,但能使质量提高,文件大小降低。当
mbd 设为 1 或 2
时,比较宏块过程中将不考虑
mbcmp
的值(但是其它地方还是使用了
mbcmp
值,特别是运动搜索算法中)。然而当某个比较设置(precmp、subcmp、cmp
或
mbcmp)为非零值时,将会使用一种更慢但更好的半像素运动搜索模式,而不管
mbd
设为何值。如果设置了
qpel
参数,则将肯定使用四分之一像素运动搜索模式。
- 0
- 使用 mbcmp
提供的比较函数(默认方式)。
- 1
- 选用需要比特最少的宏块模式(=vhq)。
- 2
- 选用码率失真最优的宏块模式。
- vhq
- 与 mbd=1
相同,出于兼容性考虑而保留了下来。
- v4mv
- 允许每个宏块有4个运动矢量(质量较好些)。当
mbd>0
时使用效果更好。
- obmc
- 重叠区块的运动补偿(H.263+)
- loop
- 遁环过滤(H.263+)注意,该选项有问题
- keyint=<0-300>
- 关键帧的最大间隔,单位为帧数(默认值:250,或者说
25fps 的影片中每 10
秒一个关键帧。该值是
MPEG-4
中推荐使用的默认值)。大多数编解码器需要定期使用关键帧以限制不匹配错误的聚积效应。关键帧也在播放定位时需要,因为只能定位于关键帧——但关键帧比其它帧需要更多空间,所以这里的数值设得越大意味着文件越小,但定位越不精确。0
与 1
相同,这将使每个帧都成为关键帧。不推荐大于
300
的值,因为质量可能很差,这取决于解码器、编码器和运气。通常
MPEG-1/2 使用小于等于 30
的值。
- sc_threshold=<-1000000000-1000000000>
- 用于场景切换侦测的阈值。当
libavcodec
侦测到场景切换时,将插入一个关键帧。可通过该选项指定侦测模式的敏感度。-1000000000
表示每个帧下都会侦测出一个场景切换,1000000000
表示侦测不出任何场景切换(默认值:0)。
- sc_factor=<任何正整数>
- 导致使用较高量化参数的帧更容易引发场景切换的侦测,从而使
libavcodec 使用一个 I
帧(默认值:1)。1-16
是一个合理的范围。2
至 6
之间的值能提高峰值信噪比(PSNR)(最高大约为0.04dB)并且让
I
帧在高动态场景中放置于更合适的位置。高于
6 的值可能提高一点点
PSNR(大约比 sc_factor=6 多
0.01dB),而视觉质量下降却相当可观。
- vb_strategy=<0-2>(只用于第一阶段编码)
- 选用 I/P/B 帧的策略:
- 0
- 总是使用最多的 B
帧(默认值)。
- 1
- 在高动态场景中避免使用
B 帧。参见 b_sensitivity
选项以调试这一策略。
- 2
- 调整使用 B
帧的个数以使质量最好(运行缓慢)。可通过调整
brd_scale
选项以减少该选项对于运行速度的负面作用。
- b_sensitivity=<任何大于
0 的整数>
- 调整 vb_strategy=1
时运动侦测的敏感程度从而避免使用
B
帧(默认值:40)。敏感程度越低将导致越多的B帧。使用更多的
B
帧通常能提升峰值信噪比,但太多的
B
帧可能导致在高动态场景中质量下降。除非运动程度极其高,否则
b_sensitivity
设为低于默认的值是很安全的;10
在大多数情况下是一个理想的值。
- brd_scale=<0-10>
- 减小动态 B
帧决策中帧的尺寸(默认值:0)。brd_scale
每增加一,帧的宽高将减小一半,这样就使运行速度提升至四倍。尺寸减小后帧的宽和高都必须是偶数,所以
brd_scale=1
要求原来的宽高尺寸是四的倍数,brd_scale=2
要求原来的宽高尺寸是八的倍数,依次类推。换句话说,原来帧的宽高尺寸都必须能被
2^(brd_scale+1) 整除。
- bidir_refine=<0-4>
- 优化用于双向宏块的两个运动矢量,而非重复使用向前和向后搜索所找到的矢量。该选项只对
B 帧有效。
- 0
- 禁用(默认值)。
- 1-4
- 使用更广泛的搜索模式(值越大运行越慢)。
- vpass=<1-3>
- 启用内置的二阶段(或更多阶段)编码模式,需仅当希望使用二阶段(或更多阶段)编码模式时才指定该值。
- 1
- 第一阶段编码(另见
turbo)
- 2
- 第二阶段编码
- 3
- 第 N 阶段编码(N
阶段编码模式中第二阶段以及之后各阶段的编码)
以下展示了其如何工作,以及如何使用:
第一阶段编码(vpass=1)输出统计文件。可能希望关闭一些大量消耗
CPU
的选项,就像“turbo”模式所做的那样。
在二阶段编码模式中,第二阶段(vpass=2)读取统计文件的内容并依据该内容作出码率控制的决策。
在 N
阶段模式中,第二阶段(vpass=3——这不是本文档的印刷错误)同时做两件事:首先读取统计信息,然后重写这些信息。如果存在不得不终断
MEncoder
的可能,那么可能希望在做这一步前备份
divx2pass.log。可使用所有的编码选项,除非是非常消耗
CPU 的选项,如“qns”。
可反复执行与此相同的编码阶段以优化编码。每个紧接着的编码阶段将使用上一个阶段的统计信息并进一步优化。最后一个编码阶段可以包含任意大量消耗
CPU 的编码选项。
如果想用二阶段编码模式,那么先使用vpass=1,然后再用vpass=2。
如果想用三阶段或更多阶段的编码模式,那么在第一阶段使用
vpass=1,接着用
vpass=3,接着不断用 vpass=3
直至对编码结果满意为止。
huffyuv:
- 第一阶段
- 保存统计信息。
- 第二阶段
- 使用基于第一阶段统计信息的最优哈夫曼表编码。
- turbo(仅用于二阶段编码)
- 使用更快的算法并禁用大量占用
CPU
的选项以使第一阶段编码的运行大幅加快。该选项可能稍稍降低全局峰值信噪比(大约为
0.01dB)并且改变单个帧的类型以及稍稍改变该帧的峰值信噪比(最多至0.03dB)。
- aspect=<x/y>
- 在文件内部保存影片的宽高比,就像
MPEG
文件一样。比使用缩放功能效果好多了,因为质量不下降。只有
MPlayer
能正确播放这些文件,其它播放器会以错误的宽高比显示。宽高比参数可以以比率或浮点数字的形式给出。
示例:
- autoaspect
- 与 aspect
选项相同,但是通过综合考量过滤器序列上的各种调整(crop/expand/scale/等等)自动计算宽高比。不会对性能产生负面影响,所以可放心地让该选项保持为打开的状态。
- vbitrate=<参数值>
- 指定比特率(默认值:800)。
警告: 1kbit = 1000 bits
- 4-16000
- (单位为 kbit)
- 16001-24000000
- (单位为 bit)
- vratetol=<参数值>
- 文件大小控制中允许出入的数量,单位为
kbit。1000-100000是一个合理的范围。(警告:1kbit
= 1000 bits)(默认值:8000)
注意: vratetol
在第二阶段编码中不应设得太大,否则当设置了
vrc_(min|max)rate
时,可能会产生问题。
- vrc_maxrate=<参数值>
- 最大比特率,单位为
kbit/sec(默认值:0,无限制)
- vrc_minrate=<参数值>
- 最小比特率,单位为
kbit/sec(默认值:0,无限制)
- vrc_buf_size=<参数值>
- 缓冲大小,单位为
kbit。在 MPEG-1/2
中该选项同时设置 vbv
缓冲的大小,对于 VCD
需使用 327,对于 SVCD 使用
917,而 DVD 使用1835。
- vrc_buf_aggressivity
- 当前没有什么作用
- vrc_strategy
- 码率控制方式。注意当
vrc_strategy 不设为 0
时,一些影响码率控制的选项将不起任何作用。
- 0
- 使用内置的 lavc
码率控制方式(默认值)。
- 1
- 使用 Xvid
的码率控制方式(仅供测试用;要求
MEncoder 编译时包含对 Xvid 1.1
或更高版本的支持)。
- vb_qfactor=<-31.0-31.0>
- B 帧和非 B
帧间的量化参数因数(默认值:1.25)
- vi_qfactor=<-31.0-31.0>
- I 帧和非 I
帧间的量化参数因数(默认值:0.8)
- vb_qoffset=<-31.0-31.0>
- B 帧和非 B
帧间的量化参数补偿量(默认值1.25)
- vi_qoffset=<-31.0-31.0>
- (默认值:0.0)
如果 v{b|i}_qfactor > 0,
I/B帧量化参数 =
P帧量化参数 * v{b|i}_qfactor +
v{b|i}_qoffset,
否则
使用常规的码率控制方式(不限定为下一个
P
帧的量化参数)并设置q=
-q * v{b|i}_qfactor + v{b|i}_qoffset
提示:
要执行恒定量化参数的编码而对
I/P 和 B
帧应用不同的量化参数,可使用:lmin=
<I/P帧量化参数>:lmax=
<I/P帧量化参数>:vb_qfactor=
<B帧量化参数/I/P帧量化参数>。
- vqblur=<0.0-1.0>(用于第一阶段编码)
- 量化参数模糊系数(默认值:0.5),值越大将使量化参数在时间上分布得越平均(变化得越慢)。
- 0.0
- 禁用量化参数模糊功能。
- 1.0
- 取量化参数在所有先前出现的帧中的平均值。
- vqblur=<0.0-99.0>(用于第二阶段编码)
- 量化参数高斯模糊(默认值:0.5),值越大将使量化参数在时间上分布得越平均(变化得越慢)。
- vqcomp=<0.0-1.0>
- 量化参数压缩,vrc_eq
选项依赖于该选项(默认值:0.5)。
注意:
在两个极端值之间的某个值能使感观质量达到最优。
- vrc_eq=<方程式>
- 主码率控制方程式
- 1+(tex/avgTex-1)*qComp
- 近似于以前码率控制代码所用的方程式
- tex^qComp
- 式中 qcomp 为 0.5
或某个类似设置(默认值)
中置运算符:
变量:
函数:
- max(a,b),min(a,b)
- 最大值/最小值
- gt(a,b)
- 若 a>b 则为 1,否则为 0
- lt(a,b)
- 若 a<b 则为 1,否则为 0
- eq(a,b)
- 若 a==b 则为 1,否则为 0
- sin, cos, tan, sinh, cosh,
tanh, exp, log, abs
- vrc_override=<若干选项>
- 用户指定的针于影片特定部分(尾声、演职员表……)的质量值。选项是
<start-frame>、<end-frame>、<quality>[/<start-frame>、<end-frame>、<quality>[/...]]:
- vrc_init_cplx=<0-1000>
- 初始复杂度(用于第一阶段编码)
- vrc_init_occupancy=<0.0-1.0>
- 初始缓冲占用量,为
vrc_buf_size
值的比例值(默认值:0.9)
- vqsquish=<0|1>
- 指定如何使量化参数保持在
qmin 和 qmax 之间。
- 0
- 使用截断方式。
- 1
- 使用一种不错的微分函数(默认值)。
- vlelim=<-1000-1000>
- 设置亮度的单一系数消减阈值。设为负数值则将同时考量直流信号系数(在以
quant=1
编码时应当至少设为
-4 或更低):
- vcelim=<-1000-1000>
- 设置色度的单一系数消减阈值。设为负数值则将同时考量直流信号系数(在以
quant=1
编码时应当至少设为
-4 或更低):
- vstrict=<-2|-1|0|1>
- 严格符合编码标准
- 0
- 禁用
- 1
- 仅当希望让 MPEG-4
标准解码器读取编码输出结果时才推荐使用
- -1
- 允许使用 libavcodec
专用的扩展功能(默认值)。
- -2
- 启用实验性的编解码器和功能,这些可能在将来版本的
MPlayer 中无法播放(用于
snow)。
- vdpart
- 数据分段。每个视频数据包增加
2
字节内容,从而改善在不可靠信道上传输时(例如,在因特网上传输流媒体)的容错能力。每个视频数据包将编码为
3 个独立的部分:
- 1. MVs
- 运动信息
- 2. DC
coefficients(直流信号系数)
- 低分辨率画面
- 3. AC
coefficients(交流信号系数)
- 细节
MV 和 DC
最为重要,丢失这两个部分似乎远比丢失
AC 部分和 1. & 2.
部分严重得多。(MV & DC)
远比 3.
部分(AC)小得多,这意味着传输错误更多出现在
AC 部分而非 MV & DC
部分。所以,画面在数据分段后将比未分段时看上去更好,因为未分割时传输错误将同等概率地损坏
AC/DC/MV 三个部分。
- vpsize=<0-10000>(另见
vbpart)
- 视频数据包的大小,用于改善容错能力。
- ss
- 用于 H.263+
的分片结构模式
- gray
- 仅灰度的编码(较快)
- vfdct=<0-10>
- 离散余弦变换算法
- 0
- 自动选用一个良好的算法(默认值)。
- 1
- 快速整数型
- 2
- 精确整数型
- 3
- MMX
- 4
- mlib
- 5
- AltiVec
- 6
- 浮点 AAN
- idct=<0-99>
- 离散余弦逆变换算法
注意:
据我们所知,所有这些离散余弦逆变换算法均通过
IEEE1180 测试。
- 0
- 自动选用一个良好的算法(默认值)。
- 1
- JPEG 标准整数型
- 2
- 简单型
- 3
- 简单 MMX
- 4
- libmpeg2mmx(不精确,勿用于
keyint >100
模式下的编码)
- 5
- ps2
- 6
- mlib
- 7
- arm
- 8
- AltiVec
- 9
- sh4
- 10
- simplearm
- 11
- H.264
- 12
- VP3
- 13
- IPP
- 14
- xvidmmx
- 15
- CAVS
- 16
- simplearmv5te
- 17
- simplearmv6
- lumi_mask=<0.0-1.0>
- 亮区屏蔽是一种‘心理感官性’的设置,一般认为其所利用的事实是人眼倾向于在画面中很亮的部分里只注意到较少的细节。亮区屏蔽模式比中性的模式更大幅度地压缩明亮的区域,所以能省下不少比特将其用于其它的帧中,从而提高整体的主观感官质量,但同时可能降低了峰值信噪比。
警告:
小心,值过大可能导致灾难性的后果。
警告:
值设得大可能在某些显示器上看起来效果好,但可能在其它显示器上就显得难看。
- 0.0
- 禁用(默认值)
- 0.0-0.3
- 合理的范围
- dark_mask=<0.0-1.0>
- 暗区屏蔽是一种‘心理感官性’的设置,一般认为其所利用的事实是人眼倾向于在画面中很暗的部分里只注意到较少的细节。暗区屏蔽模式比中性的模式更大幅度地压缩明亮的区域,所以能省下不少比特将其用于其它的帧中,从而提高整体的主观感官质量,但同时可能降低了峰值信噪比。
警告:
小心,值过大可能导致灾难性的后果。
警告:
值设得大可能在某些显示器上看起来效果好,但可能在其它显示器/电视/液晶屏上就显得难看。
- 0.0
- 禁用(默认值)
- 0.0-0.3
- 合理的范围
- tcplx_mask=<0.0-1.0>
- 时间复杂性屏蔽(默认值:0.0(禁用))。设想一下场景中一只鸟飞过整个场景;tcplx_mask
将提高描绘鸟的宏块的量化参数(从而降低这些宏块的质量),而人眼通常没有时间去看清鸟的所有细节。注意如果被屏蔽的对象停止运动(例如鸟儿落地了),那么很有可能在短时间内该对象会显得很难看,直至编码器注意到该对象不动了因而需要更好的块来描绘。节省下来的比特将用于视频中的其它部分,只要
tcplx_mask
经过精心选取,这将提高主观感官质量。
- scplx_mask=<0.0-1.0>
- 空间复杂性屏蔽。如果没有去块效应过滤器用于解码过程,那么较大的值有助于消除块效应,但这可能不是一个好办法。
设想一下含有草丛(这通常有很大的空间复杂度)、蓝天和一间房子的场景,scplx_mask
将提高描绘草丛的宏块的量化参数,从而降低其质量,由此将更多的比特花在天空和房子上。
提示:
要充分切除所有的影片黑边,因为它们使宏块的质量下降(这同样适用于不使用
scplx_mask 的情形)。
- 0.0
- 禁用(默认值)
- 0.0-0.5
- 合理的范围
注意:
这个设置与使用能更大幅度压缩高频信号的自定义量化矩阵不具有相同效果,因为即使直流信号改变时,scplx_mask
也不会降低 P
块的质量。scplx_mask
的效果可能也不如那种方式好。
- p_mask=<0.0-1.0>(另见
vi_qfactor)
- 降低帧间块的质量。这等价于提高内部块的质量,因为码率控制器仍在整个视频序列上以相同的平均码率分配了数据资源(默认值:0.0(禁用))。p_mask=1.0
使分配到每个内部块的比特数加倍。
- border_mask=<0.0-1.0>
- 用于 MPEG
风格编码器的画面边缘处理模式。画面边缘处理模式提高距离画面帧边缘不到
1/5
个帧宽度/高度的宏块的量化参数,因为这些宏块通常对于显示效果较为不重要。
- naq
- 使自适应量化模式正态化(实验性选项)。当使用自适应量化模式(*_mask)时,平均每个宏块的量化参数大小可能不再与所需要的帧级别的量化参数相一致。Naq
将尝试调整每个宏块的量化参数以保证平均值为适当的值。
- ildct
- 使用隔行扫描的离散余弦变换。
- ilme
- 使用隔行扫描的运动估计模式(与
qpel 不能同时使用)。
- alt
- 使用另一种扫描表。
- top=<-1-1>
- -1
- 自动判断
- 0
- 下半扫描场先输入
- 1
- 上半扫描场先输入
- format=<参数值>
- YV12
- 默认值
- 444P
- 用于 ffv1
- 422P
- 用于 HuffYUV、无损 JPEG、dv 和
ffv1
- 411P
- 用于无损 JPEG、dv 和 ffv1
- YVU9
- 用于无损 JPEG、ffv1 和 svq1
- BGR32
- 用于无损 JPEG 和 ffv1
- pred
- (用于 HuffYUV)
- pred
- (用于无损 JPEG)
- 0
- 左预测
- 1
- 上预测
- 2
- 左上预测
- 3
- 平面/梯度预测
- 6
- 平均数预测
- coder
- (用于 ffv1)
- 0
- vlc 编码(Golomb-Rice)
- 1
- 算术编码(CABAC)
- context
- (用于 ffv1)
(用于 ffvhuff)
- 0
- 预先确定的哈夫曼表(内置的或是二阶编码中产生的)
- 1
- 自适应哈夫曼表
- qpel
- 使用四分之一像素的运动补偿模式(与
ilme 不能同时使用)。
提示:
该选项似乎只对高比特率的编码有用。
- mbcmp=<0-2000>
- 设置用于宏块决策的比较函数,只有当
mbd=0
时才有作用。该选项也用于一些运动搜索函数中,此时不管
mbd
设置如何都有作用。
- 0(SAD)
- 绝对值差求合,运行快(默认值)
- 1(SSE)
- 误差的平方求合
- 2(SATD)
- Hadamard
变换后绝对值差求合
- 3(DCT)
- 离散余弦变换后绝对值差求合
- 4(PSNR)
- 量化误差的平方求合(需避免使用,质量差)
- 5(BIT)
- 块中所需的比特的数量
- 6(RD)
- 码率失真最优,运行慢
- 7(ZERO)
- 0
- 8(VSAD)
- 垂直方向绝对值差求合
- 9(VSSE)
- 垂直方向绝对值差的平方求合
- 10(NSSE)
- 保留噪声的差值的平方求合
- 11(W53)
- 5/3 小波,只用于 snow 中
- 12(W97)
- 9/7 小波,只用于 snow 中
- +256
- 同时使用色度信息,当前无法在
B
帧中(正确)起作用。
- ildctcmp=<0-2000>
- 设置隔行扫描离散余弦变换决策中使用的比较函数(参见
mbcmp
以获取可用比较函数信息)。
- precmp=<0-2000>
- 设置运动估计预处理阶段所使用的比较函数(参见
mbcmp
以获取可用比较函数信息)(默认值:0)。
- cmp=<0-2000>
- 设置整像素运动估计中所使用的比较函数(参见
mbcmp
以获取可用比较函数信息)(默认值:0)。
- subcmp=<0-2000>
- 设置亚像素运动估计中所使用的比较函数(参见
mbcmp
以获取可用比较函数信息)(默认值:0)。
- skipcmp=<0-2000>
- FIXME:为该选项写说明文档。
- nssew=<0-1000000>
- 该设置控制 NSSE
的权重,较大的权重将导致较多的噪声。0
NSSE 与 SSE
是一样的。如果希望在编码后的视频中保留一些噪声,而不是在编码时将其滤除,那么这个设置很有用(默认值:8)。
- predia=<-99-6>
- 运动估计预处理阶段中使用菱形的类型和大小
- dia=<-99-6>
- 运动估计中使用的菱形的类型和大小。运动搜索是一个迭代式的过程。使用一个较小的菱形并不会限制搜索只找较小的运动矢量。而是说在找到最合适的运动矢量前搜索更倾向于停止,尤其是在噪声介入的情形下。较大的菱形将使最佳运动矢量的搜索更加广泛,从而搜索更加慢,但得到的结果质量更加好。
大型的常规菱形比自适应形状的菱形质量更好。
自适应形状的菱形在速度和质量之间有较好的折中。
注意:
常规菱形和自适应形状菱形在大小概念上的含义是不同的。
- -3
- 大小为 3
的自适形形状(快速)菱形
- -2
- 大小为 2
的自适形形状(快速)菱形
- -1
- 非均匀的多重六边形搜索(运行慢)
- 1
- size=1
的常规菱形(默认值)=EPZS
类型的菱形
0
000
0
- 2
- size=2 的常规菱形
0
000
00000
000
0
- trell
- 使用格子因子搜索的量化模式。该选项将为每个
8x8
块找到最优的编码方式。使用格子因子搜索的量化方式就是一种在峰值信噪比相对码率意义下最优的量化模式(假设离散余弦逆变换不造成任何数值取整错误,这种情形显然不在讨论之列。)。这种量化模式就是找一个具有最小错误数和
lambda*bits 值的块。
- cbp
- 码率失真最优的已编码块的特征。将选取使削减值与
lambda*rate
值的合最小化的已编码块的特征。该选项只能与格子因子量化模式一起使用。
- mv0
- 尝行在运动矢量=<0,0>
的条件下编码每个宏块并选取最好的一个。当
mbd=0
时该选项没有作用。
- mv0_threshold=<任意非负整数>
- 当周围的运动矢量为
<0,0>,而当前块的运动估计评分小于
mv0_threshold 时,将使用 <0,0>
作为运动矢量,而跳过进一步的运动估计步骤(默认值:256)。将
mv0_threshold 降低至 0
可以使峰值信噪比有稍许(0.01dB)增加,并且可能使编码后的视频看上去稍微好一些;将
mv0_threshold 设为高于 320
时将导致峰值信噪比和视觉质量大大降低。较高的值使编码加快一点点(通常低于1%,这取决于所使用的其它选项)。
注意:
该选项不要求启用 mv0
选项。
- qprd(仅用于
mbd=2)
- 用于所给各个宏块的
lambda
值的码率失真最优的量化参数(QP)
- last_pred=<0-99>
- 来自前一帧的运动预测器的数量
- 0
- (默认值)
- a
- 将使用 2a+1 x 2a+1
宏块数平方个来自前一帧的运动矢量预测器。
- preme=<0-2>
- 运动估计的预处理阶段
- 0
- 禁用
- 1
- 只在 I
帧后使用(默认值)
- 2
- 总是使用
- subq=<1-8>
- 亚像素优化质量(用于
qpel)(默认值:8(高质量))
注意:
该选项对速度有极大影响。
- refs=<1-8>
- 运动补偿中所考虑的参照帧的数量(仅用于Snow)(默认值:1)
- psnr
- 编码后打印整个视频的
PSNR(峰值信噪比),并将每个帧的
PSNR
存放在名字诸如‘psnr_hhmmss.log’的文件中。返回值的单位为
dB(分贝),值越高越好。
- mpeg_quant
- 使用 MPEG 的量化器而非
H.263 的。
- aic
- 启用 MPEG-4
的交流信号预测模式,或是
H.263+
的高级帧内预测模式。该选项将很有限地提升质量(大约
0.02dB 的
PSNR),同时稍许减慢编码速度(大约为
1%)。
注意: vqmin 应当设为 8
或更大以使用 H.263+ AIC。
- aiv
- 用于 H.263+
的另一种帧间可变长度编码模式
- umv
- 无限制的运动矢量(MV)(仅用于H.263+)允许编码任意长的
MV。
- ibias=<-256-256>
- 帧内量化器的偏向系数(256
等价于 1.0,MPEG
类型的量化器的默认值:96,H.263
类型的量化器的默认值:0)
注意: H.263 MMX
量化器无法处理正数值的偏向系数(应设置
vfdct=1 或 2),MPEG MMX
量化器无法处理负数值的偏向系数(应设置
vfdct=1 或 2)。
- pbias=<-256-256>
- 帧间量化器偏向系数(256
等价于1.0,MPEG类型的量化器的默认值:0,H.263
类型的量化器的默认值:-64)
注意: H.263 MMX
量化器无法处理正数值的偏向系数(应设置
vfdct=1 或 2),MPEG MMX
量化器无法处理负数值的偏向系数(应设置
vfdct=1 或 2)。
提示:
偏向系数的值越大(-32
- -16,而不是
-64)看上去越能提升
PSNR。
- nr=<0-100000>
- 噪声削减模式,0
表示禁用。0-600
对于典型的视频内容来说是一个有用的范围,但是可能希望将其调高一点以用于噪点十分多的视频内容(默认值:0)。考虑到该选项对于编码速度影响小,可能希望更倾向于使用这个选项,而不是用诸如
denoise3d 或 hqdn3d
之类的视频过滤器来过滤噪声。
- qns=<0-3>
- 量化器噪声整形模式。该选项不是选择在
PSNR
上最接近源视频的量化模式,而是选择能使噪声(通常是色斑)会被图像中相近频率内容所屏蔽的量化模式。较大的值运行速度较慢,但可能无法产生较好的编码质量。该选项可以并且应当与格子因子量化模式一起使用,在这种情况下格子因子量化模式(对于恒定权值是最优的)将作为迭代搜索的起始操作。
- 0
- 禁用(默认值)
- 1
- 仅降低系数的绝对值。
- 2
- 仅改变最后一个非零系数+1
之前的系数。
- 3
- 尝试所有操作。
- inter_matrix=<逗号分隔的矩阵>
- 使用自定义的帧间矩阵。该选项需要一个用逗号分隔的
64
个整数组成的字符串。
- intra_matrix=<逗号分隔的矩阵>
- 使用自定义的帧内矩阵。该选项需要一个用逗号分隔的
64
个整数组成的字符串。
- vqmod_amp
- 实验性的量化参数调整模式
- vqmod_freq
- 实验性的量化参数调整模式
- dc
- 以比特为单位的帧内直流信号的精度(默认值:8)。如果指定了
vcodec=mpeg2video,那么该值可以是
8、9、10 或 11。
- cgop(另见
sc_threshold)
- 封闭所有的画面组。当前该选项只有当场景切换侦测功能禁用时才能起作用(sc_threshold=1000000000)。
- gmc
- 启动全局动作补偿。
- (no)lowdelay
- 设置用于 MPEG-1/2
的低延迟标志位(禁用
B 帧)。
- vglobal=<0-3>
- 控制写入全局视频头部信息的方式。
- 0
- 编解码器决在哪里写入全局头部信息(默认值)。
- 1
- 只在
extradata(额外数据)域中写入全局头部信息(.mp4/MOV/NUT
需要这样做)。
- 2
- 只在关键帧之前写入全局头部信息。
- 3
- 结合 1 和 2
两种方式。
- aglobal=<0-3>
- 与 vglobal
相同,用于音频头部信息。
- level=<参数值>
- 设置编解码器环境等级。可使用
31 或 41 以在 Playstation 3
上播放视频。
- skip_exp=<0-1000000>
- FIXME:为这个选项写说明文档。
- skip_factor=<0-1000000>
- FIXME:为这个选项写说明文档。
- skip_threshold=<0-1000000>
- FIXME:为这个选项写说明文档。
Nuppel 是基于 RTJPEG 和 LZO
的视频。默认方式下,帧首先以
RTJPEG
方式编码,然后再用 LZO
压缩,但可以禁用这两个阶段中的一个或两个。于是,实际可以输出的是原始的
i420、LZO压缩的i420、RTJPEG
或默认情况下的经 LZO
压缩的 RTJPEG。
注意: nuvrec
文档中包含了一些用于大多数常见电视信号编码的设置的建议和示例。
- c=<0-20>
- 色度阈值(默认值:1)
- l=<0-20>
- 亮度阈值(默认值:1)
- lzo
- 启用 LZO
压缩(默认值)。
- nolzo
- 禁用 LZO 压缩。
- q=<3-255>
- 质量等级(默认值:255)
- raw
- 禁用 RTJPEG 编码。
- rtjpeg
- 启用 RTJPEG
编码(默认值)。
有三个模式可以使用:恒定比特率模式(CBR)、固定量化参数模式和二阶段编码模式。
- pass=<1|2>
- 在二阶段编码模式中指定哪一个阶段。
- turbo(仅用于二阶段编码模式)
- 通过使用更快的算法并禁用大量消耗
CPU
的选项,以加速第一阶段编码。该选项可能稍许降低全局的
PSNR,改变单个帧的类型,并且稍许提升这个帧的
PSNR。
- bitrate=<参数值>(用于
CBR
或二阶段编码模式)
- 设置所使用的比特率。若值小于
16000,则单位为千比特/秒;若值大于
16000,则单位为比特/秒。
如果 <参数值>
为负数,那么 Xvid
将把这个值的绝对值作为视频的目标大小(单位为
kBytes),并自动计算出相应的比特率(默认值:687kbits/s)。
- fixed_quant=<1-31>
- 切换至固定量化参数模式,并指定所使用的量化参数。
- zones=<区域0>[/<区域1>[/...]](用于
CBR
或二阶段编码模式)
- 用户指定的针对影片特定部分(片尾、演职员表、……)的质量值。每个区域的格式是
<启始帧>,<模式>,<参数值>,其中
<模式> 可以是
- q
- 更改恒定量化参数,在这种模式下
参数值=<2.0-31.0>,代表量化参数值。
- w
- 更改码率控制权值,在这种模式下
参数值=<0.01-2.00>,代表单位为
% 的质量修正值。
示例:
- me_quality=<0-6>
- 该选项控制运动估计子系统。值越高,运动估计就越精确(默认值:6)。运动估计越精确,就能节省越多的比特。提高精度是以牺牲
CPU
时间为代价的,所以如果需要实时编码,那么就降低这个设置。
- (no)qpel
- MPEG-4
默认在其运动搜索中采用半像素的精度。标准中提出了一种允许编码器采用四分之一像素精度的模式。该选项通常导致图像较为锐化。不幸的是,该选项对于比特率有很大影响,并且有时候这种较高的比特率的占用阻碍其在固定比特率下给予图像较好质量。最好在启用和禁用这个选项的情况下测试一下,以看看是否值得激活该选项。
- (no)gmc
- 启用全局运动补偿模式,该模式使
Xvid 生成特殊的帧(GMC
帧),这种帧相当适合带有摇摄/推近/旋转等镜头的画面。使用该选项是否能节省比特是高度取决于源视频素材。
- (no)trellis
- 格子因子量化模式是一种自适应的量化方式,该方式通过修改量化后的系数,以使这些系数能被熵编码器更大幅度地压缩,从而节省比特。其对质量的提升是不错的,如果
VHQ 显得占用了太多
CPU,那么这个设置可能是比
VHQ
以较少代价节省一些比特(并且提升固定比特率下画面质量)的另一种方法(默认值:打开)。
- (no)cartoon
- 如果所编码的帧序列是动画/卡通的话,那么就激活这个选项。这个选项修改
Xvid
内部的一些阈值,以使
Xvid
对于外观平面化的卡通片的帧类型和运动矢量的决策中有较好判断。
- (no)chroma_me
- 通常的运动估计算法仅使用亮度信息寻找最佳的运动矢量。然而对于一些视频素材,使用色度平面能有助于找到更好的矢量。该设置开启在运动估计中对于色度平面的使用(默认值:开启)。
- (no)chroma_opt
- 启用色度优化器预过滤器。该预过滤器将对色彩信息做一些额外的特殊处理,以使图形边缘的阶梯性变化效果降至最低。该预过滤器会以牺牲编码速度为代价以提升质量。这自然会降低
PSNR,因为相对于原始画面数学上的偏移将增大,但是主观感觉上图像的质量将得到提升。由于其依据色彩信息而发挥作用,因而在以灰度模式编码时可能希望将这个选项关闭。
- (no)hq_ac
- 处理来自邻近块的内部帧时,激活交流信号系数的高质量预测模式(默认值:开启)。
- vhq=<0-4>
- 运动搜索算法是基于对于通常色彩域的搜索,其尝试找到一个能将参照帧和编码所得帧的差别降至最小的运动矢量。激活该选项时,Xvid
将同时利用频率域(离散余弦变换)搜索到一个既将空间上的差别降至最小,又将块的编码长度降至最短的运动矢量。从运行最快至运行最慢的设置有:
- 0
- 关闭
- 1
- 根椐模式决定(帧间/帧内宏块)(默认值)
- 2
- 限制性搜索
- 3
- 中性搜索
- 4
- 宽泛性搜索
- (no)lumi_mask
- 自适应的量化模式使宏块的量化参数能在每个帧中有所不同。这是一种‘心理感官性’的设置,一般认为其所利用的事实是人眼倾向于在画面中十分亮的和十分暗的部分只注意到较少的细节。相对于中性的区域,该选项对于这些区域压缩幅度更大,这将节省一些比特而将其用在其它的帧中,从而提升整体的主观视觉质量,但可能降低了
PSNR。
- (no)grayscale
- 使 Xvid
丢弃色度平面信息,从而使编码得到的视频只有灰度信息。注意该选项并不加快编码速度,而只是在编码的最后阶段阻止写入色度数据。
- (no)interlacing
- 编码隔行扫描视频内容的扫描场。可打开该选项以用于隔行扫描内容。
注意:
如果要改变视频的尺寸,那么需要一个能识别隔行扫描内容的缩放器,可以使用
-vf scale=<宽>:<高>:1
来激活这种缩放器。
- min_iquant=<0-31>
- 最小 I
帧量化参数(默认值:2)
- max_iquant=<0-31>
- 最大 I
帧量化参数(默认值:31)
- min_pquant=<0-31>
- 最小 P
帧量化参数(默认值:2)
- max_pquant=<0-31>
- 最大 P
帧量化参数(默认值:31)
- min_bquant=<0-31>
- 最小 B
帧量化参数(默认值:2)
- max_bquant=<0-31>
- 最大 B
帧量化参数(默认值:31)
- min_key_interval=<参数值>(仅用于二阶段编码模式)
- 关键帧间的最小间隔(默认值:0)
- max_key_interval=<参数值>
- 关键帧间的最大间隔(默认值:10*fps)
- quant_type=<h263|mpeg>
- 设置所使用的量化参数类型。处理高码率时,会发现
MPEG
量化模式保留了更多的细节。处理低码率时,H.263
的平滑特性会带来较少的宏块噪声。当使用自定义的量化矩阵时,
必须 使用 MPEG
量化模式。
- quant_intra_matrix=<文件名>
- 载入自定义的帧内量化矩阵文件。可使用
xvid64conf
的矩阵编码器构建这样的文件。
- quant_inter_matrix=<filename>
- 载入自定义的帧间量化矩阵文件。可使用
xvid64conf
的矩阵编码器构建这样的文件。
- keyframe_boost=<0-1000>(仅用于二阶段编码模式)
- 将一些比特从其它帧类型的空间储备中转移至内部帧中,从而提高关键帧的质量。该数量是增加的百分比量,所以值为
10
将给关键帧带来比通常情况下多
10%
的比特量(默认值:0)。
- kfthreshold=<参数值>(仅用于二阶段编码模式)
- 与 kfreduction
一同使用。定义一个最小距离,低于这个距离就认为两个帧应当视作是连续的,从而根据
kfreduction
的设置处理这个情况(默认值:10)。
- kfreduction=<0-100>(仅用于二阶段编码模式)
- 以上两个设置可用于调整那些视作过于接近(一个序列中)第一个帧的关键帧的大小。kfthreshold
设置在哪个范围内的关键帧要被削减,而
kfreduction
决定了这些关键帧被削减比特率的量。最后一个
I
帧将以通常的方式处理(默认值:30)。
- max_bframes=<0-4>
- 位于 I/P 帧间的 B
帧的最大数量(默认值:2)。
- bquant_ratio=<0-1000>
- B 帧与非 B
帧间的量化参数比,150=1.50(默认值:150)
- bquant_offset=<-1000-1000>
- B 帧与非 B
帧间的量化参数差异值,100=1.00(默认值:100)
- bf_threshold=<-255-255>
- 该选项用于指定使用 B
帧的优先级。该值越高,就越可能使用
B
帧(默认值:0)。不要忘了
B
帧通常量化参数比较高,因而过分产生
B
帧可能导致视觉质量变差。
- (no)closed_gop
- 该选项告诉 Xvid
封闭每个 GOP(Group Of
Pictures,由两个 I
帧分隔出来的画面组),这使
GOP
彼此之间相互独立。这就是意味着
GOP
的最后一个帧要么是 P
帧,要么是 N
帧,而不是 B
帧。通常开启这个选项是比较好的(默认值:开启)。
- (no)packed
- 该选项意在解决编码至诸如
AVI
之类的不能处理乱序帧序列的容器格式时,所发生的帧顺序问题。实际应用中,大多数解码器(无论是软件的还是硬件的)都能够自己处理帧的顺序,因而当该选项开启时可能反而引起混乱,所以可以放心地让这个选项保留为关闭状态,除非确实知道在做什么。
警告:
该选项会产生非法的比特流,从而无法被
DivX/libavcodec/Xvid 以外的 ISO-MPEG-4
的解码器解码。
警告:
该选项同时会在文件中存入一个虚假的
DivX
版本号,所以某些解码器中有缺陷的自动侦测系统可能会搞不清楚。
- frame_drop_ratio=<0-100>(仅用于
max_bframes=0)
- 该设置使创建可变帧率视频流成为可能。该设置的值指定了一个阈值,如果后一个帧相对于前一个帧的差异低于或等于这个阈值,那么将跳过对于帧的编码(一个所谓的
n-vop
将放置于视频流中)。在播放时,当遇到
n-vop
时,将显示前一个帧。
警告:
滥用这个设置可能导致视频跳跃,所以使用该选项后果自负!
- rc_reaction_delay_factor=<参数值>
- CBR
码率控制器在对于比特率变后作出反应并且对其作出补偿,以使比特率在平均化范围内的帧中保持恒定。该参数控制此操作前所等待帧的数量。
- rc_averaging_period=<参数值>
- 真正的 CBR
是很难达到的。由于视频素材的不同,比特率可能是变化而难以预测的。所以
Xvid
采用了一种平均化周期,在这个周期中保证比特数量为所给的值(减去一个较小的可变值)。该设置所表达的是
Xvid
平均“多少数量的帧”的比特率从而达到
CBR 效果。
- rc_buffer=<参数值>
- 码率控制缓冲的大小
- curve_compression_high=<0-100>
- 该设置使 Xvid
能够从高比特率的场景中拿出一定百分比的比特,而将这些比特还给比特预留储备中。也可使用这个设置用于一个视频有太多的比特分配给了高比特率的场景,以致于(较)低比特率的场景变得视觉效果很糟糕的情况(默认值:0)。
- curve_compression_low=<0-100>
- 该设置使 Xvid
能够将一定百分比的额外的比特分给低比特率的场景,而从整个视频剪辑中拿去一部分比特。如果一些低比特率场景仍然有马赛克,那么这个设置可能很好的作用(默认值:0)。
- overflow_control_strength=<0-100>
- 在二阶段编码模式的第一阶段,计算出了一个经过缩放的比特率曲线。这个所期望曲线与编码中得到的曲线之间的差值称为溢出。显然,二阶段编码的码率控制器尝试弥补这个溢出量,将这个差值派分到后续帧中。该设置控制了每次有一个新帧时,分配多少溢出量。较低的值允许使用较迟缓的溢出控制,较大的码率喷发将较慢地得到补偿(可能导致小型视频剪辑缺乏精度)。较大的值将使比特再分配过程中的变化更具突发性,如果设得太高则可能太具突发性,以致产生损伤(默认值:5)。
注意:
该设置对于质量极具影响,小心使用!
- max_overflow_improvement=<0-100>
- 在帧所用比特的分配过程中,溢出控制可能增加帧的大小。该参数指定溢出控制允许相对于理想分配曲线所增加帧大小的最大的百分比(默认值:5)。
- max_overflow_degradation=<0-100>
- 在帧所用比特的分配过程中,溢出控制可能减少帧的大小。该参数指定溢出控制允许相对理想分配曲线减小帧大小的最大的百分比(默认值:5)。
- container_frame_overhead=<0...>
- 指定每帧的平均开销,单位为字节。大多数时候用户表达的是视频的目标比特率,而不关心视频容器文件的开销。这种小而(往往)恒定的开销可以导致目标文件大小超过预期值。Xvid
允许用户设置容器产生的平均每帧的开销数量(只给出每帧的平均值)。0
具有特殊的含义,这个值使
Xvid
采用自己的默认值(默认值:24——AVI的平均开销)。
- profile=<配置集名>
- 根据简单配置集(Simple
Profile)、高级简单配置集(Advanced
Simple Profile)以及 DivX
配置集(DivX
Profile)限制选项的使用和
VBV(短周期峰值比特率)。所产生的视频应该能够在符合这些配置集标准的独立播放器上播放。
注意:
这些配置集应当与适当的
-ffourcc 选项一起使用。
通常 DX50
是可以采用的,因为某些播放器不能识别
Xvid 但大多数能识别
DivX。
- par=<模式>
- 指定像素宽高比(Pixel
Aspect
Ratio)模式(勿将其与
DAR,屏幕宽高比,混淆在一起)。PAR
是单个像素的宽度和高度的比例。所以两者的关系如下:DAR
= PAR * (宽度/高度)。
MPEG-4 定义了 5
种像素宽高比以及一种泛用宽高比,这为指定一种专用的像素宽高比
留下了余地。可以指定
5 种标准模式:
- vga11
- 这是通常用于 PC
视频内容的
PAR。像素是正方形单元。
- pal43
- PAL 标准的 4:3 的
PAR。像素是长方形的。
- pal169
- 与上面同理
- ntsc43
- 与上面同理
- ntsc169
- 与上面同理(不要忘了给出精确的比率)
- ext
- 允许使用 par_width 和 par_height
指定自定义的像素宽高比。
注意:
通常,设置 aspect 和 autoaspect
选项就已经足够了。
- par_width=<1-255>(仅用于
par=ext)
- 指定自定义像素宽高比的宽度。
- par_height=<1-255>(仅用于
par=ext)
- 指定自定义像素宽高比的高度。
- aspect=<x/y
| f(浮点值)>
- 将影片的宽高比存放于文件内部,就像
MPEG
文件一样。比重新缩放的效果好很多,因为质量并不下降。MPlayer
与其它一些播放器能正确播放这些文件,除此之外的播放器会以错误的宽高比显示这些文件。宽高比参数可以以比率或是浮点数的形式给出。
- (no)autoaspect
- 与 aspect
选项相同,但是是自动计算宽高比,在此过程中考虑了过滤器序列中所进行的所有的调整(crop/expand/scale/等等)。
- psnr
- 编码之后打印出整个视频的
PSNR(峰值信噪比),并将逐帧计算的
PSNR
保存在当前目录中名字诸如‘psnr_hhmmss.log’的一个文件里。返回值的单位是
dB(分贝),值越高越好。
- debug
- 将逐帧计算的统计信息保存在
./xvid.dbg
中。(这个文件不是二阶段编码模式中的码率控制文件。)
以下选项只适用于
Xvid 1.1.x
以及之后的版本。
- bvhq=<0|1>
- 该设置允许通过使用一种针对码率失真优化的运算,来选取用于编码中使用的
B
帧的候选运动矢量,对于
P 帧这种方式是通过 vhq
选项实现的。该方式产生的
B
帧看上去较好,而同时也几乎不影响性能(默认值:1)。
- vbv_bufsize=<0...>(仅用于二阶段编码模式)
- 以比特为单位指定视频缓冲校验器(VBV)的缓冲大小(默认值:0
- 禁用 VBV 校验)。VBV
提供限制峰值比特率的功能,以使视频能在硬件播放器上正常播放。例如,Home
配置集使用
vbv_bufsize=3145728。如果设置了
vbv_bufsize,则应当同时设置
vbv_maxrate。注意,没有所谓
vbv_peakrate 的选项,因为 Xvid
实际上并不使用这种选项控制比特率;其它的
VBV
选项足以限制峰值比特率。
- vbv_initial=<0...vbv_bufsize>(仅用于二阶段编码模式)
- 以比特为单位指定 VBV
缓冲初始填充的大小(默认值:vbv_bufsize
的
75%)。默认值通常是所需的值。
- vbv_maxrate=<0...>(仅用于二阶段编码模式)
- 指定最大处理的比特率,单位为比特/秒(默认值:0)。例如,Home
配置集使用 vbv_maxrate=4854000。
以下选项只适用于
Xvid 1.2.x
以及之后的版本。
- threads=<0-n>
- 创建 n
个线程用以运行运动估计任务(默认值:0)。最多可以使用的线程的数量为画面的高度除以
16 所得的值。
- bitrate=<参数值>
- 设置所采用的平均比特率,单位为千比特/秒(默认值:关闭)。由于局部比特率会变化,因而这个平均值对于十分短的视频来说可以不精确(参见
ratetol)。可以通过将此设置与
vbv_maxrate
一起使用来实现恒定的比特率,代价是质量严重下降。
- qp=<0-51>
- 该选项选择的是用于 P
帧的量化参数。I 与 B
帧的话分别是该值加上
ip_factor 与 pb_factor
后得到的值。20-40
是一个用处很广的范围。较低的值产生较好的精确,但导致比特率较高。0
代表无损。注意 H.264
的量化模式与 MPEG-1/2/4
的工作方式不同:H.264
的量化参数是基于对数尺度的。两者之间的映射关系大至是
H264QP = 12 + 6*log2(MPEGQP)。例如,MPEG 的
QP=2 与 H.264 的 QP=18
是等价的。通常情况下,应避免使用该选项,而是使用
crf,因为 crf
在相同数据量下能产生更好的视觉效果。
- crf=<1.0-50.0>
- 启用恒定质量模式,并选择质量值。该质量值的尺度与
QP
的相类似。就像基于比特率的模式一样,该模式允许每个帧根据帧的复杂度使用不同的
QP。通常情况下应使用该选项而非
qp。
- crf_max=<浮点值>
- 当使用 CRF 和 VBV 时,限制
RF
最多为该值(可以导致
VBV 下溢!)。
- pass=<1-3>
- 启用 2 或 3
阶段编码模式。推荐总是以
2 或 3
阶段编码模式编码,因为该模式使比特的分配更佳,从而提升整体质量。
- 1
- 第一阶段
- 2
- (二阶段编码模式中的)第二阶段
- 3
- 第 N
阶段(三阶段编码模式的第二和第三阶段)
以下介绍的是其如何工作,以及如何使用这个参数:
第一阶段(pass=1)收集视频上的统计信息,并将这些信息写入一个文件中。除了那些默认为打开的选项,可能希望关闭一些消耗
CPU 的选项。
在二阶段编码模式,第二阶段(pass=2)读取统计信息文件,并基于这个文件进行码率控制决策。
在三阶段编码模式中,第二阶段(pass=3,这是不打印错误)同时做两件事:其首先读取统计信息,然后重写这些统计信息。可使用所有的编码选项,除了那些十分消耗
CPU 的选项。
第三阶段(pass=3)与第二阶段相同,只是这一阶段基于第二阶段产生的统计信息工作。可使用所有的编码选项,包括消耗
CPU 的那些选项。
第一阶段可以使用平均比特率模式,或是使用恒定量化参数。推荐使用
ABR,因为该模式无需猜测所要使用的量化参数。后续阶段是
ABR
模式的,并且必须指定比特率。
- profile=<名称>
- 限制所用选项,使必须与某个
H.264 配置集相兼容。
- baseline
- no8x8dct bframes=0 nocabac cqm=flat weightp=0 nointerlaced qp>0
- main
- no8x8dct cqm=flat qp>0
- high
- qp>0(默认值)
- preset=<名称>
- 使用一套预设值以选用编码设置。
- ultrafast
- no8x8dct aq_mode=0 b_adapt=0 bframes=0 nodeblock nombtree me=dia
nomixed_refs partitions=none ref=1 scenecut=0 subq=0 trellis=0 noweight_b
weightp=0
- superfast
- nombtree me=dia nomixed_refs partitions=i8x8,i4x4 ref=1 subq=1 trellis=0
weightp=0
- veryfast
- nombtree nomixed_refs ref=1 subq=2 trellis=0 weightp=0
- faster
- nomixed_refs rc_lookahead=20 ref=5 subq=4 weightp=1
- fast
- rc_lookahead=30 ref=2 subq=6
- medium
- 使用默认设置。
- slow
- b_adapt=2 direct=auto me=umh rc_lookahead=50 ref=5 subq=8
- slower
- b_adapt=2 direct=auto me=umh partitions=all rc_lookahead=60 ref=8 subq=9
trellis=2
- veryslow
- b_adapt=2 b_frames=8 direct=auto me=umh me_range=24 partitions=all ref=16
subq=10 trellis=2 rc_lookahead=60
- placebo
- bframes=16 b_adapt=2 direct=auto nofast_pskip me=tesa me_range=24
partitions=all rc_lookahead=60 ref=16 subq=10 trellis=2
- tune=<名称,[名称,...]>
- 调整设置以适应特定种类的视频片源或场景。用户明确指定的设置会改写任何所调整的设置。多个调整选项间以逗号分隔,但同一时间只能使用一个心理调整选项。
- film(心理调整选项)
- deblock=-1,-1 psy-rd=<unset>,0.15
- animation(心理调整选项)
- b_frames={+2} deblock=1,1 psy-rd=0.4:<unset> aq_strength=0.6
ref={double if >1 else 1}
- grain(心理调整选项)
- aq_strength=0.5 nodct_decimate deadzone_inter=6 deadzone_intra=6
deblock=-2,-2 ipratio=1.1 pbratio=1.1 psy-rd=<unset>,0.25
qcomp=0.8
- stillimage(心理调整选项)
- aq_strength=1.2 deblock=-3,-3 psy-rd=2.0,0.7
- psnr(心理调整选项)
- aq_mode=0 nopsy
- ssim(心理调整选项)
- aq_mode=2 nopsy
- fastdecode
- nocabac nodeblock noweight_b weightp=0
- zerolatency
- bframes=0 force_cfr rc_lookahead=0 sync_lookahead=0 sliced_threads
- slow_firstpass
- 当 pass=1
时禁用以下运行较快的选项:no_8x8dct
me=dia partitions=none ref=1 subq={2 if >2 else unchanged} trellis=0
fast_pskip。这些选项大幅度地提高编码速度,同时对于最终阶段的编码质量只有很少甚至没有影响。
使用 preset=placebo
隐含地表示开启该选项。
- keyint=<参数值>
- 设置 IDR
帧间的最大间隔(默认值:250)。较大的值节省比特,从而提高质量,代价是降低播放中的定位精度。与
MPEG-1/2/4 不同,H.264 在 keyint
值很大时并不受离散余弦变换漂移效应影响。
- keyint_min=<1-keyint/2>
- 设置 IDR
帧间的最小间隔(默认值:自动)。如果间隔中出现了场景切换,那么切换仍然编码为
I
帧,但不产生新的画面组。在
H.264 中,I
帧并不一定是封闭画面组的边界,因为其允许
P
帧在其前面的一帧之前预测出来
(另见 frameref)。所以,I
帧并不一定可用于播放定位。IDR
帧限制其后续 P
帧,使其参照该 IDR
帧之前的帧。
- scenecut=<-1-100>
- 控制插入额外 I
帧行为的激进程度(默认值:40)。当
scenecut
值小时,编解码器在即将超过
keyint
所规定值时总是强制使用
I 帧。scenectu
值设置得好可能为 I
帧找到一个更好的位置。较大的数值导致使用多于所需的
I
帧,从而浪费了比特。-1
表示禁用场景切换侦测,这样
I 帧只有每过 keyint
个帧时才会插入一个,即使场景切换之前就已发生。这种方式不推荐使用,并且浪费比特率,因为场景切换编码为
P 帧与编码为 I
帧数据量几乎差不多,但其并不重置‘keyint
计数器’。
- (no)intra_refresh
- 使用周期性的内部区域更新而不使用关键帧(默认值:禁用)。该选项禁用
IDR
帧,而是使用由一组内部编码的区域组成的移动垂直带。该模式降低了压缩效率但减小了流传输的延并增强了对丢包的容错能力。
- frameref=<1-16>
- B 帧和 P
帧中的预测器里所使用的之前出现的帧的数量(默认值:3)。该选项对动画是有效果的,但在实拍视频素材中,大约
6
个参照帧之后参照帧的优化效果急剧下降。该选项对于解码速度没有影响,但确实增加了解码所需的内存量。某些解码器最多只能处理
15 个参照帧。
- bframes=<0-16>
- I 帧和 P
帧之间连续出现的 B
帧的最大数量(默认值:3)
- (no)b_adapt
- 自动决定何时使用 B
帧以及使用多少,数量上限为以上所指定的最大值(默认值:开启)。如果禁用了这个该项,那么将使用的
B 帧数为最大值。
- b_bias=<-100-100>
- 控制 b_adapt
所做的决策。b_bias
值越高产生的 B
帧越多(默认值:0)。
- b_pyramid=<normal|strict|none>
- 允许 B
帧作用预测其它帧的参照帧。例如,考虑
3 个连续的 B 帧:IO B1 B2 B3
P4。不用这个选项的话,B
帧的样式与 MPEG-[124]
中的一样。这样这些帧将以
IO P4 B1 B2 B3
的次序编码,而所有的
B 帧都是从 IO 和 P4
中预测出来的。使用了这个选项后,这些帧将编码为
IO 04 B2 B1 B3。B2
与前面所述的一样,但
B1 是从 IO 和 B2
预测出来的,而 B3
是从 B2 和 P4
预测出来的。这种方式通常产生稍许好一些的压缩效果,而几乎没有运行速度上的开销。然而,这是一个实验性的选项:没有完全调整好并且可能不能总是起作用。要求
bframes >=
2。缺点:将解码延迟量增加至
2 帧。
- normal
- 允许 B
帧以如上所述的方式作为引用帧使用(与蓝光标准不兼容)。
- strict
- 不允许 P 帧引用 B
帧。压缩率下降,但要与蓝光标准兼容时必须使用。
- none
- 禁止使用 B
帧作为引用帧。
- (no)open_gop
- 使用恢复点闭合图像组;只可用于
B 帧。
- (no)bluray_compat
- 启用提供兼容性的破解逻辑以支持蓝光播放。
- (no)fake_interlaced
- 将媒体流标记为隔行扫描模式,但以逐行扫描模式编码。这使编码
25p 和 30p
的蓝光媒体流成为可能。在隔行扫描模式下忽略该选项。
- frame_packing=<0-5>
- 指定立体视频中帧的排列方式。
- 0
- 花格式交替 -
左右眼画面的像素交替出现。
- 1
- 按列交替 -
左右眼画面按像素列交替排列。
- 2
- 按行交替 -
左右眼画面按像素行交替排列。
- 3
- 边靠边排列 -
左眼画面在左边,右眼画面在右边。
- 4
- 上下排列 -
左眼画面在上面,右眼画面在下边。
- 5
- 按帧交替 -
每帧为单眼的画面。
- (no)deblock
- 使用反块效应过滤器(默认值:开启)。由于相对于其提高的质量而言,该选项占用极少时间,所以不推荐禁用这个选项。
- deblock=<-6-6>,<-6-6>
- 第一个参数是
AlphaC0(默认值:0)。该参数调整的是
H.264
内循环去块效应过滤器所用的阈值。首先,该参数调整的是过滤器对于任何一个像素所允许产生的变动的最大数量。其次,该参数影响的是将被滤除的边界两侧差异的阈值。正数值使更多的块效应损伤得到削减,但同时也会损伤画面细节。
第二个参数是
Beta(默认值:0)。该参数影响的是画面细节的阈值。细节很多的块将不被过滤,因为过滤器产生的平滑效果会比原来的块效应效果更加明显。
过滤器的默认行为几乎总是带来最优的质量,所以最好要么不调这个选项,要么只对其作少量调整。然而,如果源视频素材已经有一些块效应或噪声效果想要去除,那么可能将这个选项调高一点是个不错的办法。
- (no)cabac
- 使用 CABAC 模式(Context-Adaptive Binary
Arithmetic
Coding,上下文自适应的二进制算术编码)(默认值:开启)。稍稍减慢编码和解码的速度,但应该可以节省
10-15%
的比特率。除非需要解码速度,否则不该禁用该选项。
- qp_min=<1-51>(用于
ABR
或二阶段编码模式)
- 最小量化参数,10-30
似乎是用处很多的范围(默认值:10)。
- qp_max=<1-51>(用于
ABR
或二阶段编码模式)
- 最大量化参数(默认值:51)
- qp_step=<1-50>(用于
ABR
或二阶段编码模式)
- 量化参数在帧之间增加/降低的最大数值(默认值:4)
- (no)mbtree
- 启用宏块树结构的码率控制(默认值:启用)。采用大量的预读以跟上数据在时间上的变化并相应地设置编码质量的权重。在多阶段的编码模式中,该模式将信息写入一个名为
<passlogfile>.mbtree
的独立的状态文件中。
- rc_lookahead=<0-250>
- 调整 mbtree
的预读范围(默认值:40)。较大的值将运行得较慢并使
x264
消耗较多的内存,但同时能产生较高的质量。
- ratetol=<0.1-100.0>(用于
ABR
或二阶段编码模式)
- 相对于平均比特率的所允许的变化程度(不针对特定编码单元)(默认值:1.0)
- vbv_maxrate=<参数值>(用于
ABR
或二阶段编码模式)
- 局部最大的比特率,单位为千比特/秒(默认值:禁用)
- vbv_bufsize=<参数值>(用于
ABR
或二阶段编码模式)
- 计算vbv_maxrate时所使用的平均化周期,单位为千比特(默认值:无,如果启用了
vbv_maxrate
那么必须指定该选项)
- vbv_init=<0.0-1.0>(用于
ABR
或二阶段编码模式)
- 初始缓冲占用量,为相对于
vbv_bufsize
值的一个比率(默认值:0.9)
- ip_factor=<参数值>
- I 帧和 P
帧间的量化参数因数(默认值:1.4)
- pb_factor=<参数值>
- P 帧和 B
帧间的量化参数因数(默认值:1.3)
- qcomp=<0-1>(用于
ABR
或二阶段编码模式)
- 量化参数压缩率(默认值:0.6)。值越小使比特率越恒定,而值越大使量化参数越恒定。
- cplx_blur=<0-999>(仅用于二阶段编码模式)
- 估计出的帧复杂度的时间性模糊度,应用于曲线压缩之前(默认值:20)。值越低则量化参数值能够浮动得越多,值越高则能够变化得越平滑。cplx_blur
保证每个 I
帧的质量与其后的 P
帧相当,并保证复杂度高低交替变化的帧(例如,低帧率的动画)不会因为量化参数的波动而浪费比特。
- qblur=<0-99>(仅用于二阶段编码模式)
- 量化参数的时间性模糊度,应用于曲线压缩之后(默认值:0.5)。值越低则量化参数能够浮动得越多,值越高则能够变化得越平滑。
- zones=<区域0>[/<区域1>[/...]]
- 用户指定的用于影片特定部分(片尾、演职员表、……)的质量值。每个区域的格式是
<启始帧>,<结束帧>,<选项>,其中选项可以是
注意:
量化参数选项不是严重执行的。其影响的只是码率控制过程中的计划阶段,并且仍然受制于溢出补偿和
qp_min/qp_max 选项。
- direct_pred=<名称>
- 决定用于 B
帧中直接模式宏块的运动预测的类型。
spatial 和 temporal
速度上和 PSNR
上大致相同,选择两者中的哪一个取决于视频的内容。auto
稍稍好一些,但运行慢一些。当与多阶段编码模式一同使用时,auto
非常有效。direct_pred=none
不仅运行速度较慢而且质量也较差。
- weightp
- 基于权重的 P
帧预测模式(默认值:2)。
- 0
- 禁用(运行最快)
- 1
- 基于权重的帧引用方式(质量较好)
- 2
- 基于权重的帧引用方式
+
重复输出(质量最好)
- (no)weight_b
- 使用 B
帧中带权重的预测模式。不用这个选项的话,双向预测出的宏块给每个所参照的帧相等的权重值。使用了该选项后,权重值是根据
B
帧相对参照帧的时间位置而决定的。要求
bframes > 1。
- partitions=<列表>
- 启用一些可选的宏块类型(默认值:p8x8,b8x8,i8x8,i4x4)。
- p8x8
- 启用 p16x8、p8x16、p8x8
类型。
- p4x4
- 启用 p8x4、p4x8、p4x4 类型。p4x4
只在 subq >=
5,并且分辨率低时才推荐使用。
- b8x8
- 启用 b16x8、b8x16、b8x8
类型。
- i8x8
- 启用
i8x8类型。除非启用了
8x8dct,否则 i8x8
没有任何效果。
- i4x4
- 启用 i4x4 类型。
- all
- 启用以上所有类型。
- none
- 禁用以上所有类型。
不管这个选项设为何值,p16x16、b16x16
和 i16x16
三种宏块类型总是启用的。
其思想是找到最适合描绘画面某一区域的宏块类型和尺寸。例如,全局摇摄镜头较好以
16x16
的块来表示,而小型移动物体较好以小一点的块来表示。
- (no)8x8dct
- 自适应空间变换尺寸:允许宏块在
4x4 和 8x8
的离散余弦变换间选择一种。同时允许使用
i8x8
的宏块类型。不使用这个选项时,只使用
4x4 的离散余弦变换。
- me=<名称>
- 选择全像素运动估计算法。
- dia
- 菱形搜索,半径为
1(运行快)
- hex
- 六边形搜索,半径为
2(默认值)
- umh
- 非均匀的多六边形搜索(运行慢)
- esa
- 彻底性搜索(运行非常慢,而且不比
umh 好多少)
- me_range=<4-64>
- 彻底性运动搜索或多六边形运动搜索的半径(默认值:16)
- subq=<0-11>
- 调整亚像素优化质量。该参数控制的是运动估计决策过程中质量与速度间的权衡。subq=5
能比 subq=1 多压缩掉 10%。
- 0
- 对于所有候选宏块类型运行全像素精度的运动估计操作。然后选择
SAD
指标最佳的类型(比
subq=1
快,不推荐,除非需要极其快速的编码)。
- 1
- 执行值为 0
时的操作,然后优化这种类型的运动值,使其达到快速四分之一像素模式的精度(运行快)。
- 2
- 对于所有候选宏块类型运行半像素精度的运动估计操作。然后选择
SATD
指标最佳的类型。然后优化这种类型的运动值,使其达到快速四分之一像素模式的精度。
- 3
- 与 2
相似,但采用较慢的四分之一像素优化模式。
- 4
- 对于所有候选宏块类型运行快速四分之一像素精度的运动估计操作。然后选择
SATD
指标最佳的类型。然后完成对于此种类型的四分之一像素模式的优化操作。
- 5
- 在选择最佳类型之前,对于所有候选宏块类型运行最佳质量的四分之一像素精度的运动估计操作。同时也使用
SATD
指标优化双向宏块中使用的两个运动矢量,而不是重用向前和向后搜索中找到的矢量。
- 6
- 启用 I 帧和 P
帧中宏块类型的码率失真优化模式。
- 7
- 在所有帧中启用宏块类型的码率失真优化模式。(默认值)
- 8
- 启用运动矢量的码率失真优化模式,以及
I 帧和 P
帧中的内部预测模式。
- 9
- 启用运动矢量的码率失真优化模式,以及所有帧中的内部预测模式。
- 10
- 量化参数上码率失真模式;需要指定
trellis=2 并且 aq_mode=1
或更高的参数(最佳)。
- 11
- 完全码率失真模式;禁用所有提前终止逻辑。
以上内容中,“所有的候选宏块类型”并不恰恰意味着所有已启用的类型:4x4、4x8、8x4
只有当 8x8 比 16x16
好时才尝试采用。
- (no)chroma_me
- 在亚像素运动搜索中考虑色度信息(默认值:启用)。要求
subq>=5。
- (no)mixed_refs
- 允许每个 8x8 或 16x8
的运动部分独立地选取一个参照帧。不用这个选项的话,整个宏块必须采用同一个参照帧。要求
frameref>1。
- trellis=<0-2>(仅用于
cabac)
- 码率失真最优的量化模式
- 0
- 禁用
- 1
- 仅对最终编码启用(默认值)
- 2
- 启用所有模式下的决策(运行慢,要求
subq>=6)
- psy-rd=rd[,trell]
- 设置心理视觉优化模式的强度。
- (no)psy
- 启用心理视觉优化模式,该模式降低
PSNR 和 SSIM
但应该视觉效果更好(默认值:启用)。
- deadzone_inter=<0-32>
- 设置非格子因子量化模式中帧间亮度量化无效区的大小(默认值:21)。较小的值有助于保留最好的细节和影片的粒度感(特别是对于高比特率/质量编码有用),而较大的值有助于滤除这些细节从而省下比特以用在其它宏块和帧上(特别是对于低比特率的编码有用)。推荐在更改这个参数前调试一下
deadzone_intra。
- deadzone_intra=<0-32>
- 设置非格子因子量化模式中帧内亮度量化无效区的大小(默认值:11)。该选项与
deadzon_inter
有相同的效果,不同在于其影响的是内部帧。推荐在更改
deadzone_inter
之前先调试一下这个参数。
- (no)fast_pskip
- 执行 P
帧中的早期跳跃侦测功能(默认值:启用)。该选项通常不花任何代价而提升编码速度,但其有时可能在缺乏细节的画面区域,如天空,产生画面损伤。
- (no)dct_decimate
- 去除只含有单个微小系数的
P
帧中的离散余弦变换块(默认值:启用)。该选项会去除一切画面细节,所以会省下一些比特以用在其它帧上,从而有可能提升整体的主观质量。如果正以较高的目标比特率压缩非动画视频内容,那么可能希望禁用该选项以尽可能保留画面细节。
- nr=<0-100000>
- 噪声削减强度,0
表示禁用。100-1000
对于典型内容来说是一个用处很大的范围,但可能希望对噪声很强的视频内容调高一些这个选项(默认值:0)。考虑到这个选项对于运行速度影响小,可能希望倾向于使用这个选项,而不是使用诸如
denoise3d 或 hqdn3d
之类的视频过滤器来滤除噪声。
- chroma_qp_offset=<-12-12>
- 相对于亮度为色度使用一个不同的量化参数。用处多的值范围是
<-2-2>(默认值:0)。
- aq_mode=<0-2>
- 定义自适应量化模式(AQ)如何分配比特:
- 0
- 禁用
- 1
- 避免在帧间转移比特。
- 2
- (默认方式下)在帧间转移比特。
- aq_strength=<正浮点数值>
- 控制自适应量化模式(AQ)在平坦和有纹理的区域能减少多少块效应和模糊(默认值:1.0)。值为
0.5 将导致较弱的 AQ
和较少的细节,而值为
1.5 则能产生较强的 AQ
和更多的细节。
- cqm=<flat|jvt|<文件名>>
- 使用预先定义好的自定义量化矩阵,或者加载
JM 格式的矩阵文件。
- flat
- 使用预先定义好的平坦
16
元矩阵(默认值)。
- jvt
- 使用预先定义好的 JVT
矩阵。
- <文件名>
- 使用所给出的 JM
格式矩阵文件。
注意: Windows CMD.EXE
的用户如果尝试使用全部
CQM
列表时,可能在解析命令行时遇到问题。这是因为命令行长度有限制。在这种情况下推荐将列表存在一个
JM 格式的 CQM
文件中,然后像上文所说那样加载进来。
- cqm4iy=<列表>(另见
cqm)
- 自定义的 4x4
帧内亮度矩阵,以由
16
个逗号分隔的值域为
1-255
的值组成的列表的形式给出。
- cqm4ic=<列表>(另见
cqm)
- 自定义的 4x4
帧内色度矩阵,以由
16
个逗号分隔的值域为
1-255
的值组成的列表的形式给出。
- cqm4py=<列表>(另见
cqm)
- 自定义的 4x4
帧间亮度矩阵,以由
16
个逗号分隔的值域为
1-255
的值组成的列表的形式给出。
- cqm4pc=<列表>(另见
cqm)
- 自定义的 4x4
帧间色度矩阵,以由
16
个逗号分隔的值域为
1-255
的值组成的列表的形式给出。
- cqm8iy=<列表>(另见
cqm)
- 自定义的 8x8
帧内亮度矩阵,以由
64
个逗号分隔的值域为
1-255
的值组成的列表的形式给出。
- cqm8py=<列表>(另见
cqm)
- 自定义的 8x8
帧间亮度矩阵,以由
64
个逗号分隔的值域为
1-255
的值组成的列表的形式给出。
- level_idc=<10-51>
- 将比特率的等级设置为
H.264 标准附件 A
中定义的值(默认值:51
-
5.1级)。该选项用于告诉解码器其需要支持怎么样的性能。只有当知道这个参数是什么意思,并且需要设置时,才可使用这个参数。
- (no)cpu_independent
- 保证不同的 CPU
下有可重现的输出,而不是当有更好的算法时选择一个不同的算法(默认值:启用)。
- threads=<0-16>
- 生成线程以在多个
CPU上
并行编码(默认值:0)。该选项对于压缩质量稍有一些影响。0
或‘auto’告诉 x264
让其侦测有多个
CPU,并选取一个适当的线程数。
- (no)sliced_threads
- 使用基于片段的多线程模式(默认值:禁用)。与通常的多线程模式不同,该选项不增加编码延迟,但运行稍慢且压缩上较低效。
- slice_max_size=<0
或正整数>
- 最大的片段尺寸,单位为字节(默认值:0)。值为零则没有最大值。
- slice_max_mbs=<0
或正整数>
- 最大的片段尺寸,单位为宏块数(默认值:0)。值为零则没有最大值。
- slices=<0
或正整数>
- 每帧最大的片段数(默认值:0)。值为零则没有最大值。
- sync_lookahead=<0-250>
- 调整基于多线程的预读缓冲的大小(默认值:0)。0
或‘auto’告诉 x264
自动确定缓冲大小。
- (no)deterministic
- 仅使用多线程编码的确定性优化模式(默认值:启用)。
- (no)global_header
- 使 SPS 和 PPS
只出现一次,即在比特流的开始部分(默认值:禁用)。某些播放器,诸如
Sony
PSP,需要使用这个选项。默认行为是使
SPS 和 PPS 在每个 IDR
帧前重复出现。
- (no)tff
- 启用隔行扫描模式,上半扫描场在前(默认值:禁用)
- (no)bff
- 启用隔行扫描模式,下半扫描场在前(默认值:禁用)
- nal_hrd=<none|vbr|cbr>
- 通知 HRD
信息(需要指定
vbv_bufsize)(默认值:无)。
- (no)pic_struct
- 在图像计时 SEI
中强制使用
pic_struct(默认值:禁用)。
- (no)constrained_intra
- 启用受限制的帧内预测模式(默认值:禁用)。该选项稍稍降低压缩率,但对于
SVC
编码中的基础编码层次是必须的。
- output_csp=<i420|i422|i444|rgb>
- 指定输出信号的色彩空间(默认值:i420)。
- (no)aud
- 将存取单元的分隔标志写入数据流(默认值:禁用)。除非目标存储格式需要有存取单元分隔标志,否则不要启用该选项。
- overscan=<undef|show|crop>
- 在媒体流中包含 VUI
全画面模式信息(默认值:禁用)。参见
x264 源代码中的 doc/vui.txt
以获取更多信息。
- videoformat=<component|pal|ntsc|secam|mac|undef>
- 在媒体流中包含 VUI
视频格式信息(默认值:禁用)。该选项只是用以描述最初媒体来源的一个提供信息的选项。参见
x264 源代码中的 doc/vui.txt
以获取更多信息。
- (no)fullrange
- 在媒体流中包含 VUI
全信号范围信息(默认值:禁用)。如果源视频不限制信号范围则使用该选项。参见
x264 源代码中的 doc/vui.txt
以获取更多信息。
- colorprim=<bt709|bt470m|bt470bg|smpte170m|smpte240m|film|undef>
- 包含元色彩信息(默认值:禁用)。该选项可用于色彩修正。参见
x264 源代码中的 doc/vui.txt
以获取更多信息。
- transfer=<bt709|bt470m|bt470bg|linear|log100|log316|smpte170m|smpte240m>
- 在媒体流中包含 VUI
传输特征信息(默认值:禁用)。该选项可用于色彩修正。参见
x264 源代码中的 doc/vui.txt
以获取更多信息。
- colormatrix=<bt709|fcc|bt470bg|smpte170m|smpte240m|GBR|YCgCo>
- 在媒体流中包含 VUI
矩阵系数(默认值:禁用)。该选项可用于色彩修正。参见
x264 源代码中的 doc/vui.txt
以获取更多信息。
- chromaloc=<0-5>
- 在媒体流中包含 VUI
色度样本位置信息(默认值:禁用)。使用该选项能保证色彩空间转换后色度和亮度平面正确排列。参见
x264 源代码中的 doc/vui.txt
以获取更多信息。
- log=<-1-3>
- 调整打印在屏幕上的日志信息的量。
- -1
- 无
- 0
- 只打印错误信息。
- 1
- 警告信息
- 2
- 当编码结束时打印 PSNR
以及其它分析统计信息(默认值)
- 3
- 每个帧的
PSNR、QP、帧类型、大小以及其它统计信息
- (no)psnr
- 打印信噪比统计信息。
注意:
统计报告中的
PSNR‘Y’、‘U’、‘V’和‘Avg’字段在数学上并不完美(这些值只是逐帧
PSNR
的平均值)。这些只是为了与
JM
标准的编解码器相比较,而保留下来的。出于其它目的的话,请采用
log=3
打印的‘全局’PSNR,或是逐帧的
PSNR。
- (no)ssim
- 打印结构相似度计量结果。该值为
PSNR
的一种替代计量值,并且可能与压缩后视频上观察到的质量有更好的相关性。
- (no)visualize
- 启用 x264
在编码时的可视化效果。如果系统上的
x264
支持该选项,那么在编码过程中将打开一个新窗口,在这个窗口中,x264
会尝试总体性地显示出每一帧是如何编码。在可视化模式下影片的每种块类型将以如下方式着色:
- dump_yuv=<文件名>
- 将 YUV
帧导出到指定的文件中。用于调试。
- 红/粉红
- 帧内块
- 蓝
- 帧间块
- 绿
- 跳跃
- 黄
- B 块
该功能可以认为是实验性,并且容易变化。特别是,其需要
x264
编译时包含可视化功能。注意在写这部分内容时,x264
在编码并可视化显示每一帧后会暂停,等待用户按一个键,在此之后才编码下一帧。
使用 Windows
视频编解码器编码基本上是过时的做法,除非希望编码为某种难懂而极端的编解码器格式。
- codec=<名称>
- 用于编码的二进制编解码器文件的文件名。
- compdata=<文件>
- vfw2menc
创建的编解码器设置文件的文件名(如
firstpass.mcf)。
FFmpeg 的 libavformat
库流合并器(-lavfopts)(另见
-of lavf)
- delay=<参数值>
- 当前只对 MPEG[12]
有意义:单位为秒的,对于任意出现的流,输出流参照计时器(SCR)和解码时间标签(DTS)之间的最大所允许的差距。默认值为
0.7(与 MPEG
标准所定义的强制执行值相同)。较高的值要求较大的缓冲,因而不应使用。
- format=<容器格式>
- 重新定义所合并输出的是哪种容器格式(默认值:根据输出文件的扩展名自动侦测)。
- mpg
- MPEG-1 系统以及 MPEG-2 PS
- asf
- 高级流媒体格式
- avi
- 音视频交织文件
- wav
- 波形音频
- swf
- Macromedia Flash
- flv
- Macromedia Flash 视频文件
- rm
- RealAudio 和 RealVideo
- au
- SUN AU格式
- nut
- NUT
开放容器格式(实验性)
- mov
- QuickTime
- mp4
- MPEG-4 格式
- ipod
- 含有苹果 iPod
固件所需额外标志数据的
MPEG-4 格式
- dv
- Sony 数字视频容器格式
- matroska
- Matroska
- muxrate=<码率>
- 流合流时的标称比特率,单位为比特每秒;当前该选项只对
MPEG[12]
有意义。有时需要提高这个值以防止“缓冲下溢”。
- o=<键>=<值>[,<键>=<值>[,...]]
- 将音视频选项传递至
libavformat
流合并器。注意,欢迎提供一个使
o=
不再需要,而将所有未知选项绕开音视频选项系统的补丁。音视频选项的完整列表可在
FFmpeg
用户手册中找到。注意某些选项可能与
MEncoder 选项冲突。
示例:
- packetsize=<大小>
- 所选格式单个数据包的大小,以字节为单位表示。当将流合并至
MPEG[12]
的实现格式时,默认值为:为
[S]VCD 时是
2324,为所有其它格式时是
2048。
- preload=<距离>
- 当前只对 MPEG[12]
有意义:单位为秒,对于任意出现的流,输出流参照计时器(SCR)和解码时间标签(DTS)间的初始差距(流分离至解码间的延迟)。
环境变量
有一些环境变量可用于控制
MPlayer 和 MEncoder 的行为。
- MPLAYER_CHARSET(另见
-msgcharset)
- 将控制屏幕的消息转换为指定字符集(默认值:自动检测)。值‘noconv’表示不转换。
- MPLAYER_HOME
- MPlayer
寻找用户设置的目录。
- MPLAYER_VERBOSE(另见
-v 和 -msglevel)
- 设置所有消息模块的初始详细级别(默认值:0)。生成的详细级别是
-msglevel 5 的级别再加上
MPLAYER_VERBOSE 的值。
- LADSPA_PATH
- 如果设置了
LADSPA_PATH,其将寻找指定的文件。如果未设置,就必须提供完整的路径名。FIXME:
这也在 ladspa
一节有提到.
- DVDCSS_CACHE
- 指定目录以储存标题的密钥值。这会加速
DVD
在缓存中的解密过程。如果不存在就创建
DVDCSS_CACHE 目录,并创建以 DVD
标题或生产日期为名称的子目录。如果
DVDCSS_CACHE
未设置或是空的,libdvdcss
会使用默认值为 Unix
的‘${HOME}/.dvdcss/’或 Win32
的‘C:\Documents and Settings\$USER\Application
Data\dvdcss\’。特殊值‘off’可停用缓存。
- DVDCSS_METHOD
- 设置 libdvdcss
用于解读加密盘片的认证和解密方法。值可以是
title、key 或 disc。
- key
- 是默认方法。libdvdcss
会使用一套已计算的播放器密钥,以尝试取得碟片的密钥。如果驱动器不认可播放器的任何钥匙就会失败。
- disc
- 是 key
方法失败的备用方法。libdvdcss
不使用播放器密钥,而使用暴力破解算法破解碟片密钥。该过程需要
CPU
高强度运行,并需要
64 MB
内存以储存临时的数据。
- title
- 是所有其它方法的备用方法。其不通过与
DVD
设备交换密钥,而是使用一种密码攻击法来猜测标题密钥。在极少的情况下该方式会失败,因为碟片上没有足够的加密数据用于统计式攻击;但是另一方面这是解密储存在硬盘上的
DVD 或 RPC2
驱动器上区码错误的
DVD 的唯一方式。
- DVDCSS_RAW_DEVICE
- 指定使用的原生数据设备。确切的用法依赖于操作系统,例如
Linux
环境设置的原生数据设备是
raw(8)。请注意在大多数操作系统上,使用原生数设备要求缓冲高度一致:Linux
要求与 2048 字节(等于 DVD
扇区大小)相一致。
- DVDCSS_VERBOSE
- 设置 libdvdcss
详细输出级别。
- 0
- 一点都不输出消息。
- 1
- 将错误消息输出到标准错误输出。
- 2
- 将错误和调试消息输出到标准错误输出
- DVDREAD_NOKEYS
- 启动时不获取所有的密钥。目前禁用。
- HOME
- FIXME: 待解释。
- AO_SUN_DISABLE_SAMPLE_TIMING
- FIXME: 待解释。
- AUDIODEV
- FIXME: 待解释。
- AUDIOSERVER
- 指定 nas
音频输出驱动应当连接并用于传输数据的网络音频系统(Network
Audio
System)服务器。如果未设置,就使用
DISPLAY。传输方式可以是
tcp 和 unix。 语法是
tcp/<某主机>:<某端口>、<某主机>:<实例号>
或 [unix]:<实例号>。NAS
的基本端口是 8000,而
<实例号>
在其之上的增加值。
示例:
- DISPLAY
- FIXME: 待解释。
相关文件
- /usr/local/etc/mplayer/mplayer.conf
- MPlayer 系统范围的设置
- /usr/local/etc/mplayer/mencoder.conf
- MEncoder 系统范围的设置
- ~/.mplayer/config
- MPlayer 的用户设置
- ~/.mplayer/mencoder.conf
- MEncoder 的用户设置
- ~/.mplayer/input.conf
- 按键输入绑定(参见‘-input
keylist’的输出以获取按键的完整列表)
- ~/.mplayer/gui.conf
- 图形界面的配置文件
- ~/.mplayer/gui.history
- 图形界面的目录访问历史
- ~/.mplayer/gui.pl
- 图形界面的播放列表
- ~/.mplayer/gui.url
- 图形界面的 URL 列表
- ~/.mplayer/font/
- 字体目录(里面必须有一个
font.desc 文件和带 .RAW
后缀的文件。)
- ~/.mplayer/DVDkeys/
- 缓存的 CSS 密钥
快递上手播放蓝光
DVD:
mplayer br:////path/to/disc
mplayer br:// -bluray-device /path/to/disc
快速上手播放
DVD:
mplayer dvd://1
播放日文音频和英文字幕:
mplayer dvd://1 -alang ja -slang en
只播放第 5、6、7
章节:
mplayer dvd://1 -chapter 5-7
只播放第 5、6、7
标题:
mplayer dvd://5-7
播放多视角 DVD:
mplayer dvd://1 -dvdangle 2
播放不同的 DVD
设备上的内容:
mplayer dvd://1 -dvd-device /dev/dvd2
播放含有 VOB
文件的目录中的 DVD
视频:
mplayer dvd://1 -dvd-device /path/to/directory/
将 DVD
标题复制到硬盘,保存文件名为“title1.vob”:
mplayer dvd://1 -dumpstream -dumpfile title1.vob
使用 dvdnav 播放 /dev/sr1
路径下的 DVD 碟片:
mplayer dvdnav:////dev/sr1
播放 HTTP 流:
mplayer http://mplayer.hq/example.avi
播放 RTSP 流:
mplayer rtsp://server.example.com/streamName
将字幕转换为 MPsub
格式:
mplayer dummy.avi -sub source.sub -dumpmpsub
将字幕转换为 MPsub
格式但不播放:
mplayer /dev/zero -rawvideo pal:fps=xx -demuxer rawvideo -vc null -vo null -noframedrop -benchmark -sub source.sub -dumpmpsub
从标准的 V4L
输入信号:
mplayer tv:// -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv
播放 Zoran
卡上的内容(旧方法,不推荐):
mplayer -vo zr -vf scale=352:288 file.avi
播放 Zoran
卡上的内容(新方法):
mplayer -vo zr2 -vf scale=352:288,zrmjpeg file.avi
以直通模式播放
DTS-CD:
mplayer -ac hwdts -rawaudio format=0x2001 -cdrom-device /dev/cdrom cdda://
可使用 -afm hwac3 代替 -ac
hwdts。调整‘/dev/cdrom’使其与系统中的
CD-ROM
设备相适应。如果外部的接收设备支持解码未处理的
DTS 音频流,那么可通过
cdda://
直接播放,而不用设置
format、hwac3 或 hwdts。
只用两个扬声器播放
6 声道 AAC 文件:
mplayer -rawaudio format=0xff -demuxer rawaudio -af pan=2:.32:.32:.39:.06:.06:.39:.17:-.17:-.17:.17:.33:.33 adts_he-aac160_51.aac
可能希望调试 pan
的参数值(例如使用某个值的倍数)以增加音量或者避免削波。
使用 geq
过滤器产生的颠倒的棋盘样式:
mplayer -vf geq='128+(p(X\,Y)-128)*(0.5-gt(mod(X/SW\,128)\,64))*(0.5-gt(mod(Y/SH\,128)\,64))*4'
编码 DVD 标题
#2,仅所选的场景:
mencoder dvd://2 -chapter 10-15 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
编码 DVD 标题
#2,缩放到 640x480:
mencoder dvd://2 -vf scale=640:480 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
编码 DVD 标题
#2,缩放到
512xHHH(保持宽高比):
mencoder dvd://2 -vf scale -zoom -xy 512 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
同上,但比特率设为
1800kbit 并优化宏块:
mencoder dvd://2 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800
同上,但使用 MJPEG
压缩:
mencoder dvd://2 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800
编码当前目录下的所有
*.jpg 文件:
mencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4
编码来自电视调谐器的信号(指定格式用
-vf format):
mencoder -tv driver=v4l:width=640:height=480 tv:// -o tv.avi -ovc raw
编码来自管道的数据:
rar p test-SVCD.rar | mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800 -ofps 24 -
程序缺陷
不要惊慌。如果发现缺陷,可将其报告给我们,但请首先保证已阅读了所有的文档。同时注意那些表情符号
:)许多缺陷是由设置和参数使用不正确引起的。文档的缺陷报告一节(http://www.mplayerhq.hu/DOCS/HTML/en/bugreports.html)解释了如何创建有用的缺陷报告。
作者
MPlayer 最初由 Arpad Gereoffy
制作。参见 AUTHORS
文件以查看其它众多贡献者的部分列表。
MPlayer 为 (C) 2000-2016 MPlayer
团队所有
本(英文)手册主要由
Gabucino、Jonas Jermann 和 Diego Biurrun
编写,由 Diego Biurrun
维护。中文版由 JRaSH <jrash06
AT 163.com>
翻译。有关本手册的事宜,请发送邮件至
MPlayer-DOCS
邮件列表。与翻译相关的邮件归属于
MPlayer-translations 邮件列表。