Provided by: mplayer_1.3.0-8+deb10u1build0.20.04.1_amd64
名称
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 视频输出驱动时有效。) command + 0 半尺寸。 command + 1 原始尺寸。 command + 2 双倍尺寸。 command + f 切换全屏模式状态(另见 -fs)。 command + [ 和 command + ] 设置影视窗口的 alpha 值。 (以下的按键仅当使用 sdl 视频输出驱动时有效。) c 在可用的全屏模式间切换。 n 恢复为原来的模式。 (以下的按键仅当使用具有多媒体按键的键盘时有效。) PAUSE 暂停。 STOP 停止并退出。 PREVIOUS 和 NEXT 后退/快进 1 分钟。 (以下的按键仅用于编译时包含对于电视或数字视频广播输入的支持的情况,并且优先级高于 以上的按键定义。) 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
通用选项
-codecpath <目录> 指定已编译编解码器的存放目录。 -codecs-file <文件名>(另见 -afm、-ac、-vfm、-vc) 重定义编解码器的标准搜索路径并使用指定的文件代替内置的 codecs.conf。 -include <配置文件>(另见 -gui-include) 指定在默认配置文件后解析的配置文件。 -list-options 打印所有可用的选项。 -msgcharset <字符集> 将控制屏幕消息转换为指定的字符集(默认值:autodetect - 自动检测)。文本将以选项 --charset 配置指定的字符集编码。设置为“noconv”可禁用编码转换(以解决 iconv 之类的问 题)。 注意: 该选项在命令行解析完成后生效。环境变量 MPLAYER_CHARSET 有助于解决开头几行的 错误输出。 -msgcolor 在支持 ANSI 彩色标准的终端上启用彩色的控制屏幕输出。 -msglevel <all=<级别>:<模块>=<级别>:...> 直接控制各个模块的消息详细程度。“all”模块改变的是所有未在命令行中明确指定级别的模块 的详细级别。参见“-msglevel help”以查看包含所有模块的列表。 注意: 有些消息在解析命令行之前就打印出来,因而不受 -msglevel 影响。要控制这些消息 的话,需使用 MPLAYER_VERBOSE 环境变量,参见下面的解释以获取详细信息。 可用级别: -1 完全无输出 0 仅输出致命问题的消息 1 输出错误消息 2 输出警告消息 3 输出简短提示消息 4 输出通知消息 5 输出状态消息(默认值) 6 输出详细的消息 7 调试级别 2 8 调试级别 3 9 调试级别 4 -msgmodule 在每条控制屏幕消息前加上模块名。 -noconfig <若干选项> 不解析所选的配置文件。 注意: 如果命令行中指定了 -include 或 -use-filedir-conf 选项,那么这些选项会得到执 行。 可用选项有: all 所有的配置文件 gui(仅用于图形界面) 图形界面的配置文件 system 系统配置文件 user 用户配置文件 -quiet 使控制屏幕输出简略;尤其是阻止显示状态行(即 A: 0.7 V: 0.6 A-V: 0.068 ...)。特别有助于在慢速终端或者无法正确处理回车符(即 \r)的终端上的情况。 -priority <优先级>(仅用于 Windows 和 OS/2) 根据 Windows 和 OS/2 下可用的预定义优先级设置 MPlayer 的进程优先级。可设的 <优先级> 值有: idle|belownormal|normal|abovenormal|high|realtime 警告: 使用 realtime(实时)优先级会引起系统锁死。 -profile <配置集1,配置集2,...> 使用指定的配置集,-profile help 显示已定义的配置集列表。 -really-quiet(另见 -quiet) 显示比 -quiet 更少的输出和状态信息。同时禁用图形界面上的错误消息对话框。 -show-profile <配置轮廓> 显示配置集的描述和内容。 -use-filedir-conf 在正播放文件的目录下寻找该文件专用的配置文件。 警告: 播放不信任的数据媒体上的内容可能有危险。 -v 提高消息详细级别,命令行中每发现一个 -v 提高一级。
播放器选项(仅用于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 表示不断重复播放。 -menu(仅用于 OSD 菜单) 打开 OSD 菜单支持。 -menu-cfg <文件名>(仅用于OSD菜单) 使用另外的 menu.conf。 -menu-chroot <路径>(仅用于OSD菜单) 将文件选择菜单的根目录更改为一个指定的位置。 示例: -menu-chroot 限制文件选择菜单只能查找 /home 及其以下的目录(即不可能访问 /,但可以访 问/home/user_name)。 -menu-keepdir(仅用于OSD菜单) 文件浏览器从最近访问过的位置开始浏览,而非当前目录。 -menu-root <参数值>(仅用于 OSD 菜单) 指定主菜单。 -menu-startup(仅用于 OSD 菜单) 在 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)运行时会打 印可用的语言。 示例: mplayer dvd://1 -alang hu,en 选择播放 DVD 上的匈牙利语音轨,而在没有匈牙利语时使用英语作为备用语言。 mplayer -alang jpn example.mkv 使用日语播放 Matroska 文件。 -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 音频读取功能。 可用选项有: speed=<参数值> 设定 CD 转速。 paranoia=<0-2> 设置 Paranoia 库使用等级。0 以外的值可能会使播放第一个音轨外的其它音轨不正 常。 0:关闭检测(默认) 1:只进行重叠检测 2:充分的数据修正和校检 generic-dev=<参数值> 使用指定的通用 SCSI 设备。 sector-size=<参数值> 单次读取数据的大小。 overlap=<参数值> 强制校检时最小重叠搜索为 <参数值> 个扇区。 toc-bias 假定 TOC 报告中第 1 音轨的起始偏移量寻址为 LBA 0。有些东芝光驱需要这样做以 正确处理音轨边界。 toc-offset=<参数值> 寻址音轨时,所报告的在扇区数需再加上 <参数值> 个扇区。可以是负数。 (no)skip (不)使用不完整的数据重建结果。 -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 选项一同使用时,该选项可能无法正确或有效地起作用。 示例: -endpos 56 停在 56 秒处。 -endpos 01:10:00 停在 1 小时 10 分处。 -ss 10 -endpos 56 1 分 6 秒后停止。 mplayer -endpos 100mb 读取输入文件的 100MB 数据后停止播放。 mencoder -endpos 100mb 只编码 100 MB 的数据。 -forceidx 强制重建索引。有助于索引受损(音视频不同步等)的文件。这使无法播放时定位的文件能够 定位。可使用 MEncoder 永久性地修复索引(参见文档)。 注意: 该选项仅当所处理的媒体支持播放时定位时有效(即不能是:标准输入、管道等)。 -fps <浮点数值> 改写视频帧速率。有助于原始数值错误或不存在的情况。 -frames <数字> 只播放/转换最初的 <数字> 帧,然后退出。 -hr-mp3-seek(仅用于 MP3) 高精度 MP3 播放定位。播放外部 MP3 文件时启用,因为此时需要定位到非常精确的位置以保 持音视频同步。向后定位时可能尤其慢,因为需要绕回到开头以寻找帧的准确位置。 -http-header-fields <字段1,字段2> 设置连接 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 文件中解码。 可用选项有: w=<参数值> 输入图像文件的宽度(默认值:自动检测) h=<参数值> 输入图像文件的高度(默认是值:自动检测) fps=<参数值> 输出的帧率(默认值:25) type=<参数值> 输入文件类型(可用类型:jpeg、png、tga、sgi) -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 地址。 可用选项有: aspect=<0-3> 指定输入宽高比: 0:1:1 1:4:3(默认值) 2:16:9 3:2.21:1 arate=<32000-48000> 指定编码音频的码率(默认值:48000 Hz,可用值:32000、44100 和 48000 Hz)。 alayer=<1-3> 指定 MPEG 音频编码层级(默认值:2)。 abitrate=<32-448> 指定音频编码比特率(以 kbps 为单位)(默认值:384)。 amode=<参数值> 指定音频编码模式。可用预设值有“stereo”、“joint_stereo”、“dual”和“mono”(默 认值:stereo)。 vbitrate=<参数值> 指定(以 Mbps 为单位的)编码视频的平均比特率(默认值:6)。 vmode=<参数值> 指定视频编码模式: vbr:可变比特率(默认值) cbr:恒定比特率 vpeak=<参数值> 指定以 Mbps 为单位的编码视频的比特率峰值 (只对 VBR 编码有用,默认 值:9.6)。 fmt=<参数值> 选择用于编码的 MPEG 格式: ps: MPEG-2 节目流(默认值) ts: MPEG-2 传输流 mpeg1:MPEG-1 系统流 vcd: VCD 可兼容流 svcd: SVCD 可兼容流 dvd: DVD 可兼容流 -radio <选项1:选项2:...>(仅用于无线电广播) 这些选项用以设置无线电捕捉模块的各种参数。要用 MPlayer 收听电台需使用‘radio://<频 率>’(如果不提供频道选项)或‘radio://<频道号>’(如果提供频道选项)作为 URL。可通过 使用‘-v’选项运行 MPlayer 查看可行的频率范围。要启动捕捉子系统,则使用‘radio://<频率 或频道>/capture’。如果不使用关键字 capture,则可以只使用有线方式收听电台。由于同步 问题,不推荐使用 capture 来收听电台,这会使效果不佳。 可用选项有: device=<参数值> 所使用的无线电设备(默认值:Linux 下为 /dev/radio0,而 *BSD 下为 /dev/tuner0)。 driver=<参数值> 所使用的无线电广播驱动(默认值:如果有则用 v412,否则为 v41)。当前支持 v41 和 v412 驱动。 volume=<0..100> 无线电设备的音量(默认为100) freq_min=<值>(仅用于*BSD BT848) 允许的最小频率(默认值:87.50) freq_max=<value>(仅适用于*BSD BT848) 允许的最大频率(默认值:108.00) channels=<频率>-<名称>,<频率>-<名称>,... 设置频道列表。在名称中需用“_”代替空格(或使用引号)。频道名字会以 OSD 方式 显示出来,从而可将被动命令 radio_step_channel 和 radio_set_channel 使用于遥 控器上(参见 LIRC)。如果在 URL 中使用数字,则该数字将作为频道列表中所指定 频道的位置。 示例: radio://1, radio://104.4, radio_set_channel 1 adevice=<参数值>(仅用于录制无线电广播) 所捕捉声音来源的设备的名字。没有这个名字将禁用捕捉功能,即使 URL 中出现 capture 关键字。对于 ALSA 设备应以 hw=<card>.<device> 的形式使用这个选 项。如果设备名中含有‘=’,则该模块将使用 ALSA 来捕捉,否则使用 OSS。 arate=<参数值>(仅用于录制无线电广播) 以每秒采样数为单位的采样率(默认值:44100)。 注意: 当使用音频捕捉时,也将 -rawaudio rate=<参数值> 选项设置为 arate 中一 样的值。如果存在声音播放速度的问题(播放太快),请尝试以不同的采样率(例如 4800,44100,32000……)播放 。 achannels=<参数值>(仅用于录制无线电广播) 捕捉声音的声道数。 -rawaudio <选项1:选项2:...> 该选项用于播放未经处理的音频文件。必须同时使用 -demuxer rawaudio。也可用于播放非 44kHz 16-位 立体声的音频 CD。要播放未经处理的 AC-3 流要使用 -rawaudio format=0x2000 -demuxer rawaudio。 可用选项有: channels=<参数值> 声道数 rate=<参数值> 以每秒采样数为单位的采样率 samplesize=<参数值> 以字节为单位的采样数据大小 bitrate=<参数值> 未经处理的音频文件的比特率 format=<参数值> 16-进制 fourcc 代码 -rawvideo <选项1:选项2:...> 该选项用于播放未经处理的视频文件。必须同时使用 -demuxer rawvideo。 可用的选项有: fps=<参数值> 以每秒帧数为单位的频率(默认值:25.0) sqcif|qcif|cif|4cif|pal|ntsc 设置为视频标准的图像大小 w=<参数值> 以像素为单位的图像宽度 h=<参数值> 以像素为单位的图像高度 i420|yv12|yuy2|y8 设置色彩空间 format=<参数值> 16 进制或字符串常量形式的色彩空间值(fourcc 代码)使用 -rawvideo format=help 可获取可用字符串的列表。 size=<参数值> 以字节为单位的帧大小 示例: mplayer foreman.qcif -demuxer rawvideo -rawvideo qcif 播放著名的“foreman”样本视频。 mplayer sample-720x576.yuv -demuxer rawvideo -rawvideo w=720:h=576 播放未经处理的 YUV 格式的样本。 -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 的行为并非所愿。 示例: -ss 56 定位到 56 秒处。 -ss 01:10:00 定位到 1 小时 10 分钟处。 -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=”选项中的值,包括已有的以及刚找 到的频道。 可用子选项有: autostart 在启动后立即开始频道的扫描(默认值:禁用)。 period=<0.1-2.0> 指定切换至下一个频道前延迟的时间,单位为秒(默认值:0.5)。较低的值将使扫描 更快,但可能将无效的电视频道检测为有效。 threshold=<1-100> (单位为百分比的)设备报告的信号强度的阈值(默认值:50)。高于该值的信号强 度表示当前扫描的频道是有效的。 -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.
OSD/字幕选项
注意: 另见 -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)运行时会打印可用的语言。 示例: mplayer dvd://1 -slang hu,en 选用 DVD 上的匈牙利语字幕轨道,而在没有匈牙利语时使用英语作为备用语言。 mplayer -slang jpn example.mkv 播放日语字幕的 Matroska 文件。 -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 输出的可用语言。备用编码页指定自动检测失败时使用的 编码页。 示例: -subcp enca:cs:latin2 猜测编码方式,假定字幕是捷克语,如果检测失败使用 latin 2 作为备用。 -subcp enca:pl:cp1250 猜测波兰语的编码方式,cp1250 作为备用方式。 -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)
-abs <参数值>(仅用于 -ao oss)(已废弃) 改变音频驱动/声卡缓冲区大小的检测行为。 -format <格式>(另见 format 音频过滤器) 选择从音频过滤器层输出到声卡时使用的采样格式。<格式> 中可用的值在下文 format 音频过 滤器的描述中列出。 -mixer <设备> 使用代替默认的 /dev/mixer 设备的混音设备。使用 ALSA 时是混音器名称。 -mixer-channel <混音器线路>[,混音器索引号](仅用于 -ao oss 和 -ao alsa) 该选项告诉 MPlayer 使用另一个通道控制音量而非默认的 PCM。用于 OSS 的选项包括 vol、pcm、line。 有关选项的完整列表请查阅 /usr/include/linux/soundcard.h 中 的SOUND_DEVICE_NAMES。使用 ALSA 时可以使用 alsamixer 显示的名称,例如 Master、Line、PCM。 注意: 后跟一个数字的 ALSA 混音通道名称必须以 <名称,数字> 格式指定,即 alsamixer 中 标为“PCM 1”的通道必须转换为 PCM,1。 -softvol 强制使用软件混音,而不用声卡的混音器。 -softvol-max <10.0-10000.0> 设置以百分比为单位的最大放大级别(默认值:110)。值为 200 使调整音量最高能够达到目 前级别的两倍。值低于 100 时,初始音量(其值为 100%)将高于最大值,于是诸如 OSD 之类 的组件无法正确显示。 -volstep <0-100> 设置以整个范围的百分比为计量的混音器音量调整的单位长度(默认值:3)。 -volume <-1-100>(另见 -af volume) 设置硬件或软件(如果使用了 -softvol)混音器的起始音量。值为 -1(默认值)将不改变音 量。
音频输出驱动(仅用于 MPLAYER)
音频输出驱动是各种音频输出设备的接口。使用语法是: -ao <驱动1[:子选项1[=参数值]:...],驱动2,...[,]> 指定所使用音频输出驱动的优先级列表。 如果列表末尾有‘,’,则 MPlayer 会使用未列出的驱动作为后备。子选项不是必需的,大多数可省略。 注意: 参见 -ao help 以了解编译时已包含的音频输出驱动的列表。 示例: -ao alsa,oss, 尝试使用 ALSA 驱动,然后是 OSS 驱动,再然后是其他驱动。 -ao alsa:noblock:device=hw=0.3 设置非阻塞模式,设备名为第一块卡,第四个设备。 可用音频输出驱动有: 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 自带的音频输出驱动 device_id=<代码> 所使用输出设备的代码(0 = 默认设备) help 列出所有可用输出设备的代码。 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 音频输出驱动 device=<设备枚举值> 设置所选用的设备号。用 -v 播放文件将显示可用设备列表。 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 文件 中。 card=<1-4> 如果有多于一个卡,指定所使用的数字视频广播卡。如果不指定,MPlayer 将搜索第 一个可用的卡。 file=<文件名> 输出文件名 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 视频输出驱动。 ar-mode=<参数值> 宽高比模式(0 = 普通, 1 = 全景, 2 = 信箱(默认值)) iec958-encoded 将 iec958 输出模式设置为 encoded。 iec958-decoded 将 iec958 输出模式设置为 decoded(默认值)。 macrovision=<参数值> macrovision 模式(0 = off(默认值), 1 = agc, 2 = agc 2 colorstripe, 3 = agc 4 colorstripe) mute 音频输出静默 unmute 解除音频输出静默 ucode=<参数值> 微代码的路径 电视输出模式 75ire 启用 7.5 IRE 输出模式 no75ire 禁用 7.5 IRE 输出模式(默认值) bw 黑白电视输出 color 彩色电视输出(默认值) interlaced 隔行扫描电视输出(默认值) nointerlaced 禁用隔行扫描电视输出 norm=<参数值> 电视制式(ntsc(默认值), pal, pal60, palm, paln, palnc) square-pixel 将像素模式设置为 square(正方形像素) ccir601-pixel 将像素模式设置为 ccir601 覆盖模式 cr-left=<0-500> 设置左侧裁剪值(默认值:50)。 cr-right=<0-500> 设置右侧裁剪值(默认值:300)。 cr-top=<0-500> 设置上侧裁剪值(默认值:0)。 cr-bottom=<0-500> 设置下侧裁剪值(默认值:0)。 ck-[r|g|b]=<0-255> 设置覆盖透明色的红(r)、绿(g)和蓝(b)增益值。 ck-[r|g|b]min=<0-255> 各个透明色键的最小值 ck-[r|g|b]max=<0-255> 各个透明色键的最大值 ignore-cache 忽略已缓存的覆盖设置。 update-cache 更新已缓存的覆盖设置。 ol-osd 启用覆盖式屏上显示模式。 nool-osd 禁用覆盖式屏上显示模式(默认值)。 ol[h|w|x|y]-cor=<-20-20> 当覆盖内容与窗口匹配得不够完美时,调整覆盖尺寸 (h,w) 和位置 (x,y)(默认 值:0)。 overlay 激活覆盖模式(默认值)。 nooverlay 激活电视输出模式。 overlay-ratio=<1-2500> 调整覆盖行为(默认值:1000)。 -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 提示码。 示例: layer,stays_on_top,above,fullscreen 默认顺序,如果指定了不正确或不支持的模式,其将作为备用值而使用。 -fullscreen 修复 OpenBox 1.x 平台上的全屏切换问题。 -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 以获取编译时已包含的视频输出驱动的列表。 示例: -vo xmga,xv, 尝试使用 Matrox X11 驱动,然后是 Xv 驱动,再然后是其他驱动。 -vo directx:noaccel 使用加速功能关闭的 DirectX 驱动。 可用视频输出驱动有: xv(仅用于 X11) 使用 XFree86 4.x 的 XVideo 扩展组件启用硬件加速下的播放功能。如果无法使用硬件专用的 驱动,该选项或许是最好的选择。要了解使用了什么的透明色以及其是如何绘制的,则以 -v 选项运行 MPlayer 并注意以标签 [xv common] 开头的那些行。 adaptor=<数值> 选择指定的 XVideo 适配器(请检查 xvinfo 的结果)。 port=<数值> 选择指定的 XVideo 端口。 ck=<cur|use|set> 选择获取透明色的来源(默认值:cur)。 cur 该默认值表示采用 Xv 中当前设置的透明色。 use 使用来自 MPlayer 的透明色但不将其作为设置(使用 -colorkey 选项修改 透明色)。 set 同 use 一样但将所提供的透明色作为设置值。 ck-method=<man|bg|auto> 设置透明色绘制方式(默认值:man)。 man 手工绘制透明色(某些情况下可减少闪烁问题)。 bg 将透明色设置为窗口背景。 auto 让 Xv 绘制透明色。 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 前端组件 <子设备> 与 vidix 相同 cvidix 通用的不依赖于平台的 VIDIX 前端组件,甚至能在使用 nVidia 显卡的文本控制屏幕上运行。 <子设备> 与 vidix 相同 winvidix(仅用于 Windows) VIDIX 的 Windows 前端组件 <子设备> 与 vidix 相同 direct3d(仅用于 Windows)(用于公测的代码!) 使用 Direct3D 接口的视频输出驱动(有助于 Vista 系统)。 directx(仅用于 Windows) 使用 DirectX 接口的视频输出驱动。 noaccel 关闭硬件加速。如果显示有问题可尝试该选项。 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,可能效率更高。 device_id=<数值> 选择全屏显示时使用的设备。 fs_res=<宽>:<高> 指定全屏显示的分辨率(有助于运行慢的系统有用)。 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 捕捉/回放卡的视频输出驱动,第二代驱动。 dev=<设备> 指定所使用的视频设备。 norm=<PAL|NTSC|SECAM|auto> 指定所使用的视频制式(默认值:auto)。 (no)prebuf 激活/撤销预缓冲模式,还未支持。 md5sum 计算每帧的 MD5 校检和并将其写入文件。支持 RGB24 和 YV12 色彩空间。有助于调试。 outfile=<参数值> 指定输出文件名(默认值:./md5sums)。 yuv4mpeg 将视频流转换为未压缩的 YUV 4:2:0 图像序列并将其储存到文件中(默认位 置:./stream.yuv)。使用的格式与 mjpegtools 所用的相同,所以有助于想用 mjpegtools 套装软件处理视频的情况。该选项支持 YV12 格式。如果源文件格式不同且为隔行扫描格 式,则注意要使用 -vf scale=::1 以确保转换时使用隔行扫描模式。可与 -fixed-vo 选项组 合使用以拼接具有相同宽高值和频率的文件。 interlaced 以隔行扫描帧方式写入输出数据,先写上半扫描场。 interlaced_bf 以隔行扫描帧方式写入输出数据,先写下半扫描场。 file=<文件名> 将输出写入到 <文件名> 而非默认的 stream.yuv。 注意: 如果不指定任何选项,输出数据是逐行扫描格式(即非隔行扫描格式)。 gif89a 将各帧输出到当前目录下的单个动画 GIF 文件中。仅支持 24 位 RGB 格式并且输出内容转换 为 256 色。 <fps> 指定帧率的浮点数值(默认值:5.0)。 <输出文件> 指定输出文件名(默认值:./out.gif)。 注意: 必须在指定文件名之前指定帧率,否则帧率将成为文件名的一部分。 示例: mplayer video.nut -vo gif89a:fps=15.0:output=test.gif jpeg 将各帧输出到当前目录下的 JPEG 文件中。每帧以帧号作为文件名,帧号前以 0 补全长度。 [no]progressive 指定使用标准或逐行显示格式的 JPEG(默认值:noprogressive)。 [no]baseline 指定使用基准格式或不使用(默认值:baseline)。 optimize=<0-100> 优化因数(默认值:100) smooth=<0-100> 平滑因数(默认值:0) quality=<0-100> 质量因数(默认值:75) outdir=<dirname> 指定保存 JPEG 文件的目录(默认值:./)。 subdirs=<前缀> 以所指定前缀名创建带编号的子目录用于保存文件,而非使用当前的目录。 maxfiles=<参数值>(仅用于 subdirs) 每个子目录下保存的文件的最大编号。必须大于等于 1(默认值:1000)。 pnm 将各帧输出到当前目录下的 PNM 文件中。每帧以帧号作为文件名,帧号前以 0 补全长度。该 选项在 raw 和 ASCII 模式下支持 PPM、PGM 和 PGMYUV 文件。另见 pnm(5)、ppm(5) 和 pgm(5)。 ppm 写入 PPM 文件(默认值)。 pgm 写入 PGM 文件。 pgmyuv 写入 PGMYUV 文件。PGMYUV 与 PGM 类似,但另外包含 U 和 V 平面的数据,附加在 画面底部。 raw 以 raw 模式写入 PNM 文件(默认值)。 ascii 以 ASCII 模式写入 PNM 文件。 outdir=<目录名> 指定保存 PNM 文件的目录(默认值:./)。 subdirs=<前缀> 以所指定前缀名创建带编号的子目录用于保存文件,而非使用当前的目录。 maxfiles=<参数值>(仅用于 每个子目录下保存的文件的最大编号。必须大于等于 1(默认值:1000)。 png 将各帧输出到当前目录下的 PNG 文件中。每帧以帧号作为文件名,帧号前以 0 补全长度。支 持 24 位的 RGB 和 BGR 格式。 z=<0-9> 指定压缩级别。 0 代无压缩,9 代表最强压缩。 outdir=<目录名> 指定保存 PNG 文件的目录(默认值:./)。 prefix=<前缀> 指定用于 PNG 文件名的前缀。(默认方式:无前缀)。 alpha(默认值:noalpha) 创建使用 alpha 值通道的 PNG 文件。注意 MPlayer 通常不支持 alpha 值通道,所 以该选项只有助于极少数情况。 mng 将视频输出至 MNG 动画文件,使用无损压缩的 24 位 RGB 图像。 output=<输出文件> 指定输出文件名(默认值:out.mng)。 示例: 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 以了解可用编解码器的完整列表。 示例: -ac mp3acm 强制使用 l3codeca.acm MP3 编解码器。 -ac mad, 先尝试 libmad,将其它编解码器作为后备。 -ac hwac3,a52, 先尝试直通模式的硬件 AC-3 解码,软件 AC-3 解码,最后是其它方式。 -ac hwdts, 先尝试直通模式的硬件 DTS 解码,然后是其它方式。 -ac -ffmp3, 跳过 FFmpeg 的 MP3 解码器。 -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 以了解可用编解码器组的完整列表。 示例: -afm ffmpeg 先尝试 FFmpeg 的 libavcodec 编解码器。 -afm acm,dshow 先尝试 Win32 的编解码器。 -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 的选项冲 突。 示例: o=debug=pict 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 lgb=<0-100> 高斯模糊过滤器(亮度) cgb=<0-100> 高斯模糊过滤器(色度) ls=<-100-100> 锐化过滤器(亮度) cs=<-100-100> 锐化过滤器(色度) chs=<h> 水平色度偏移 cvs=<v> 垂直色度偏移 -stereo <模式> 选择 MP2/MP3 立体声输出的类型。 0 立体声 1 左声道 2 右声道 -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 以了解可用编解码器的完整列表。 示例: -vc divx 强制使用 Win32/VfW DivX 编解码器,无后备编解码器。 -vc -divxds,-divx, 忽略 Win32 DivX 编解码器。 -vc ffmpeg12,mpeg12, 先尝试 libavcodec 的 MPEG-1/2 编解码器,其次是 libmpeg2,然后是其它编解码 器。 -vfm <驱动1,驱动1,...> 按照在 codecs.conf 中名称,指定使用视频编解码器组的优先级列表。如果所给编解码器组无 一有作用,则使用默认的编解码器作为后备。 注意: 参见 -vfm help 以了解可用编解码器组的完整列表。 示例: -vfm ffmpeg,dshow,vfw 尝试 libavcodec、Directshow、然后是 VfW 编解码器,如果其都不起作用则使用其 它后备编解码器。 -vfm xanim 先尝试 XAnim 编解码器。 -x <x>(另见 -zoom)(仅用于 MPlayer) 将图像缩放为宽度 <x>(如果有可以软件/硬件缩放)。禁止计算高宽比。 -xvidopts <选项1:选项2:...> 指定使用 Xvid 解码时的附加参数。 注意: 由于 libavcodec 运行比 Xvid 快,因而可能希望换用 libavcodec 的后期处理过滤器 (-vf pp)和解码器(-vfm ffmpeg)。 Xvid 的内部后期处理过滤器有: deblock-chroma(另见 -vf pp) 色度去块效应过滤器 deblock-luma(另见 -vf pp) 亮度去块效应过滤器 dering-luma(另见 -vf pp) 亮度去色斑过滤器 dering-chroma(另见 -vf pp) 色度去色斑过滤器 filmeffect(另见 -vf noise) 在视频中添加人工胶片纹理。可能提升感官质量,虽然是降低了真实质量。 渲染方法: dr2 激活直接渲染方法 2。 nodr2 撤销直接渲染方法 2。 -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:多相位过滤器组以及浮点数处理模式(运行慢,质量最佳) 示例: mplayer -af resample=44100:0:0 将 resample 过滤器的输出采样率设为 44100Hz,输出采样率缩放与所设值完全一 致,并且使用线性插值方式。 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=<300-1000> 设置以 Hz 为单位的截断频率。 feed=<10-150> 设置以 0.1*dB 为单位的用于低频率的反馈级别。 profile=<参数值> 有一些配置集用以让使用更便捷: default 如果未指定其它选项则使用该配置集(fcut=700, feed=45) cmoy Chu Moy 回路实现算法(fcut=700, feed=60) jmeier Jan Meier 回路实现算法(fcut=650, feed=95) 如果同时指定了 fcut 或 feed 选项与配置,则这两个选项将替换配置集中选项的值。 hrtf[=标记] 头部相关的迁移函数:将多声道音频转换为适用于头戴式耳机的双声道输出,同时保持声音的 空间感。 标记 含义 m 后置声道的矩阵式解码 s 双声道矩阵式解码 0 非矩阵式解码(默认值) 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) 示例: mplayer -af equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi 放大声音高端和底端的频率区段,但几乎完全消除 1kHz 附近的信号。 channels=声道数[:路径数:来源1:去向1:来源2:去向2:来源3:去向3:...] 可用于添加、去除、转接和复制音频的声道。如果仅给出 <声道数>,则使用默认的转接参 数,效果如下:如果输出声道数大于输入声道数,则插入空声道(除非是将单声道混音为立体 声:在这种情况下,两个输出声道重复输出该单声道的内容)。如果输出声道数小于输入声道 数,则去掉多余的声道。 <声道数> 输出声道数(1-8) <路径数> 转接路径数(1-8) <来源1:去向1:来源2:去向2:来源3:去向3:...> 0 到 7 之间的值组成的数字对,其定义的是各声道转接至哪个声道。 示例: mplayer -af channels=4:4:0:1:1:0:2:2:3:3 media.avi 将声道数变为 4 并设置 4 条转接路径:交换声道 0 和声道 1 的内容,保持声道 2 和 3 的内容不变。可观察到的现象是,如果播放的媒体含有两个声道,声道 2 和 3 将没有声音,但声道 0 和 1 的内容仍被交换了。 mplayer -af channels=6:4:0:0:0:1:0:2:0:3 media.avi 将声道数变为 6 并设置 4 条转接路径:将声道 0 的内容复制到声道 0 至 3 上。声 道 4 和 5 没有声音。 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)软件级削波。如果使用了非常高的音量水平,软件级削波可使 得声音更平滑。如果扬音器的动态范围非常低,可使用该选项。 警告: 该功能会产生失真,因而应当是最后才考虑使用的手段。 示例: mplayer -af volume=10.1:0 media.avi 放大声音 10.1dB,并且声音等级太高时使用硬件级削波。 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。 示例: mplayer -af pan=1:0.5:0.5 media.avi 立体声混音成单声道。 mplayer -af pan=3:1:0:0.5:0:1:0.5 media.avi 产生 3 声道输出,保持声道 0 和 1 不变,并将声道 0 和 1 混音至输出声道 2(这 样可以输出至诸如重低音扬声器)。 sub[=频率:声道] 将重低音声道添加到音频流中。用于创建超低音声道的音频数据是声道 0 和声道 1 中声音的 平均值。这样生成的声音接着使用四阶 Butterworth 过滤器,默认以 60Hz 为截断频率低通滤 波,并加入至音频流中的一个独立声道。 警告: 当播放使用杜比数字 5.1 声的 DVD 时,需禁用该过滤器,否则该过滤器将扰乱输出至 重低音的声音。 <频率> 低通过滤器的以 Hz 为单位的截断频率(20Hz 至 300Hz)(默认值:60)。要获取最 佳效果,可尝试将截断频率尽可能地设置得低。这将改善立体声或环绕声的体验效 果。 <声道> 决定用于插入重低声道音频的声道号。声道号可为 0 和 7 之间的值(默认 值:5)。可观察到声道数在必要时会自动增加至 <声道>。 示例: mplayer -af sub=100:4 -channels 5 media.avi 将截断频率为 100Hz 的重低音声道添加到输出声道 4。 center 根据前置声道创建中置声道。目前可能质量较低,因为还未实现能信号正确抽取信号的高通过 滤器,而是取前置声道信号的平均值从而各取一半信号。 <声道> 决定用于插入中置声道的声道编号。声道号可为 0 和 7 之间的值(默认值:5)。可 观察到声道数在必要时会自动增加至 <声道>。 surround[=延迟] 用于诸如杜比环绕声之类的矩阵式编码的环绕声的解码器。许多双声道音频文件事实上含有矩 阵式编码的环绕音效。需要声卡支持至少 4 声道。 <延迟> 后置扬声器以 ms 为单位的延迟(0 至 1000)(默认值:20)。该延迟应以如下方式 设置:如果 d1 是聆听点到前置扬声器的距离,d2 是聆听点到后置扬声器的距离,那 么如果 d1 <= d2,则延迟应当设为 15ms,而如果 d1 > d2 则设为 15 + 5*(d1-d2)。 示例: mplayer -af surround=15 -channels 4 media.avi 添加环绕声解码,后置扬声器声音的延迟为 15ms。 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。 示例: mplayer -af delay=10.5:10.5:0:0:7:0 media.avi 延迟前置左声道和右声道各 10.5ms,两个后置声道和重低音声道延迟 0ms, 而中置 声道延迟 7ms。 export[=内存映射文件[:采样数]] 使用内存映射(mmap())将输入信号导出至其它进程。内存映射区所含头部数据为: int nch /*声道数*/ int size /*缓冲大小*/ unsigned long long counter /*用于保持同步, 每当有新 数据导出时更新。*/ 其余部分是作为负载的(非交错排列的)16 位长的数据。 <内存映射文件> 用于映射数据的目标文件(默认值:~/.mplayer/mplayer-af_export) <采样数> 每个声道的采样数(默认值:512) 示例: mplayer -af export=/tmp/mplayer-af_export:1024 media.avi 每个声道将导出 1024 个采样值放入‘/tmp/mplayer-af_export’中。 extrastereo[=乘数] (线性)增加左右声道的差异以在播放时增加某种‘现场感’效果。 <乘数> 设置差异系数(默认值: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 忽略播放速度的改变。 示例: mplayer -af scaletempo -speed 1.2 media.ogg 以 1.2 倍的正常速度播放媒体,音频的音高保持正常。改变播放速度将改变音频的节 奏以与其相匹配。 mplayer -af scaletempo=scale=1.2:speed=none -speed 1.2 media.ogg 以 1.2 倍的正常速度播放媒体,音频的音高保持正常,但改变播放速度对音频的节奏 无影响。 mplayer -af scaletempo=stride=30:overlap=.50:search=10 media.ogg 调节质量和性能参数。 mplayer -af format=floatne,scaletempo media.ogg 使 scaletempo 使用浮点型的编码。可能在一些平台上运行较快。 mplayer -af scaletempo=scale=1.2:speed=pitch audio.ogg 以 1.2 倍的正常速度播放媒体,音频的音高保持正常。改变播放速度只改变音高,而 将音频节奏保持在 1.2 倍速的水平。 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 的负数值将视作相对于原始大小 的增加量。 示例: expand=0:-50:0:0 在画图的底部添加50像素的边。 <x>,<y> 原始图像在扩展后的图像中的位置(默认值:位于中心) <o> OSD/字幕的渲染 0:禁用(默认值) 1:启用 <a> 扩展时力求适应某个宽高比而非某个分辨率(默认值:0)。 示例: expand=800:::::4/3 除非源视频有更高的分辨率,否则扩展至 800x600,当出现前一种情况 时,其将扩展直至填满一个 4/3 宽高比的区域。 <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> 作为最小的分辨率的情况下保持视频 的宽高比。 示例: dsize=800:600:0 指定显示分辨率小于等于 800x600,以保持宽高比。 <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 是一样的。一些共用的选项在所有的子过滤器中使用以决定这些子过滤器的作用范围: a/autoq 如果 CPU 太慢则自动关闭子过滤器。 c/chrom 同时执行色度过滤(默认值)。 y/nochrom 只执行亮度过滤(不使用色度信息)。 n/noluma 只执行色度过滤(不使用亮度信息)。 注意: -pphelp 列出了可用子过滤器的列表。 可用的子过滤器有 hb/hdeblock[:差异度[:平坦度]] 水平方向上的去块效应过滤器 <差异度>:差异系数,值越高意味着去块效应效果越强(默认值:32)。 <平坦度>:平坦度阈值,值越低意味着去块效应效果越强(默认值:39)。 vb/vdeblock[:差异度[:平坦度]] 垂直方向上的去块效应过滤器 <差异度>:差异系数,值越高意味着去块效应效果越强(默认值:32)。 <平坦度>:平坦度阈值,值越低意味着反块效应效果越强(默认值:39)。 ha/hadeblock[:差异度[:平坦度]] 精确的水平方向上的去块效应过滤器 <差异度>:差异系数,值越高意味着去块效应效果越强(默认值:32)。 <平坦度>:平坦度阈值,值越低意味着反块效应效果越强(默认值:39)。 va/vadeblock[:差异度[:平坦度]] 精确的垂直方向上的去块效应过滤器 <差异度>:差异系数,值越高意味着去块效应效果越强(默认值:32)。 <平坦度>:平坦度阈值,值越低意味着去块效应效果越强(默认值:39)。 水平去块效应过滤器和垂直去块效应过滤器共用同一个差异系数和平坦度阈值,所以不能在 水平和垂直方向上设置不同阈值。 h1/x1hdeblock 试验性的水平方向上的去块效应过滤器 v1/x1vdeblock 试验性的垂直方向上的去块效应过滤器 dr/dering 去色斑过滤器 tn/tmpnoise[:阈值1[:阈值2[:阈值3]]] 时间性噪声去除器 <阈值1>:更大规模->更强的过滤 <阈值2>:更大规模->更强的过滤 <阈值3>:更大规模->更强的过滤 al/autolevels[:f/fullyrange] 自动更正亮度/对比度 f/fullyrange:增大亮度范围至(0-255)。 lb/linblenddeint 线性混合解除隔行扫描过滤器,通过使用 (1 2 1) 过滤器过滤所有的输入扫描行以解 除所给区块的隔行扫描。 li/linipoldeint 线性插值解除隔行扫描过滤器,通过线性插值算法每隔两个扫描行执行插值以解除所 给区块的隔行扫描。 ci/cubicipoldeint 立方插值解除隔行扫描过滤器,通过立方插值算法每隔两个扫描行执行插值以解除所 给区块的隔行扫描。 md/mediandeint 中位数解除隔行扫描过滤器,通过每隔两个扫描行应用中位数过滤器以解除所给区块 的隔行扫描。 fd/ffmpegdeint FFmpeg 解除隔行扫描过滤器,通过每隔两个扫描行使用 (-1 4 2 4 -1) 过滤以解除 所给区块的隔行扫描。 l5/lowpass5 垂直方向上应用的 FIR 低通解除隔行扫描过滤器,通过对所有输入扫描行使用 (-1 2 6 2 -1) 过滤器以解除所给区块的隔行扫描。 fq/forceQuant[:量化参数] 将输入进来的量化参数表替换为指定的恒定量化参数表。 <量化参数>:所使用的量化参数 de/default 默认的后期处理过滤器组合(hb:a,vb:a,dr:a) fa/fast 快速的后期处理过滤器组合(h1:a,v1:a,dr:a) ac 高质量的后期处理过滤器组合(ha:a:128:7,va:a,dr:a) 示例: -vf pp=hb/vb/dr/al 水平和垂直方向上去块效应、去色斑以及自动亮度/对比度调整 -vf pp=de/-al 使用默认的过滤器组合而不使用亮度/对比度调整 -vf pp=default/tmpnoise:1:2:3 启用默认的过滤器组合以及时间性噪声去除器。 -vf pp=hb:y/vb:a 水平方向去块效应只针对亮度信息,并且根据可用 CPU 时间资源打开或关闭垂直方向 的去块效应过滤。 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。 示例: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1,lavc FIXME:解释一下这个是干什么的。 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 管道中使用的命令有: RGBA32 宽 高 x位置 y位置 alpha 清空 其后出现的是 宽*高*4 字节大小的原始 RGBA32 数据。 ABGR32 宽 高 x位置 y位置 alpha 清空 其后出现的是 宽*高*4 字节大小的原始 ABGR32 数据。 RGB24 宽 高 x位置 y位置 alpha 清空 其后出现的是 宽*高*3 字节大小的原始 RGB24 数据。 BGR24 宽 高 x位置 y位置 alpha 清空 其后出现的是 宽*高*3 字节大小的原始 BGR24 数据。 ALPHA 宽 高 x位置 y位置 alpha 更改指定区域的阿尔法透明度。 CLEAR 宽 高 x位置 y位置 清空某个区域。 OPAQUE 禁用一切阿尔法透明。要再次启用则发送“ALPHA 0 0 0 0 0” HIDE 隐藏位图。 SHOW 显示位图。 参数有: <宽>, <高> 图像/区域的大小 <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 选项的时候。 示例: -vf ass,screenshot 将 SSA/ASS 的渲染移至 screenshot 过滤器之前。这样做后的截屏内容将包含字幕。 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,但以下选项 可以改变这一行为: print 打印得到的 PTS。 fps=<fps> 指定每秒帧数值 start=<pts> 为 PTS 指定初始值。 autostart=<n> 使用 第n个 得到的 PTS 作为初始 PTS。保留所有之前的 PTS,因此如果设置了一个 很大的值或设为 -1 则将完整保留 PTS。 autofps=<n> 在自动开始后使用 第n个 得到的 PTS 判断帧率。 示例: -vf fixpts=fps=24000/1001,ass,fixpts 产生一个新的 PTS 序列,将其用于 ASS 字幕,然后将其丢弃。在节目结束后时间标 签就重置的情况下,生成一个新的序列是有效的;该情形在 DVD 中很常见。丢弃该序 列对于避免编码器判断错误是有必要的。 注意: 将该过滤器与任何种类的定位选项(包括 -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 <格式> 可用于改写输出文件中的音频格式标签。 示例: -fafmttag 0x55 将使输出文件包含 0x55(mp3)的信息作为音频格式标签。 -ffourcc <fourcc> 可用于改写输出文件中的视频 fourcc 值。 示例: -ffourcc div3 将使输出文件包含‘div3’的信息作为视频 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 文件的头部信息内容。 可用选项有: help 显示本部分描述。 name=<参数值> 作品的标题 artist=<参数值> 作品的作者 genre=<参数值> 原作的类别 subject=<参数值> 作品的内容 copyright=<参数值> 版权信息 srcform=<参数值> 数字化资料的原始格式 comment=<参数值> 关于作品的总体性注释 -noautoexpand 不自动在 MEncoder 过滤器链中插入 expand 过滤器。有助于将字幕内嵌入影片时,控制在过 滤器链中的哪一个点上渲染字幕。 -noencodedups 不尝试将重复的帧重复地编码;总是以输出零字节帧的方式表明有重复帧。除非加载了能进行 重复帧编码的过滤器或编码器,否则无论如何将写入零字节帧。当前这样的过滤器只有 hardup。 -noodml(仅用于 -of avi) 处理大于 1GB 的 AVI 文件时不写入 OpenDML 索引。 -noskip 不跳过任何帧。 -o <文件名> 输出至所给的文件名。 如果需要有一个默认的输出文件名,可将该选项放在 MEncoder 的配置文件中。 -oac <编解码器名> 使用所给的音频编解码器编码(没有默认值)。 注意: 可使用 -oac help 来获取可用音频编解码器的列表。 示例: -oac copy 不编码,直接复制音频流 -oac pcm 编码为未压缩的 PCM 格式。 -oac mp3lame 编码为 MP3 格式(使用 LAME)。 -oac lavc 使用 libavcodec 编解码器编码。 -of <格式>(用于 BETA 测试!) 编码为指定的容器格式(默认值:AVI)。 注意: 可使用 -of help 以获取可用的容器格式的列表。 示例: -of avi 编码为 AVI 格式。 -of mpeg 编码为 MPEG 格式(另见 -mpegopts)。 -of lavf 使用 libavformat 流合并器编码(另见 -lavfopts)。 -of rawvideo 未经处理的视频流(不合并——只含一个视频流) -of rawaudio 未经处理的音频流(不合并——只含一个音频流) -ofps <fps> 为输出文件指定一个每秒帧数(fps)值,、 该值可以与原来视频中的不同。必须为可变 fps (ASF、一些MOV)以及逐行扫描(30000/1001 fps 的电视图像模式的 MPEG)文件设置该值。 -ovc <编解码器名> 使用所给的视频编解码器编码(没有默认值)。 注意: 可使用 -ovc help 获取可用视频编解码器的列表。 示例: -ovc copy 不编码,直接复制视频流 -ovc raw 编码为任意的未处理格式(使用‘-vf format’选择具体格式)。 -ovc lavc 使用 libavcodec 编解码器编码。 -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。 mp3lame(-lameopts) help 获取帮助信息 vbr=<0-4> 可变比特率方式 0 cbr 1 mt 2 rh(默认值) 3 abr 4 mtrh abr 平均比特率 cbr 恒定比特率同时强制在后面指定的 ABR 预设模式中使用 CBR 模式。 br=<0-1024> 以 kbps 为单位的比特率(仅用于 CBR 和 ABR) q=<0-9> 质量(0 - 最好,9 - 最差)(仅用于 VBR) aq=<0-9> 算法质量(0 - 最好/最慢,9 - 最差/最快) ratio=<1-100> 压缩比 vol=<0-10> 音频输入的增益 mode=<0-3> (默认方式:自动判断) 0 立体声 1 共享式立体声 2 双声道 3 单声道 padding=<0-2> 0 无填充 1 所情况下均填充 2 调整 fast 打开后面所指定的 VBR 预设模式中的较快编码方式。这将造成质量稍差而比特率稍高。 highpassfreq=<频率> 设置高通过滤的频率值,单位为 Hz。低于所指定值的频率将被滤除。值 -1 将禁用过滤,值 0 将让 LAME 自动选择一个值。 lowpassfreq=<频率> 设置低通过滤的频率值,单位为Hz。高于所指定值的频率将被滤除。值 -1 将禁用过滤,值 0 将让 LAME 自动选择一个值。 preset=<参数值> 预设值 help 打印关于预设设置的额外选项与信息。 medium VBR 编码,质量不错,比特率范围为 150-180 kbps standard VBR 编码,高质量,比特率范围为 170-210 kbps extreme VBR 编码,超高质量,比特率范围为 200-240 kbps insane CBR 编码,最高的预设质量,比较率为 320bps <8-320> ABR 编码,平均比特率为所给的 kbps 值 示例: fast:preset=standard 适用大多数人以大多数音乐类型,质量已经相当高了 cbr:preset=192 使用 192 kbps 的 ABR 预设模式,强制使用固定比特率编码。 preset=172 使用 ABR 预设模式、172 kbps 的平均比特率编码。 preset=extreme 用于那些有极好听力和极好设备的人 toolame 和 twolame(分别对应 -toolameopts 和 -twolameopts) br=<32-384> 在 CBR 模式下该参数指明比特率值,单位为kbps,而在 VBR 模式下则是每个音频帧所允许的 最小比特率。VBR 模式无法在该值低于 112 时起作用。 vbr=<-50-50>(仅用于 VBR) 比特率可变范围;如果为负值,则编码器使平均比特率向所限制最低值靠拢,如果为正值,则 向最高值靠拢。设为 0 时使用 CBR 模式(默认值)。 maxvbr=<32-384>(仅用于 VBR) 每个音频帧所允许的最大比特率,单位为 kbps mode=<stereo | jstereo | mono | dual> (默认值:单声道音频使用 mono,否则为 stereo) psy=<-1-4> 心理声学模型(默认值:2) errprot=<0 | 1> 使用错误保护功能。 debug=<0-10> 调试等级 faac(-faacopts) br=<比特率> 平均比特率,单位为 kbps(与 quality 选项不能同时使用) quality=<1-1000> 质量模式,值越高效果越好(与 br 选项不能同时使用) object=<1-4> 目标类型复杂度 1 MAIN(默认值) 2 LOW 3 SSR 4 LTP(运行极慢) mpeg=<2|4> MPEG 版本(默认值:4) tns 启用时间性噪声整形(TNS)功能。 cutoff=<0-采样频率/2> 截断频率(默认值:采样频率/2) raw 将比特流保存为未处理的负载,而额外的数据保存在容器文件的头部中(默认值:0,与 ADTS 相一致)。如果没有明确需要就不要设置这个标志位,否则以后将无法重新将音频流合并进容 器文件了。 lavc(-lavcopts) 有许多 libavcodec(简称 lavc)选项只是简要作了说明。要了解详情请阅读源代码。 示例: vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250 o=<键>=<值>[,<键>=<值>[,...]] 将音视频选项传递至 libavcodec 编码器。注意,欢迎提供一个使 o= 选项不再需要,而使所 有未知选项绕开音视频选项系统的补丁。音视频选项的完整列表可以在 FFmpeg 用户手册中找 到。注意有些音视频选项选项可能与 MEncoder 选项冲突。 示例: o=bt=100k 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)。 asv1 ASUS Video v1 asv2 ASUS Video v2 dvvideo Sony Digital Video ffv1 FFmpeg 的无损视频编解码器 ffvhuff 非标准 20% 精简化的 HuffYUV,使用 YV12 格式 flv 用于 Flash 视频的 Sorenson H.263 h261 H.261 h263 H.263 h263p H.263+ huffyuv HuffYUV libtheora Theora libx264 x264 H.264/AVC MPEG-4 Part 10 libxvid Xvid MPEG-4 Part 2(ASP) ljpeg Lossless JPEG mjpeg Motion JPEG mpeg1video MPEG-1 video mpeg2video MPEG-2 video mpeg4 MPEG-4(DivX 4/5) msmpeg4 DivX 3 msmpeg4v2 微软 MPEG4v2 roqvideo ID Software 的 RoQ Video rv10 一个老旧的 RealVideo 编解码器 snow(另见:vstrict) FFmpeg 实验性的基于小波变换的编解码器 svq1 Apple Sorenson Video 1 wmv1 Windows Media Video, version 1(也就是 WMV7) wmv2 Windows Media Video, version 2(也就是 WMV8) 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 能正确播放这些文件,其它播放器会以错误的宽高比显示。宽高比参数 可以以比率或浮点数字的形式给出。 示例: aspect=16/9 或 aspect=1.78 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 或某个类似设置(默认值) 中置运算符: +,-,*,/,^ 变量: tex 纹理复杂度 iTex,pTex 内部、非内部纹理复杂度 avgTex 平均纹理复杂度 avgIITex I 帧中的平均内部纹理复杂度 avgPITex P 帧中的平均内部纹理复杂度 avgPPTex P 帧中的平均非内部纹理复杂度 avgBPTex B 帧中的平均非内部纹理复杂度 mv 用于运动矢量的比特数 fCode 以 log2 对数值为单位的最大运动矢量长度 iCount 内部宏块数/宏块数 var 空间复杂度 mcVar 时间复杂度 qComp 命令行输入的 qcomp 值 isI, isP, isB 若图像类型为 I/P/B 则为 1,否则为 0。 Pi,E 参见你最喜欢的数学书。 函数: 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>[/...]]: quality(2-31) 量化参数 quality(-500-0) 以百分比为单位的质量修正度 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 或更低): 0 禁用(默认值) -4 JVT 推荐值 vcelim=<-1000-1000> 设置色度的单一系数消减阈值。设为负数值则将同时考量直流信号系数(在以 quant=1 编码时 应当至少设为 -4 或更低): 0 禁用(默认值) 7 JVT 推荐值 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) 视频数据包的大小,用于改善容错能力。 0 禁用(默认值) 100-1000 较好的选择 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) 0 左预测 1 平面/梯度预测 2 中位数预测 pred (用于无损 JPEG) 0 左预测 1 上预测 2 左上预测 3 平面/梯度预测 6 平均数预测 coder (用于 ffv1) 0 vlc 编码(Golomb-Rice) 1 算术编码(CABAC) context (用于 ffv1) 0 小型上下文环境模式 1 大型上下文环境模式 (用于 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 值的块。 lambda 与量化参数(QP)相关的常数 bits 编码这个块所需的比特数量。 error 量化错误数的平方和 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:为这个选项写说明文档。 nuv(-nuvopts) 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 编码(默认值)。 xvidenc (-xvidencopts) 有三个模式可以使用:恒定比特率模式(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>,代表单位为 % 的质量修正 值。 示例: zones=90000,q,20 将 90000 开始的所有帧以恒定量化参数 20 编码。 zones=0,w,0.1/10001,w,1.0/90000,q,20 将 0-10000 帧以 10% 的比特率编码,将 90000 直至结尾的帧以 20 的恒定量化参数 编码。注意需要有第二个区域以限定第一个区域,因为没有这个区域的话,直至 89999 的所有帧都会以 10% 的比特率编码。 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(短周期峰值比特率)。所产生的视频应 该能够在符合这些配置集标准的独立播放器上播放。 unrestricted 没有限制(默认值) sp0 第 0 级的简单配置集 sp1 第 1 级的简单配置集 sp2 第 2 级的简单配置集 sp3 第 3 级的简单配置集 sp4a 第 4a 级的简单配置集 sp5 第 5 级的简单配置集 sp6 第 6 级的简单配置集 asp0 第 0 级的高级简单配置集 asp1 第 1 级的高级简单配置集 asp2 第 2 级的高级简单配置集 asp3 第 3 级的高级简单配置集 asp4 第 4 级的高级简单配置集 asp5 第 5 级的高级简单配置集 dxnhandheld DXN 手持式设备配置集 dxnportntsc DXN 便携 NTSC 制式设备配置集 dxnportpal DXN 便携 PAL 制式设备配置集 dxnhtntsc DXN 家庭影院 NTSC 制式设备配置集 dxnhtpal DXN 家庭影院 PAL 制式设备配置集 dxnhdtv DXN 高清电视设备配置集 注意: 这些配置集应当与适当的 -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 所得的值。 x264enc(-x264encopts) 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>[/...]] 用户指定的用于影片特定部分(片尾、演职员表、……)的质量值。每个区域的格式是 <启始 帧>,<结束帧>,<选项>,其中选项可以是 q=<0-51> 量化参数 b=<0.01-100.0> 比特率的倍数 注意: 量化参数选项不是严重执行的。其影响的只是码率控制过程中的计划阶段,并且仍然受 制于溢出补偿和 qp_min/qp_max 选项。 direct_pred=<名称> 决定用于 B 帧中直接模式宏块的运动预测的类型。 none 不使用直接模式的宏块。 spatial 运动矢量由邻接块推断出来。(默认值) temporal 运动矢量由其后的 P 帧推断出来。 auto 编解码器为每个帧分别选择是用 spatial 还是用 temporal。 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] 设置心理视觉优化模式的强度。 rd=<0.0-10.0> 心理视觉优化模式的强度(要求 subq>=6)(默认值:1.0) trell=<0.0-10.0> 格子因子(要求使用 trellis,实验性)(默认值:0.0) (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 在编码并可视化显示每一帧后会暂停,等待用户按一个键,在此之 后才编码下一帧。 xvfw(-xvfwopts) 使用 Windows 视频编解码器编码基本上是过时的做法,除非希望编码为某种难懂而极端的编解码器格 式。 codec=<名称> 用于编码的二进制编解码器文件的文件名。 compdata=<文件> vfw2menc 创建的编解码器设置文件的文件名(如 firstpass.mcf)。 MPEG 流合并器(-mpegopts) MPEG 流合并器可以生成5种类型的视频流,每种都有较好的默认参数,而用户可以更改这些参数。通 常,当生成 MPEG 文件时,建议禁用 MEncoder 的跳帧指令(参见 -noskip、-mc 以及视频滤镜 harddup 和 softskip)。 示例: format=mpeg2:tsaf:vbitrate=8000 format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd | pes1 | pes2> 视频流格式(默认值:mpeg2)。pes1 与 pes2 是非常有问题的格式(没有打包头,没有填 充),但 VDR 使用这些格式;不要选用这些格式,除非确切知道在做什么。 size=<最大65535> 单位为字节的打包大小,不要更改这个值除非确切知道在做什么(默认值:2048)。 muxrate=<整数> 打包头部信息中的单位为 kbit/s 的标称复合流速率(默认值:1800 kb/s)。当‘format=mpeg1’或‘mpeg2’时将根据需要更新该值。 tsaf 如果可能,在所有帧上设置时间标签;推荐当 format=dvd 时使用。如果 dvdauthor 输出报警 信息,例如“..audio sector out of range...”时,那么可能不该启用这个选项。 interleaving2 使用一种更好的算法来交织音频和视频数据包,其所基于的原则是流合并器将总是尝试在空闲 空间所占百分比最大的条件下填充流。 vdelay=<1-32760> 初始视频延迟时间,单位为毫秒(默认值:0),如果想让视频相对音频有一定延后,就使用该 选项。该选项在使用了 drop 时无效。 adelay=<1-32760> 初始音频延迟时间,单位为毫秒(默认值:0),如果想让音频相对视频有一定延后,就使用该 选项。 drop 当与 vdelay 一起使用时,流合并器将丢弃先于视频出现的那部分音频。 vwidth, vheight=<1-4095> 当视频是 MPEG-1/2 时,设置视频的宽度和高度。 vpswidth, vpsheight=<1-4095> 当视频是 MPEG-2 时,设置全景显示模式下视频的宽度和高度。 vaspect=<1 | 4/3 | 16/9 | 221/100> 设置 MPEG-2 视频的显示宽高比。勿对 MPEG-1 视频使用这个选项,否则产生的宽高比将完全 错误。 vbitrate=<整数> 设置 MPEG-1/2 视频单位为 kbit/s 的视频比特率。 vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 | 60000/1001 | 60 > 设置 MPEG-1/2 视频的帧率。如果与 telecine 选项一同使用,那么将忽略该选项。 telecine 启用 3:2 下拉处理软件级电视图像模式:流合并器将使视频流看上去像是以 30000/1001fps 编码的。只有当输出帧率为 24000/1001 fps时这个选项才对 MPEG-2 有效,如需要则使用 -ofps 改变输出帧率。其它的帧率与该选项不兼容。 film2pal 启用电影转换至 NTSC 至 PAL 的软件级电视图像模式:流合并器将使视频流看上去像是以 25fps 编码的。只有当输出帧率为 24000/1001fps 时这个选项才对 MPEG-2 有效,如需要则使 用 -ofps 改变输出帧率。其它的帧率与该选项不兼容。 tele_src 与 tele_dest 使用 Donand Graft 的 DGPulldown 代码启用任意电视图像模式。需要指定原始帧率和所期望 的帧率;流合并器将使视频流看上去像是以所期望的帧率编码的。只有当输入的帧率比输出的 帧率小,并且帧率的增加量 <= 1.5时,这个选项才对 MPEG-2 视频有效。 示例: tele_src=25,tele_dest=30000/1001 PAL 转换至 NTSC 的电视图像化处理 vbuf_size=<40-1194> 设置视频解码器的缓冲大小,以千字节为单位表示。只有当视频流的比特率对于所选的格式来 说太高了,并且完全了解在做什么时,才指定这个选项。太高的值可能导致影片无法播放,这 取决于播放器的能力。当合并 HDTV 视频流时,400 的值应该足够了。 abuf_size=<4-64> 设置音频解码器的缓冲大小,以千字节为单位表示。针对 vbuf_size 的原则在此同样适用。 FFmpeg 的 libavformat 库流分离器(-lavfdopts) analyzeduration=<参数值> 单位为秒的分析媒体流属性时的最大长度。 format=<参数值> 强制使用一个特定的 libav 格式库的流分离器。 o=<键>=<值>[,<键>=<值>[,...]] 将音视频选项传递至 libavformat 流分解器。注意,欢迎提供一个使 o= 不再需要,而将所有 未知选项绕开音视频选项系统的补丁。音视频选项的完整列表可在 FFmpeg 用户手册中找 到。注意某些选项可能与 MPlayer/MEncoder 选项冲突。 示例: o=ignidx probesize=<参数值> 在侦测阶段所探测的最大数据量。当处理 MPEG-TS 时,这个值指定了所扫描 TS 包的最大个 数。 cryptokey=<16进制字符串> 流分离器所使用的加密密钥。该值是密钥的原始二进制数据转换后得到十六进制字符串。 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 选项冲突。 示例: o=packetsize=100 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 的值。 libaf: LADSPA_PATH 如果设置了 LADSPA_PATH,其将寻找指定的文件。如果未设置,就必须提供完整的路径 名。FIXME: 这也在 ladspa 一节有提到. libdvdcss: 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: 待解释。 libao2: AO_SUN_DISABLE_SAMPLE_TIMING FIXME: 待解释。 AUDIODEV FIXME: 待解释。 AUDIOSERVER 指定 nas 音频输出驱动应当连接并用于传输数据的网络音频系统(Network Audio System)服 务器。如果未设置,就使用 DISPLAY。传输方式可以是 tcp 和 unix。 语法是 tcp/<某主 机>:<某端口>、<某主机>:<实例号> 或 [unix]:<实例号>。NAS 的基本端口是 8000,而 <实例 号> 在其之上的增加值。 示例: AUDIOSERVER=somehost:0 连接到 NAS 服务器,位于 somehost 上,使用默认的端口和传输协议。.IPs AUDIOSERVER=tcp/somehost:8000 连接到 NAS 服务器,位于监听 TCP 端口 8000 的 somehost 上。 AUDIOSERVER=(unix)?:0 连接到 NAS 服务器,位于本地主机上的实例 0,使用 unix 域连接端。 DISPLAY FIXME: 待解释。 vidix: VIDIX_CRT FIXME: 待解释。 VIDIXIVTVALPHA 将该选项设为‘disable’可以阻止 VIDIX 驱动控制阿尔法混合的参数。然后就可以自己使 用‘ivtvfbctl’操作这一参数。 osdep: TERM FIXME: 待解释。 libvo: DISPLAY FIXME: 待解释。 FRAMEBUFFER FIXME: 待解释。 HOME FIXME: 待解释。 libmpdemux: HOME FIXME: 待解释。 HOMEPATH FIXME: 待解释。 http_proxy FIXME: 待解释。 LOGNAME FIXME: 待解释。 USERPROFILE FIXME: 待解释。 GUI: DISPLAY 图形界面应当连接的显示终端的名称。 HOME 当前用户的起始目录。 libavformat: AUDIO_FLIP_LEFT FIXME: 待解释。 BKTR_DEV FIXME: 待解释。 BKTR_FORMAT FIXME: 待解释。 BKTR_FREQUENCY FIXME: 待解释。 http_proxy FIXME: 待解释。 no_proxy 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 密钥
MPLAYER 的使用示例
快递上手播放蓝光 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'
MENCODER 的使用示例
编码 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 邮件列表。