Specify the VOBsub subtitle ID.
AUDIO OUTPUT OPTIONS (MPLAYER ONLY)
- -abs <value> (-ao oss only) (OBSOLETE)
- Override audio driver/:card buffer size detection.
- -format <format> (also see the format audio
filter)
- Select the sample format used for output from the audio filter
layer to the sound card. The values that <format> can adopt
are listed below in the description of the format audio filter.
- -mixer <device>
- Use a mixer device different from the default /dev/:mixer. For
ALSA this is the mixer name.
- -mixer-channel <mixer line>[,mixer index] (-ao oss and
-ao alsa only)
- This option will tell MPlayer to use a different channel for
controlling volume than the default PCM. Options for OSS include
vol, pcm, line. For a complete list of options look for
SOUND_DEVICE_NAMES in /usr/:include/:linux/:soundcard.h. For ALSA
you can use the names e.g. alsamixer displays, like Master,
Line, PCM.
NOTE: ALSA mixer channel names followed by a number must be
specified in the <name,number> format, i.e. a channel labeled
'PCM 1' in alsamixer must be converted to PCM,1.
- -softvol
- Force the use of the software mixer, instead of using the sound
card mixer.
- -softvol-max <10.0-10000.0>
- Set the maximum amplification level in percent (default: 110).
A value of 200 will allow you to adjust the volume up to a maximum
of double the current level. With values below 100 the initial
volume (which is 100%) will be above the maximum, which e.g. the
OSD cannot display correctly.
- -volstep <0-100>
- Set the step size of mixer volume changes in percent of the
whole range (default: 3).
AUDIO OUTPUT DRIVERS (MPLAYER ONLY)
Audio output drivers
are interfaces to different audio output facilities. The syntax is:
- -ao
<driver1[:suboption1[=value]:...],driver2,...[,]>
- Specify a priority list of audio output drivers to be
used.
If the list has a trailing ',' MPlayer will fall back on drivers
not contained in the list. Suboptions are optional and can mostly
be omitted.
NOTE: See -ao help for a list of compiled-in audio output
drivers.
EXAMPLE:
-
- s
- Try the ALSA driver, then the OSS driver, then others.
- s
- Sets noblock-mode and the device-name as first card, fourth
device.
Available audio output drivers are:
- alsa
- ALSA 0.9/1.x audio output driver
-
- s
- Sets noblock-mode.
- s
- Sets the device name. Replace any ',' with '.' and any ':' with
'=' in the ALSA device name. For hwac3 output via S/PDIF, use an
"iec958" or "spdif" device, unless you really know how to set it
correctly.
- alsa5
- ALSA 0.5 audio output driver
- oss
- OSS audio output driver
-
- s
- Sets the audio output device (default: /dev/:dsp).
- s
- Sets the audio mixer device (default: /dev/:mixer).
- s
- Sets the audio mixer channel (default: pcm).
- sdl (SDL only)
- highly platform independent SDL (Simple Directmedia Layer)
library audio output driver
-
- s
- Explicitly choose the SDL audio driver to use (default: let SDL
choose).
- arts
- audio output through the aRts daemon
- esd
- audio output through the ESD daemon
-
- s
- Explicitly choose the ESD server to use (default:
localhost).
- jack
- audio output through JACK (Jack Audio Connection Kit)
-
- s
- Connects to the ports with the given name (default: physical
ports).
- s
- Client name that is passed to JACK (default: MPlayer
[<PID>]). Useful if you want to have certain connections
established automatically.
- s
- Estimate the audio delay, supposed to make the video playback
smoother (default: enabled).
- nas
- audio output through NAS
- macosx (Mac OS X only)
- native Mac OS X audio output driver
- sgi (SGI only)
- native SGI audio output driver
-
- s
- Explicitly choose the output device/:interface to use (default:
system-wide default). For example, 'Analog Out' or 'Digital
Out'.
- sun (Sun only)
- native Sun audio output driver
-
- s
- Explicitly choose the audio device to use (default:
/dev/:audio).
- win32 (Windows only)
- native Windows waveout audio output driver
- dsound (Windows only)
- DirectX DirectSound audio output driver
-
- s
- Sets the device number to use. Playing a file with -v will show
a list of available devices.
- dxr2 (also see -dxr2) (DXR2 only)
- Creative DXR2 specific output driver
- ivtv (IVTV only)
- IVTV specific MPEG audio output driver. Works with -ac hwmpa
only.
- mpegpes (DVB only)
- Audio output driver for DVB cards that writes the output to an
MPEG-PES file if no DVB card is installed.
-
- s
- DVB card to use if more than one card is present.
- s
- output filename
- null
- Produces no audio output but maintains video playback speed.
Use -nosound for benchmarking.
- pcm
- raw PCM/wave file writer audio output
-
- s
- Include or do not include the wave header (default: included).
When not included, raw PCM will be generated.
- s
- Write the sound to <filename> instead of the default
audiodump.wav. If nowaveheader is specified, the default is
audiodump.pcm.
- s
- Try to dump faster than realtime. Make sure the output does not
get truncated (usually with "Too many video packets in buffer"
message). It is normal that you get a "Your system is too SLOW to
play this!" message.
- plugin
- plugin audio output driver
VIDEO OUTPUT OPTIONS (MPLAYER ONLY)
- -adapter <value>
- Set the graphics card that will receive the image. You can get
a list of available cards when you run this option with -v.
Currently only works with the directx video output driver.
- -bpp <depth>
- Override the autodetected color depth. Only supported by the
fbdev, dga, svga, vesa video output drivers.
- -border
- Play movie with window border and decorations. Since this is on
by default, use -noborder to disable the standard window
decorations. Supported by the directx video output driver.
- -brightness <-100-100>
- Adjust the brightness of the video signal (default: 0). Not
supported by all video output drivers.
- -contrast <-100-100>
- Adjust the contrast of the video signal (default: 0). Not
supported by all video output drivers.
- -display <name> (X11 only)
- Specify the hostname and display number of the X server you
want to display on.
EXAMPLE:
- -display xtest.localdomain:0
- -dr
- Turns on direct rendering (not supported by all codecs and
video outputs)
WARNING: May cause OSD/SUB corruption!
- -dxr2 <option1:option2:...>
- This option is used to control the dxr2 video output driver.
-
- s
- aspect ratio mode (0 = normal, 1 = pan-and-scan, 2 = letterbox
(default))
- s
- Set iec958 output mode to encoded.
- s
- Set iec958 output mode to decoded (default).
- s
- macrovision mode (0 = off (default), 1 = agc, 2 = agc 2
colorstripe, 3 = agc 4 colorstripe)
- s
- mute sound output
- s
- unmute sound output
- s
- path to the microcode
-
TV output
-
- s
- enable 7.5 IRE output mode
- s
- disable 7.5 IRE output mode (default)
- s
- b/w TV output
- s
- color TV output (default)
- s
- interlaced TV output (default)
- s
- disable interlaced TV output
- s
- TV norm (ntsc (default), pal, pal60, palm, paln, palnc)
- s
- set pixel mode to square
- s
- set pixel mode to ccir601
-
overlay
-
- s
- Set the left cropping value (default: 50).
- s
- Set the right cropping value (default: 300).
- s
- Set the top cropping value (default: 0).
- s
- Set the bottom cropping value (default: 0).
- s
- Set the r(ed), g(reen) or b(lue) gain of the overlay color-key.
- s
- minimum value for the respective color key
- s
- maximum value for the respective color key
- s
- Ignore cached overlay settings.
- s
- Update cached overlay settings.
- s
- Enable overlay onscreen display.
- s
- Disable overlay onscreen display (default).
- s
- Adjust the overlay size (h,w) and position (x,y) in case it
does not match the window perfectly (default: 0).
- s
- Activate overlay (default).
- s
- Activate TVout.
- s
- Tune the overlay (default: 1000).
- -fbmode <modename> (-vo fbdev only)
- Change video mode to the one that is labeled as
<modename> in /etc/:fb.modes.
NOTE: VESA framebuffer does not support mode changing.
- -fbmodeconfig <filename> (-vo fbdev only)
- Override framebuffer mode configuration file (default:
/etc/:fb.modes).
- -fs (also see -zoom)
- Fullscreen playback (centers movie, and paints black bands
around it). Not supported by all video output drivers.
- -fsmode-dontuse <0-31> (OBSOLETE, use the -fs
option)
- Try this option if you still experience fullscreen problems.
- -fstype <type1,type2,...> (X11 only)
- Specify a priority list of fullscreen modes to be used. You can
negate the modes by prefixing them with '-'. If you experience
problems like the fullscreen window being covered by other windows
try using a different order.
NOTE: See -fstype help for a full list of available modes.
The available types are:
-
- s
- Use the _NETWM_STATE_ABOVE hint if available.
- s
- Use the _NETWM_STATE_BELOW hint if available.
- s
- Use the _NETWM_STATE_FULLSCREEN hint if available.
- s
- Use the _WIN_LAYER hint with the default layer.
- s
- Use the _WIN_LAYER hint with the given layer number.
- s
- Force NETWM style.
- s
- Do not set fullscreen window layer.
- s
- Use _NETWM_STATE_STAYS_ON_TOP hint if available.
- EXAMPLE:
-
- s
- Default order, will be used as a fallback if incorrect or
unsupported modes are specified.
- s
- Fixes fullscreen switching on OpenBox 1.x.
- -geometry x[%][:y[%]] or [WxH][+x+y]
- Adjust where the output is on the screen initially. The x and y
specifications are in pixels measured from the top-left of the
screen to the top-left of the image being displayed, however if a
percentage sign is given after the argument it turns the value into
a percentage of the screen size in that direction. It also supports
the standard X11 -geometry option format. If an external window is
specified using the -wid option, then the x and y coordinates are
relative to the top-left corner of the window rather than the
screen.
NOTE: This option is only supported by the x11, xmga, xv,
xvmc, xvidix, gl, gl2, directx and tdfxfb video output drivers.
EXAMPLE:
-
- s
- Places the window at x=50, y=40.
- s
- Places the window in the middle of the screen.
- s
- Places the window at the middle of the right edge of the
screen.
- s
- Places the window at the bottom right corner of the
screen.
- -guiwid <window ID> (also see -wid) (GUI only)
- This tells the GUI to also use an X11 window and stick itself
to the bottom of the video, which is useful to embed a mini-GUI in
a browser (with the MPlayer plugin for instance).
- -hue <-100-100>
- Adjust the hue of the video signal (default: 0). You can get a
colored negative of the image with this option. Not supported by
all video output drivers.
- -monitor-dotclock <range[,range,...]> (-vo fbdev and
vesa only)
- Specify the dotclock or pixelclock range of the monitor.
- -monitor-hfreq <range[,range,...]> (-vo fbdev and vesa
only)
- Specify the horizontal frequency range of the monitor.
- -monitor-vfreq <range[,range,...]> (-vo fbdev and vesa
only)
- Specify the vertical frequency range of the monitor.
- -monitoraspect <ratio> (also see -aspect)
- Set the aspect ratio of your monitor or TV screen.
EXAMPLE:
- -monitoraspect 4:3 or 1.3333
-monitoraspect 16:9 or 1.7777
- -monitorpixelaspect <ratio> (also see -aspect)
- Set the aspect of a single pixel of your monitor or TV screen
(default: disabled). Overrides the -monitoraspect setting. A value
of 0 disables, a value of 1 means square pixels (correct for
(almost?) all LCDs).
- -nodouble
- Disables double buffering, mostly for debugging purposes.
Double buffering fixes flicker by storing two frames in memory, and
displaying one while decoding another. It can affect OSD
negatively, but often removes OSD flickering.
- -nograbpointer
- Do not grab the mouse pointer after a video mode change (-vm).
Useful for multihead setups.
- -nokeepaspect
- Do not keep window aspect ratio when resizing windows. Only
works with the x11, xv, xmga, xvidix, directx video output drivers.
Furthermore under X11 your window manager has to honor window
aspect hints.
- -ontop
- Makes the player window stay on top of other windows. Supported
by video output drivers which use X11, except SDL, as well as
directx, macosx, quartz, ggi and gl2.
- -panscan <0.0-1.0>
- Enables pan-and-scan functionality (cropping the sides of e.g.
a 16:9 movie to make it fit a 4:3 display without black bands). The
range controls how much of the image is cropped. Only works with
the xv, xmga, mga, gl, gl2, quartz, macosx and xvidix video output
drivers.
- -panscanrange <-19.0-99.0> (experimental)
- Change the range of the pan-and-scan functionality (default:
1). Positive values mean multiples of the default range. Negative
numbers mean you can zoom in up to a factor of -panscanrange+1.
E.g. -panscanrange -3 allows a zoom factor of up to 4. This feature
is experimental. Do not report bugs unless you are using -vo gl.
- -refreshrate <Hz>
- Set the monitor refreshrate in Hz. Currently only supported by
-vo directx combined with the -vm option.
- -rootwin
- Play movie in the root window (desktop background). Desktop
background images may cover the movie window, though. Only works
with the x11, xv, xmga, xvidix, quartz, macosx and directx video
output drivers.
- -saturation <-100-100>
- Adjust the saturation of the video signal (default: 0). You can
get grayscale output with this option. Not supported by all video
output drivers.
- -screenh <pixels>
- Specify the vertical screen resolution for video output drivers
which do not know the screen resolution like fbdev, x11 and TVout.
- -screenw <pixels>
- Specify the horizontal screen resolution for video output
drivers which do not know the screen resolution like fbdev, x11 and
TVout.
- -stop-xscreensaver (X11 only)
- Turns off xscreensaver at startup and turns it on again on
exit.
- -vm
- Try to change to a different video mode. Supported by the dga,
x11, xv, sdl and directx video output drivers. If used with the
directx video output driver the -screenw, -screenh, -bpp and
-refreshrate options can be used to set the new display mode.
- -vsync
- Enables VBI for the vesa, dfbmga and svga video output drivers.
- -wid <window ID> (also see -guiwid) (X11, OpenGL and
DirectX only)
- This tells MPlayer to attach to an existing window. Useful to
embed MPlayer in a browser (e.g. the plugger extension).
- -xineramascreen <-2-...> (X11 only)
- In Xinerama configurations (i.e. a single desktop that spans
across multiple displays) this option tells MPlayer which screen to
display the movie on. A value of -2 means fullscreen across the
whole virtual display, -1 means fullscreen on the display the
window currently is on. The initial position set via the -geometry
option is relative to the specified screen. Will usually only work
with "-fstype -fullscreen" or "-fstype none".
- -zrbw (-vo zr only)
- Display in black and white. For optimal performance, this can
be combined with '-lavdopts gray'.
- -zrcrop <[width]x[height]+[x offset]+[y offset]> (-vo
zr only)
- Select a part of the input image to display, multiple
occurrences of this option switch on cinerama mode. In cinerama
mode the movie is distributed over more than one TV (or beamer) to
create a larger image. Options appearing after the n-th -zrcrop
apply to the n-th MJPEG card, each card should at least have a
-zrdev in addition to the -zrcrop. For examples, see the output of
-zrhelp and the Zr section of the documentation.
- -zrdev <device> (-vo zr only)
- Specify the device special file that belongs to your MJPEG
card, by default the zr video output driver takes the first v4l
device it can find.
- -zrfd (-vo zr only)
- Force decimation: Decimation, as specified by -zrhdec and
-zrvdec, only happens if the hardware scaler can stretch the image
to its original size. Use this option to force decimation.
- -zrhdec <1|2|4> (-vo zr only)
- Horizontal decimation: Ask the driver to send only every 2nd or
4th line/:pixel of the input image to the MJPEG card and use the
scaler of the MJPEG card to stretch the image to its original size.
- -zrhelp (-vo zr only)
- Display a list of all -zr* options, their default values and a
cinerama mode example.
- -zrnorm <norm> (-vo zr only)
- Specify the TV norm as PAL or NTSC (default: no change).
- -zrquality <1-20> (-vo zr only)
- A number from 1 (best) to 20 (worst) representing the JPEG
encoding quality.
- -zrvdec <1|2|4> (-vo zr only)
- Vertical decimation: Ask the driver to send only every 2nd or
4th line/:pixel of the input image to the MJPEG card and use the
scaler of the MJPEG card to stretch the image to its original size.
- -zrxdoff <x display offset> (-vo zr only)
- If the movie is smaller than the TV screen, this option
specifies the x offset from the upper-left corner of the TV screen
(default: centered).
- -zrydoff <y display offset> (-vo zr only)
- If the movie is smaller than the TV screen, this option
specifies the y offset from the upper-left corner of the TV screen
(default: centered).
VIDEO OUTPUT DRIVERS (MPLAYER ONLY)
Video output drivers
are interfaces to different video output facilities. The syntax is:
- -vo
<driver1[:suboption1[=value]:...],driver2,...[,]>
- Specify a priority list of video output drivers to be
used.
If the list has a trailing ',' MPlayer will fall back on drivers
not contained in the list. Suboptions are optional and can mostly
be omitted.
NOTE: See -vo help for a list of compiled-in video output
drivers.
EXAMPLE:
-
- s
- Try the Matrox X11 driver, then the Xv driver, then others.
- s
- Uses the DirectX driver with acceleration features turned
off.
Available video output drivers are:
- xv (X11 only)
- Uses the XVideo extension of XFree86 4.x to enable hardware
accelerated playback. If you cannot use a hardware specific driver,
this is probably the best option. For information about what
colorkey is used and how it is drawn run MPlayer with -v option and
look out for the lines tagged with [xv common] at the beginning.
-
- s
- Select a specific XVideo port.
- s
- Select the source from which the colorkey is taken (default:
cur).
-
- s
- The default takes the colorkey currently set in Xv.
- s
- Use but do not set the colorkey from MPlayer (use -colorkey
option to change it).
- s
- Same as use but also sets the supplied colorkey.
- s
- Sets the colorkey drawing method (default: man).
-
- s
- Draw the colorkey manually (reduces flicker in some cases).
- s
- Set the colorkey as window background.
- s
- Let Xv draw the colorkey.
- x11 (X11 only)
- Shared memory video output driver without hardware acceleration
that works whenever X11 is present.
- xover (X11 only)
- Adds X11 support to all overlay based video output drivers.
Currently only supported by tdfx_vid.
-
- s
- Select the driver to use as source to overlay on top of
X11.
- xvmc (X11 with -vc ffmpeg12mc only)
- Video output driver that uses the XvMC (X Video Motion
Compensation) extension of XFree86 4.x to speed up MPEG-1/2 and
VCR2 decoding.
-
- s
- Select a specific XVideo port.
- s
- Disables image display. Necessary for proper benchmarking of
drivers that change image buffers on monitor retrace only (nVidia).
Default is not to disable image display (nobenchmark).
- s
- Very simple deinterlacer. Might not look better than -vf
tfields=1, but it is the only deinterlacer for xvmc (default:
nobobdeint).
- s
- Queue frames for display to allow more parallel work of the
video hardware. May add a small (not noticeable) constant A/V
desync (default: noqueue).
- s
- Use sleep function while waiting for rendering to finish (not
recommended on Linux) (default: nosleep).
- s
- Same as -vo xv:ck (see -vo xv).
- s
- Same as -vo xv:ck-method (see -vo xv).
- dga (X11 only)
- Play video through the XFree86 Direct Graphics Access
extension. Considered obsolete.
- sdl (SDL only)
- Highly platform independent SDL (Simple Directmedia Layer)
library video output driver. Since SDL uses its own X11 layer,
MPlayer X11 options do not have any effect on SDL.
-
- s
- Explicitly choose the SDL driver to use.
- s
- Use XVideo through the sdl video output driver (default:
forcexv).
- s
- Use hardware accelerated scaler (default: hwaccel).
- vidix
- VIDIX (VIDeo Interface for *niX) is an interface to the video
acceleration features of different graphics cards. Very fast video
output driver on cards that support it.
-
- s
- Explicitly choose the VIDIX subdevice driver to use. Available
subdevice drivers are cyberblade_vid.so, mach64_vid.so,
mga_crtc2_vid.so, mga_vid.so, nvidia_vid.so, pm3_vid.so,
radeon_vid.so, rage128_vid.so, sis_vid.so and
unichrome_vid.so.
- xvidix (X11 only)
- X11 frontend for VIDIX
-
- s
- same as vidix
- cvidix
- Generic and platform independent VIDIX frontend, can even run
in a text console with nVidia cards.
-
- s
- same as vidix
- winvidix (Windows only)
- Windows frontend for VIDIX
-
- s
- same as vidix
- directx (Windows only)
- Video output driver that uses the DirectX interface.
-
- s
- Turns off hardware acceleration. Try this option if you have
display problems.
- quartz (Mac OS X only)
- Mac OS X Quartz video output driver. Under some circumstances,
it might be more efficient to force a packed YUV output format,
with e.g. -vf format=yuy2.
-
- s
- Choose the display device to use in fullscreen.
- s
- Specify the fullscreen resolution (useful on slow
systems).
- macosx (Mac OS X 10.4 or 10.3.9 with QuickTime 7)
- Mac OS X CoreVideo video output driver
-
- s
- Choose the display device to use in fullscreen.
- fbdev (Linux only)
- Uses the kernel framebuffer to play video.
-
- s
- Explicitly choose the fbdev device name to use (e.g. /dev/:fb0)
or the name of the VIDIX subdevice if the device name starts with
'vidix' (e.g. 'vidixsis_vid' for the sis driver).
- fbdev2 (Linux only)
- Uses the kernel framebuffer to play video, alternative
implementation.
-
- s
- Explicitly choose the fbdev device name to use (default:
/dev/:fb0).
- vesa
- Very general video output driver that should work on any VESA
VBE 2.0 compatible card.
-
- s
- Turns on DGA mode.
- s
- Turns off DGA mode.
- s
- Activate the NeoMagic TV out and set it to PAL norm.
- s
- Activate the NeoMagic TV out and set it to NTSC norm.
- s
- Use the VIDIX driver.
- s
- Activate the Linux Video Overlay on top of VESA mode.
- svga
- Play video using the SVGA library.
-
- s
- Specify video mode to use. The mode can be given in a
<width>x<height>x<colors> format, e.g.
640x480x16M or be a graphics mode number, e.g. 84.
- s
- Draw OSD into black bands below the movie (slower).
- s
- Use only native drawing functions. This avoids direct
rendering, OSD and hardware acceleration.
- s
- Force frame switch on vertical retrace. Usable only with
-double. It has the same effect as the -vsync option.
- s
- Try to select a video mode with square pixels.
- s
- Use svga with VIDIX.
- gl
- OpenGL video output driver, simple version. Video size must be
smaller than the maximum texture size of your OpenGL
implementation. Intended to work even with the most basic OpenGL
implementations, but also makes use of newer extensions, which
allow support for more colorspaces and direct rendering. Please use
-dr if it works with your OpenGL implementation, since for higher
resolutions this provides a big speedup. The code performs
very few checks, so if a feature does not work, this might be
because it is not supported by your card/OpenGL implementation even
if you do not get any error message. Use glxinfo or a similar tool
to display the supported OpenGL extensions.
-
- s
- Enables support for more (RGB and BGR) color formats (default:
enabled). Needs OpenGL version >= 1.2.
- s
- Number of lines copied to texture in one piece (default: 4). 0
for whole image.
NOTE: If YUV colorspace is used (see yuv suboption), special
rules apply:
- If the decoder uses slice rendering (see -noslices), this
setting has no effect, the size of the slices as provided by the
decoder is used.
If the decoder does not use slice rendering, the default is
16.
- s
- Enable or disable support for OSD rendering via OpenGL
(default: enabled). This option is for testing; to disable the OSD
use -osdlevel 0 instead.
- s
- Changes the way the OSD behaves when the size of the window
changes (default: disabled). When enabled behaves more like the
other video output drivers, which is better for fixed-size fonts.
Disabled looks much better with FreeType fonts and uses the borders
in fullscreen mode.
- s
- Color for OSD (default: 0xffffff, corresponds to white).
- s
- Enable or disable aspect scaling and pan-and-scan support
(default: enabled). Disabling might increase speed.
- s
- Select usage of rectangular textures which saves video RAM, but
often is slower (default: 0).
- 0: Use power-of-two textures (default).
1: Use the GL_ARB_texture_rectangle extension.
2: Use the GL_ARB_texture_non_power_of_two extension. In some cases
only supported in software and thus very slow.
- s
- Call glFinish() before swapping buffers. Slower but in some
cases more correct output (default: disabled).
- s
- Minimum interval between two buffer swaps, counted in displayed
frames (default: 1). 1 is equivalent to enabling VSYNC, 0 to
disabling VSYNC. Values below 0 will leave it at the system
default. This limits the framerate to (horizontal refresh rate /
n). Requires GLX_SGI_swap_control support to work. With some
(most/all?) implementations this only works in fullscreen mode.
- s
- Select the type of YUV to RGB conversion.
- 0: Use software conversion (default). Compatible with all
OpenGL versions. Provides brightness, contrast and saturation
control.
1: Use register combiners. This uses an nVidia-specific extension
(GL_NV_register_combiners). At least three texture units are
needed. Provides saturation and hue control. This method is fast
but inexact.
2: Use a fragment program. Needs the GL_ARB_fragment_program
extension and at least three texture units. Provides brightness,
contrast, saturation and hue control.
3: Use a fragment program using the POW instruction. Needs the
GL_ARB_fragment_program extension and at least three texture units.
Provides brightness, contrast, saturation, hue and gamma control.
Gamma can also be set independently for red, green and blue. Method
4 is usually faster.
4: Use a fragment program with additional lookup. Needs the
GL_ARB_fragment_program extension and at least four texture units.
Provides brightness, contrast, saturation, hue and gamma control.
Gamma can also be set independently for red, green and blue.
5: Use ATI-specific method (for older cards). This uses an
ATI-specific extension (GL_ATI_fragment_shader - not
GL_ARB_fragment_shader!). At least three texture units are needed.
Provides saturation and hue control. This method is fast but
inexact.
6: Use a 3D texture to do conversion via lookup. Needs the
GL_ARB_fragment_program extension and at least four texture units.
Extremely slow (software emulation) on some (all?) ATI cards since
it uses a texture with border pixels. Provides brightness,
contrast, saturation, hue and gamma control. Gamma can also be set
independently for red, green and blue. Speed depends more on GPU
memory bandwidth than other methods.
- s
- Select the scaling function to use for luminance scaling. Only
valid for yuv modes 2, 3, 4 and 6.
- 0: Use simple linear filtering (default).
1: Use bicubic filtering (better quality). Needs one additional
texture unit. Older cards will not be able to handle this for
chroma at least in fullscreen mode.
- s
- Select the scaling function to use for chrominance scaling. For
details see lscale.
- s
- Load a custom fragment program from <filename>. See
TOOLS/edgedect.fp for an example.
- s
- Load a custom "gamma ramp" texture from <filename>. This
can be used in combination with yuv=4 or with the customprog
option.
- s
- If enabled (default) use GL_LINEAR interpolation, otherwise use
GL_NEAREST for customtex texture.
- s
- If enabled, use texture_rectangle for customtex texture.
Default is disabled.
- gl2
- OpenGL video output driver, second generation. Supports OSD and
videos larger than the maximum texture size.
-
- s
- same as gl (default: enabled)
- s
- Select the type of YUV to RGB conversion. If set to anything
except 0 OSD will be disabled and brightness, contrast and gamma
setting is only available via the global X server settings. Apart
from this the values have the same meaning as for -vo gl.
- null
- Produces no video output. Useful for benchmarking.
- aa
- ASCII art video output driver that works on a text console. You
can get a list and an explanation of available suboptions executing
mplayer -vo aa:help
- caca
- Color ASCII art video output driver that works on a text
console.
- bl
- Video playback using the Blinkenlights UDP protocol. This
driver is highly hardware specific.
-
- s
- Explicitly choose the Blinkenlights subdevice driver to use. It
is something like arcade:host=localhost:2323 or
hdl:file=name1,file=name2. You must specify a subdevice.
- ggi
- GGI graphics system video output driver
-
- s
- Explicitly choose the GGI driver to use. Replace any ',' that
would appear in the driver string by a '.'.
- directfb
- Play video using the DirectFB library.
-
- s
- Use the DirectFB instead of the MPlayer keyboard code (default:
enabled).
- s
- Double and triple buffering give best results if you want to
avoid tearing issues. Triple buffering is more efficient than
double buffering as it does not block MPlayer while waiting for the
vertical retrace. Single buffering should be avoided (default:
single).
- s
- Control the output order for interlaced frames (default:
disabled). Valid values are top = top fields first, bottom = bottom
fields first. This option does not have any effect on progressive
film material like most MPEG movies are. You need to enable this
option if you have tearing issues or unsmooth motions watching
interlaced film material.
- s
- Will force layer with ID N for playback (default: -1 - auto).
- s
- Specify a parameter list for DirectFB.
- dfbmga
- Matrox G400/:G450/:G550 specific video output driver that uses
the DirectFB library to make use of special hardware features.
Enables CRTC2 (second head), displaying video independently of the
first head.
-
- s
- same as directfb (default: disabled)
- s
- same as directfb (default: triple)
- s
- same as directfb
- s
- Enable the use of the Matrox BES (backend scaler) (default:
disabled). Gives very good results concerning speed and output
quality as interpolated picture processing is done in hardware.
Works only on the primary head.
- s
- Make use of the Matrox sub picture layer to display the OSD
(default: enabled).
- s
- Turn on TV-out on the second head (default: enabled). The
output quality is amazing as it is a full interlaced picture with
proper sync to every odd/:even field.
- s
- Will set the TV norm of the Matrox card without the need for
modifying /etc/:directfbrc (default: disabled). Valid norms are pal
= PAL, ntsc = NTSC. Special norm is auto (auto-adjust using
PAL/:NTSC) because it decides which norm to use by looking at the
framerate of the movie.
- mga (Linux only)
- Matrox specific video output driver that makes use of the YUV
back end scaler on Gxxx cards through a kernel module. If you have
a Matrox card, this is the fastest option.
-
- s
- Explicitly choose the Matrox device name to use (default:
/dev/:mga_vid).
- xmga (Linux, X11 only)
- The mga video output driver, running in an X11 window.
-
- s
- Explicitly choose the Matrox device name to use (default:
/dev/:mga_vid).
- syncfb
- Video output driver for the SyncFB kernel module, which
provides special hardware features of Matrox Gxxx cards like
hardware deinterlacing, scaling and synchronizing your video output
to the vertical retrace of your monitor.
- 3dfx (Linux only)
- 3dfx specific video output driver. This driver directly uses
the 3dfx hardware on top of X11. Only 16 bpp are supported. FIXME:
It' ok the difference between 3dfx, tdfxfb and tdfx_vid?
- tdfxfb (Linux only)
- This driver employs the tdfx framebuffer driver to play movies
with YUV acceleration on 3dfx cards. FIXME: It' ok the difference
between 3dfx, tdfxfb and tdfx_vid?
-
- s
- Explicitly choose the fbdev device name to use (default:
/dev/:fb0).
- tdfx_vid (Linux only)
- 3dfx specific video output driver. This driver directly uses
the tdfx_vid kernel module. FIXME: It' ok the difference between
3dfx, tdfxfb and tdfx_vid?
-
- s
- Explicitly choose the device name to use (default:
/dev/:tdfx_vid).
- dxr2 (also see -dxr2) (DXR2 only)
- Creative DXR2 specific video output driver.
-
- s
- Output video subdriver to use as overlay (x11, xv).
- dxr3 (DXR3 only)
- Sigma Designs em8300 MPEG decoder chip (Creative DXR3, Sigma
Designs Hollywood Plus) specific video output driver. Also see the
lavc video filter.
-
- s
- Activates the overlay instead of TVOut.
- s
- Turns on prebuffering.
- s
- Will turn on the new sync-engine.
- s
- Specifies the TV norm.
- 0: Does not change current norm (default).
1: Auto-adjust using PAL/:NTSC.
2: Auto-adjust using PAL/:PAL-60.
3: PAL
4: PAL-60
5: NTSC
- s
- Specifies the device number to use if you have more than one
em8300 card.
- ivtv (IVTV only)
- Conexant CX23415 (iCompression iTVC15) or Conexant CX23416
(iCompression iTVC16) MPEG decoder chip (Hauppauge WinTV
PVR-150/250/350/500) specific video output driver for TV-Out. Also
see the lavc video filter.
-
- s
- Explicitly choose the MPEG decoder device name to use (default:
/dev/video16).
- s
- Explicitly choose the TV-Out output to be used for the video
signal.
- mpegpes (DVB only)
- Video output driver for DVB cards that writes the output to an
MPEG-PES file if no DVB card is installed.
-
- s
- Specifies the device number to use if you have more than one
DVB output card (V3 API only, such as 1.x.y series drivers).
- s
- output filename (default: ./grab.mpg)
- zr (also see -zr* and -zrhelp)
- Video output driver for a number of MJPEG capture/:playback
cards.
- zr2 (also see the zrmjpeg video filter)
- Video output driver for a number of MJPEG capture/:playback
cards, second generation.
-
- s
- Specifies the video device to use.
- s
- Specifies the video norm to use (default: auto).
- s
- (De)Activate prebuffering, not yet supported.
- md5sum
- Calculate MD5 sums of each frame and write them to a file.
Supports RGB24 and YV12 colorspaces. Useful for debugging.
-
- s
- Specify the output filename (default: ./md5sums).
- yuv4mpeg
- Transforms the video stream into a sequence of uncompressed YUV
4:2:0 images and stores it in a file (default: ./stream.yuv). The
format is the same as the one employed by mjpegtools, so this is
useful if you want to process the video with the mjpegtools suite.
It supports the YV12, RGB (24 bpp) and BGR (24 bpp) format. You can
combine it with the -fixed-vo option to concatenate files with the
same dimensions and fps value.
-
- s
- Write the output as interlaced frames, top field first.
- s
- Write the output as interlaced frames, bottom field first.
- s
- Write the output to <filename> instead of the default
stream.yuv.
-
NOTE: If you do not specify any option the output is
progressive (i.e. not interlaced).
- gif89a
- Output each frame into a single animated GIF file in the
current directory. It supports only RGB format with 24 bpp and the
output is converted to 256 colors.
-
- s
- Float value to specify framerate (default: 5.0).
- s
- Specify the output filename (default: ./out.gif).
-
NOTE: You must specify the framerate before the filename
or the framerate will be part of the filename.
EXAMPLE:
- mplayer video.nut -vo gif89a:fps=15.0:filename=test.gif
- jpeg
- Output each frame into a JPEG file in the current directory.
Each file takes the frame number padded with leading zeros as name.
-
- s
- Specify standard or progressive JPEG (default: noprogressive).
- s
- Specify use of baseline or not (default: baseline).
- s
- optimization factor (default: 100)
- s
- smooth factor (default: 0)
- s
- quality factor (default: 75)
- s
- Specify the directory to save the JPEG files to (default: ./).
- s
- Create numbered subdirectories with the specified prefix to
save the files in instead of the current directory.
- s
- Maximum number of files to be saved per subdirectory. Must be
equal to or larger than 1 (default: 1000).
- pnm
- Output each frame into a PNM file in the current directory.
Each file takes the frame number padded with leading zeros as name.
It supports PPM, PGM and PGMYUV files in both raw and ASCII mode.
Also see ppm(5) and
pgm(5).
-
- s
- Write PPM files (default).
- s
- Write PGM files.
- s
- Write PGMYUV files. PGMYUV is like PGM, but it also contains
the U and V plane, appended at the bottom of the picture.
- s
- Write PNM files in raw mode (default).
- s
- Write PNM files in ASCII mode.
- s
- Specify the directory to save the PNM files to (default: ./).
- s
- Create numbered subdirectories with the specified prefix to
save the files in instead of the current directory.
- s
- Maximum number of files to be saved per subdirectory. Must be
equal to or larger than 1 (default: 1000).
- png
- Output each frame into a PNG file in the current directory.
Each file takes the frame number padded with leading zeros as name.
24bpp RGB and BGR formats are supported.
-
- s
- Specifies the compression level. 0 is no compression, 9 is
maximum compression.
- tga
- Output each frame into a Targa file in the current directory.
Each file takes the frame number padded with leading zeros as name.
The purpose of this video output driver is to have a simple
lossless image writer to use without any external library. It
supports the BGR[A] color format, with 15, 24 and 32 bpp. You can
force a particular format with the format video filter.
EXAMPLE:
- mplayer video.nut -vf format=bgr15 -vo tga
DECODING/FILTERING OPTIONS
- -ac <[-|+]codec1,[-|+]codec2,...[,]>
- Specify a priority list of audio codecs to be used, according
to their codec name in codecs.conf. Use a '-' before the codec name
to omit it. Use a '+' before the codec name to force it, this will
likely crash! If the list has a trailing ',' MPlayer will fall back
on codecs not contained in the list.
NOTE: See -ac help for a full list of available codecs.
EXAMPLE:
-
- s
- Force the l3codeca.acm MP3 codec.
- s
- Try libmad first, then fall back on others.
- s
- Try hardware AC3 passthrough, software AC3, then others.
- s
- Try hardware DTS passthrough, then fall back on others.
- s
- Skip FFmpeg's MP3 decoder.
- -af-adv <force=(0-7):list=(filters)> (also see
-af)
- Specify advanced audio filter options:
-
- s
- Forces the insertion of audio filters to one of the following:
- 0: Use completely automatic filter insertion.
1: Optimize for accuracy (default).
2: Optimize for speed. Warning: Some features in the audio
filters may silently fail, and the sound quality may drop.
3: Use no automatic insertion of filters and no optimization.
Warning: It may be possible to crash MPlayer using this
setting.
4: Use automatic insertion of filters according to 0 above, but use
floating point processing when possible.
5: Use automatic insertion of filters according to 1 above, but use
floating point processing when possible.
6: Use automatic insertion of filters according to 2 above, but use
floating point processing when possible.
7: Use no automatic insertion of filters according to 3 above, and
use floating point processing when possible.
- s
- Same as -af.
- -afm <driver1,driver2,...>
- Specify a priority list of audio codec families to be used,
according to their codec name in codecs.conf. Falls back on the
default codecs if none of the given codec families work.
NOTE: See -afm help for a full list of available codec
families.
EXAMPLE:
-
- s
- Try FFmpeg's libavcodec codecs first.
- s
- Try Win32 codecs first.
- -aspect <ratio> (also see -zoom)
- Override movie aspect ratio, in case aspect information is
incorrect or missing in the file being played.
EXAMPLE:
- -aspect 4:3 or -aspect 1.3333
-aspect 16:9 or -aspect 1.7777
- -noaspect
- Disable automatic movie aspect ratio compensation.
- -flip
- Flip image upside-down.
- -lavdopts <option1:option2:...> (DEBUG CODE)
- Specify libavcodec decoding parameters. Separate multiple
options with a colon.
EXAMPLE:
- -lavdopts gray:skiploopfilter=all:skipframe=nonref
- Available options are:
-
- s
- Only use bit-exact algorithms in all decoding steps (for codec
testing).
- s
- Manually work around encoder bugs.
- 0: nothing
1: autodetect bugs (default)
2 (msmpeg4v3): some old lavc generated msmpeg4v3 files (no
autodetection)
4 (mpeg4): XviD interlacing bug (autodetected if fourcc==XVIX)
8 (mpeg4): UMP4 (autodetected if fourcc==UMP4)
16 (mpeg4): padding bug (autodetected)
32 (mpeg4): illegal vlc bug (autodetected per fourcc)
64 (mpeg4): XviD and DivX qpel bug (autodetected per
fourcc/:version)
128 (mpeg4): old standard qpel (autodetected per
fourcc/:version)
256 (mpeg4): another qpel bug (autodetected per
fourcc/:version)
512 (mpeg4): direct-qpel-blocksize bug (autodetected per
fourcc/:version)
1024 (mpeg4): edge padding bug (autodetected per
fourcc/:version)
- s
- Display debugging information.
-
0: disabled
1: picture info
2: rate control
4: bitstream
8: macroblock (MB) type
16: per-block quantization parameter (QP)
32: motion vector
0x0040: motion vector visualization (use -noslices)
0x0080: macroblock (MB) skip
0x0100: startcode
0x0200: PTS
0x0400: error resilience
0x0800: memory management control operations (H.264)
0x1000: bugs
0x2000: Visualize quantization parameter (QP), lower QP are tinted
greener.
0x4000: Visualize block types.
- s
- Set error concealment strategy.
- 1: Use strong deblock filter for damaged MBs.
2: iterative motion vector (MV) search (slow)
3: all (default)
- s
- Set error resilience strategy.
-
0: disabled
1: careful (Should work with broken encoders.)
2: normal (default) (Works with compliant encoders.)
3: aggressive (More checks, but might cause problems even for valid
bitstreams.)
4: very aggressive
- s
- Enable optimizations which do not comply to the specification
and might potentially cause problems, like simpler dequantization,
assuming use of the default quantization matrix, assuming YUV 4:2:0
and skipping a few checks to detect damaged bitstreams.
- s
- grayscale only decoding (a bit faster than with color)
- s
- For best decoding quality use the same IDCT algorithm for
decoding and encoding. This may come at a price in accuracy,
though.
- s
- Decode at lower resolutions. Low resolution decoding is not
supported by all codecs, and it will often result in ugly
artifacts. This is not a bug, but a side effect of not decoding at
full resolution.
-
0: disabled
1: 1/2 resolution
2: 1/4 resolution
3: 1/8 resolution
- If <w> is specified lowres decoding will be used only if
the width of the video is major than or equal to <w>.
- s
- Skip the given number of macroblock rows at the bottom.
- s
- Skip the given number of macroblock rows at the top.
- s
- Skips the loop filter (AKA deblocking) during H.264 decoding.
Since the filtered frame is supposed to be used as reference for
decoding dependent frames this has a worse effect on quality than
not doing deblocking on e.g. MPEG-2 video. But at least for high
bitrate HDTV this provides a big speedup with no visible quality
loss.
<skipvalue> can be either one of the following:
-
none: Never skip.
default: Skip useless processing steps (e.g. 0 size packets in
AVI).
nonref: Skip frames that are not referenced (i.e. not used for
decoding other frames, the error cannot "build up").
bidir: Skip B-Frames.
nonkey: Skip all frames except keyframes.
all: Skip all frames.
- s
- Skips the IDCT step. This degrades quality a lot of in almost
all cases (see skiploopfilter for available skip values).
- s
- Skips decoding of frames completely. Big speedup, but jerky
motion and sometimes bad artifacts (see skiploopfilter for
available skip values).
- s
- number of threads to use for decoding (default: 1)
- s
- Visualize motion vectors.
-
0: disabled
1: Visualize forward predicted MVs of P-frames.
2: Visualize forward predicted MVs of B-frames.
4: Visualize backward predicted MVs of B-frames.
- s
- Prints some statistics and stores them in
./vstats_*.log.
- -noslices
- Disable drawing video by 16-pixel height slices/:bands, instead
draws the whole frame in a single run. May be faster or slower,
depending on video card and available cache. It has effect only
with libmpeg2 and libavcodec codecs.
- -nosound
- Do not play/:encode sound. Useful for benchmarking.
- -novideo
- Do not play/:encode video. In many cases this will not work,
use -vc null -vo null instead.
- -pp <quality> (also see -vf pp)
- Set the DLL postprocess level. This option is no longer usable
with -vf pp. It only works with Win32 DirectShow DLLs with internal
postprocessing routines. The valid range of -pp values varies by
codec, it is mostly 0-6, where 0=disable, 6=slowest/:best.
- -pphelp (also see -vf pp)
- Show a summary about the available postprocess filters and
their usage.
- -ssf <mode>
- Specifies software scaler parameters.
EXAMPLE:
- -vf scale -ssf lgb=3.0
-
- s
- gaussian blur filter (luma)
- s
- gaussian blur filter (chroma)
- s
- sharpen filter (luma)
- s
- sharpen filter (chroma)
- s
- chroma horizontal shifting
- s
- chroma vertical shifting
- -stereo <mode>
- Select type of MP2/:MP3 stereo output.
-
- s
- stereo
- s
- left channel
- s
- right channel
- -sws <software scaler type> (also see -vf scale and
-zoom)
- Specify the software scaler algorithm to be used with the -zoom
option. This affects video output drivers which lack hardware
acceleration, e.g. x11.
Available types are:
-
- s
- fast bilinear
- s
- bilinear
- s
- bicubic (good quality) (default)
- s
- experimental
- s
- nearest neighbor (bad quality)
- s
- area
- s
- luma bicubic / chroma bilinear
- s
- gauss
- s
- sincR
- s
- lanczos
- s
- natural bicubic spline
- NOTE: Some -sws options are tunable. The description of
the scale video filter has further information.
- -vc <[-|+]codec1,[-|+]codec2,...[,]>
- Specify a priority list of video codecs to be used, according
to their codec name in codecs.conf. Use a '-' before the codec name
to omit it. Use a '+' before the codec name to force it, this will
likely crash! If the list has a trailing ',' MPlayer will fall back
on codecs not contained in the list.
NOTE: See -vc help for a full list of available codecs.
EXAMPLE:
-
- s
- Force Win32/:VfW DivX codec, no fallback.
- s
- Skip Win32 DivX codecs.
- s
- Try libavcodec's MPEG-1/2 codec, then libmpeg2, then
others.
- -vfm <driver1,driver2,...>
- Specify a priority list of video codec families to be used,
according to their names in codecs.conf. Falls back on the default
codecs if none of the given codec families work.
NOTE: See -vfm help for a full list of available codec
families.
EXAMPLE:
-
- s
- Try the libavcodec, then Directshow, then VfW codecs and fall
back on others, if they do not work.
- s
- Try XAnim codecs first.
- -x <x> (also see -zoom) (MPlayer only)
- Scale image to width <x> (if software/:hardware scaling
is available). Disables aspect calculations.
- -xvidopts <option1:option2:...>
- Specify additional parameters when decoding with XviD.
NOTE: Since libavcodec is faster than XviD you might want to
use the libavcodec postprocessing filter (-vf pp) and decoder (-vfm
ffmpeg) instead.
XviD's internal postprocessing filters:
-
- s
- chroma deblock filter
- s
- luma deblock filter
- s
- luma deringing filter
- s
- chroma deringing filter
- s
- Adds artificial film grain to the video. May increase perceived
quality, while lowering true quality.
- rendering methods:
-
- s
- Activate direct rendering method 2.
- s
- Deactivate direct rendering method 2.
- -xy <value> (also see -zoom)
-
-
- s
- Scale image by factor <value>.
- s
- Set width to value and calculate height to keep correct aspect
ratio.
- -y <y> (also see -zoom) (MPlayer only)
- Scale image to height <y> (if software/:hardware scaling
is available). Disables aspect calculations.
- -zoom
- Allow software scaling, where available. This will allow
scaling with output drivers (like x11, fbdev) that do not support
hardware scaling where MPlayer disables scaling by default for
performance reasons.
AUDIO FILTERS
Audio filters allow you to modify the audio
stream and its properties. The syntax is:
- -af
<filter1[=parameter1:parameter2:...],filter2,...>
- Setup a chain of audio filters.
NOTE: To get a full list of available audio filters, see
-af help.
Available filters are:
- resample[=srate[:sloppy[:type]]]
- Changes the sample rate of the audio stream. Can be used if you
have a fixed frequency sound card or if you are stuck with an old
sound card that is only capable of max 44.1kHz. This filter is
automatically enabled if necessary. It only supports 16-bit integer
and float in native-endian format as input.
NOTE: With MEncoder, you need to also use -srate
<srate>.
-
- s
- output sample frequency in Hz. The valid range for this
parameter is 8000 to 192000. If the input and output sample
frequency are the same or if this parameter is omitted the filter
is automatically unloaded. A high sample frequency normally
improves the audio quality, especially when used in combination
with other filters.
- s
- Allow (1) or disallow (0) the output frequency to differ
slightly from the frequency given by <srate> (default: 1).
Can be used if the startup of the playback is extremely slow.
- s
- Selects which resampling method to use.
- 0: linear interpolation (fast, poor quality especially when
upsampling)
1: polyphase filterbank and integer processing
2: polyphase filterbank and floating point processing (slow, best
quality)
- EXAMPLE:
-
- s
- would set the output frequency of the resample filter to
44100Hz using exact output frequency scaling and linear
interpolation.
- lavcresample[=srate[:length[:linear[:count[:cutoff]]]]]
- Changes the sample rate of the audio stream to an integer
<srate> in Hz. It only supports the 16-bit native-endian
format.
NOTE: With MEncoder, you need to also use -srate
<srate>.
-
- s
- the output sample rate
- s
- length of the filter with respect to the lower sampling rate
(default: 16)
- s
- if 1 then filters will be linearly interpolated between
polyphase entries
- s
- log2 of the number of polyphase entries (..., 10->1024,
11->2048, 12->4096, ...) (default: 10->1024)
- s
- cutoff frequency (0.0-1.0), default set depending upon filter
length
- sweep[=speed]
- Produces a sine sweep.
-
- s
- Sine function delta, use very low values to hear the
sweep.
- sinesuppress[=freq:decay]
- Remove a sine at the specified frequency. Useful to get rid of
the 50/60Hz noise on low quality audio equipment. It probably only
works on mono input.
-
- s
- The frequency of the sine which should be removed (in Hz)
(default: 50)
- s
- Controls the adaptivity (a larger value will make the filter
adapt to amplitude and phase changes quicker, a smaller value will
make the adaptation slower) (default: 0.0001). Reasonable values
are around 0.001.
- hrtf[=flag]
- Head-related transfer function: Converts multichannel audio to
2 channel output for headphones, preserving the spatiality of the
sound.
-
- s
- s
- s
- s
- equalizer=[g1:g2:g3:...:g10]
- 10 octave band graphic equalizer, implemented using 10 IIR band
pass filters. This means that it works regardless of what type of
audio is being played back. The center frequencies for the 10 bands
are:
-
- s
- s
- s
- s
- s
- s
- s
- s
- s
- s
- s
- If the sample rate of the sound being played is lower than the
center frequency for a frequency band, then that band will be
disabled. A known bug with this filter is that the characteristics
for the uppermost band are not completely symmetric if the sample
rate is close to the center frequency of that band. This problem
can be worked around by upsampling the sound using the resample
filter before it reaches this filter.
-
- s
- floating point numbers representing the gain in dB for each
frequency band (-12-12)
- EXAMPLE:
-
- s
- Would amplify the sound in the upper and lower frequency region
while canceling it almost completely around 1kHz.
- channels=nch[:nr:from1:to1:from2:to2:from3:to3:...]
- Can be used for adding, removing, routing and copying audio
channels. If only <nch> is given the default routing is used,
it works as follows: If the number of output channels is bigger
than the number of input channels empty channels are inserted
(except mixing from mono to stereo, then the mono channel is
repeated in both of the output channels). If the number of output
channels is smaller than the number of input channels the exceeding
channels are truncated.
-
- s
- number of output channels (1-6)
- s
- number of routes (1-6)
- s
- Pairs of numbers between 0 and 5 that define where to route
each channel.
- EXAMPLE:
-
- s
- Would change the number of channels to 4 and set up 4 routes
that swap channel 0 and channel 1 and leave channel 2 and 3 intact.
Observe that if media containing two channels was played back,
channels 2 and 3 would contain silence but 0 and 1 would still be
swapped.
- s
- Would change the number of channels to 6 and set up 4 routes
that copy channel 0 to channels 0 to 3. Channel 4 and 5 will
contain silence.
- format[=format] (also see -format)
- Convert between different sample formats. Automatically enabled
when needed by the sound card or another filter.
-
- s
- Sets the desired format. The general form is 'sbe', where 's'
denotes the sign (either 's' for signed or 'u' for unsigned), 'b'
denotes the number of bits per sample (16, 24 or 32) and 'e'
denotes the endianness ('le' means little-endian, 'be' big-endian
and 'ne' the endianness of the computer MPlayer is running on).
Valid values (amongst others) are: 's16le', 'u32be' and 'u24ne'.
Exceptions to this rule that are also valid format specifiers: u8,
s8, floatle, floatbe, floatne, mulaw, alaw, mpeg2, ac3 and
imaadpcm.
- volume[=v[:sc]]
- Implements software volume control. Use this filter with
caution since it can reduce the signal to noise ratio of the sound.
In most cases it is best to set the level for the PCM sound to max,
leave this filter out and control the output level to your speakers
with the master volume control of the mixer. In case your sound
card has a digital PCM mixer instead of an analog one, and you hear
distortion, use the MASTER mixer instead. If there is an external
amplifier connected to the computer (this is almost always the
case), the noise level can be minimized by adjusting the master
level and the volume knob on the amplifier until the hissing noise
in the background is gone.
This filter has a second feature: It measures the overall maximum
sound level and prints out that level when MPlayer exits. This
volume estimate can be used for setting the sound level in MEncoder
such that the maximum dynamic range is utilized.
NOTE: This filter is not reentrant and can therefore only be
enabled once for every audio stream.
-
- s
- Sets the desired gain in dB for all channels in the stream from
-200dB to +60dB, where -200dB mutes the sound completely and +60dB
equals a gain of 1000 (default: 0).
- s
- Turns soft clipping on (1) or off (0). Soft-clipping can make
the sound more smooth if very high volume levels are used. Enable
this option if the dynamic range of the loudspeakers is very
low.
WARNING: This feature creates distortion and should be
considered a last resort.
- EXAMPLE:
-
- s
- Would amplify the sound by 10.1dB and hard-clip if the sound
level is too high.
- pan=n[:L00:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...]
- Mixes channels arbitrarily. Basically a combination of the
volume and the channels filter that can be used to down-mix many
channels to only a few, e.g. stereo to mono or vary the "width" of
the center speaker in a surround sound system. This filter is hard
to use, and will require some tinkering before the desired result
is obtained. The number of options for this filter depends on the
number of output channels. An example how to downmix a six-channel
file to two channels with this filter can be found in the examples
section near the end.
-
- s
- number of output channels (1-6)
- s
- How much of input channel i is mixed into output channel j
(0-1). So in principle you first have n numbers saying what to do
with the first input channel, then n numbers that act on the second
input channel etc. If you do not specify any numbers for some input
channels, 0 is assumed.
- EXAMPLE:
-
- s
- Would down-mix from stereo to mono.
- s
- Would give 3 channel output leaving channels 0 and 1 intact,
and mix channels 0 and 1 into output channel 2 (which could be sent
to a subwoofer for example).
- sub[=fc:ch]
- Adds a subwoofer channel to the audio stream. The audio data
used for creating the subwoofer channel is an average of the sound
in channel 0 and channel 1. The resulting sound is then low-pass
filtered by a 4th order Butterworth filter with a default cutoff
frequency of 60Hz and added to a separate channel in the audio
stream.
Warning: Disable this filter when you are playing DVDs with
Dolby Digital 5.1 sound, otherwise this filter will disrupt the
sound to the subwoofer.
-
- s
- cutoff frequency in Hz for the low-pass filter (20Hz to 300Hz)
(default: 60Hz) For the best result try setting the cutoff
frequency as low as possible. This will improve the stereo or
surround sound experience.
- s
- Determines the channel number in which to insert the
sub-channel audio. Channel number can be between 0 and 5 (default:
5). Observe that the number of channels will automatically be
increased to <ch> if necessary.
- EXAMPLE:
-
- s
- Would add a sub-woofer channel with a cutoff frequency of 100Hz
to output channel 4.
- center
- Creates a center channel from the front channels. May currently
be low quality as it does not implement a high-pass filter for
proper extraction yet, but averages and halves the channels
instead.
-
- s
- Determines the channel number in which to insert the center
channel. Channel number can be between 0 and 5 (default: 5).
Observe that the number of channels will automatically be increased
to <ch> if necessary.
- surround[=delay]
- Decoder for matrix encoded surround sound like Dolby Surround.
Many files with 2 channel audio actually contain matrixed surround
sound. Requires a sound card supporting at least 4 channels.
-
- s
- delay time in ms for the rear speakers (0 to 1000) (default:
20) This delay should be set as follows: If d1 is the distance from
the listening position to the front speakers and d2 is the distance
from the listening position to the rear speakers, then the delay
should be set to 15ms if d1 <= d2 and to 15 + 5*(d1-d2) if d1
> d2.
- EXAMPLE:
-
- s
- Would add surround sound decoding with 15ms delay for the sound
to the rear speakers.
- delay[=ch1:ch2:...]
- Delays the sound to the loudspeakers such that the sound from
the different channels arrives at the listening position
simultaneously. It is only useful if you have more than 2
loudspeakers.
-
- s
- The delay in ms that should be imposed on each channel
(floating point number between 0 and 1000).
- To calculate the required delay for the different channels do
as follows:
- 1.
- Measure the distance to the loudspeakers in meters in relation
to your listening position, giving you the distances s1 to s5 (for
a 5.1 system). There is no point in compensating for the subwoofer
(you will not hear the difference anyway).
- 2.
- Subtract the distances s1 to s5 from the maximum distance, i.e.
s[i] = max(s) - s[i]; i = 1...5.
- 3.
- Calculate the required delays in ms as d[i] = 1000*s[i]/342; i
= 1...5.
- EXAMPLE:
-
- s
- Would delay front left and right by 10.5ms, the two rear
channels and the sub by 0ms and the center channel by
7ms.
- export[=mmapped_file[:nsamples]]
- Exports the incoming signal to other processes using memory
mapping (mmap()). Memory mapped areas contain a header:
int nch /*number of channels*/
int size /*buffer size*/
unsigned long long counter /*Used to keep sync, updated every
time new data is exported.*/
The rest is payload (non-interleaved) 16 bit data.
-
- s
- file to map data to (default: ~/.mplayer/:mplayer-af_export)
- s
- number of samples per channel (default: 512)
- EXAMPLE:
-
- s
- Would export 1024 samples per channel to
'/tmp/mplayer-af_export'.
- extrastereo[=mul]
- (Linearly) increases the difference between left and right
channels which adds some sort of "live" effect to playback.
-
- s
- Sets the difference coefficient (default: 2.5). 0.0 means mono
sound (average of both channels), with 1.0 sound will be unchanged,
with -1.0 left and right channels will be swapped.
- volnorm[=method:target]
- Maximizes the volume without distorting the sound.
-
- s
- Sets the used method.
- 1: Use a single sample to smooth the variations via the
standard weighted mean over past samples (default).
2: Use several samples to smooth the variations via the standard
weighted mean over past samples.
- s
- Sets the target amplitude as a fraction of the maximum for the
sample type (default: 0.25).
- ladspa=file:label[:controls...]
- Load a LADSPA (Linux Audio Developer's Simple Plugin API)
plugin. This filter is reentrant, so multiple LADSPA plugins can be
used at once.
-
- s
- Specifies the LADSPA plugin library file. If LADSPA_PATH is
set, it searches for the specified file. If it is not set, you must
supply a fully specified pathname.
- s
- Specifies the filter within the library. Some libraries contain
only one filter, but others contain many of them. Entering 'help'
here, will list all available filters within the specified library,
which eliminates the use of 'listplugins' from the LADSPA SDK.
- s
- Controls are zero or more floating point values that determine
the behavior of the loaded plugin (for example delay, threshold or
gain). In verbose mode (add -v to the MPlayer command line), all
available controls and their valid ranges are printed. This
eliminates the use of 'analyseplugin' from the LADSPA
SDK.
- comp
- Compressor/expander filter usable for microphone input.
Prevents artifacts on very loud sound and raises the volume on very
low sound. This filter is untested, maybe even unusable.
- gate
- Noise gate filter similar to the comp audio filter. This filter
is untested, maybe even unusable.
- karaoke
- Simple voice removal filter exploiting the fact that voice is
usually recorded with mono gear and later 'center' mixed onto the
final audio stream. Beware that this filter will turn your signal
into mono. Works well for 2 channel tracks; do not bother trying it
on anything but 2 channel stereo.
VIDEO FILTERS
Video filters allow you to modify the video
stream and its properties. The syntax is:
- -vf
<filter1[=parameter1:parameter2:...],filter2,...>
- Setup a chain of video filters.
- -vop <...,filter2[=parameter1:parameter2:...],filter1>
(OBSOLETE)
- Setup a chain of video filters, to be applied in reverse
order. Deprecated in favor of -vf.
Many parameters are optional and set to default values if
omitted. To explicitly use a default value set a parameter to '-1'.
Parameters w:h means width x height in pixels, x:y means x;y
position counted from the upper left corner of the bigger
image.
NOTE: To get a full list of available video filters, see -vf
help.
Video filters are managed in lists. There are a few commands to
manage the filter list.
- -vf-add <filter1[,filter2,...]>
- Appends the filters given as arguments to the filter list.
- -vf-pre <filter1[,filter2,...]>
- Prepends the filters given as arguments to the filter list.
- -vf-del <index1[,index2,...]>
- Deletes the filters at the given indexes. Index numbers start
at 0, negative numbers address the end of the list (-1 is the
last).
- -vf-clr
- Completely empties the filter list.
With filters that support it, you can access parameters by their
name.
- -vf <filter>=help
- Prints the parameter names and parameter value ranges for a
particular filter.
- -vf
<filter=named_parameter1=value1[:named_parameter2=value2:...]>
- Sets a named parameter to the given value. Use on and off or
yes and no to set flag parameters.
Available filters are:
- crop[=w:h:x:y]
- Crops the given part of the image and discards the rest. Useful
to remove black bands from widescreen movies.
-
- s
- Cropped width and height, defaults to original width and
height.
- s
- Position of the cropped picture, defaults to center.
- cropdetect[=limit:round]
- Calculates necessary cropping parameters and prints the
recommended parameters to stdout.
-
- s
- Threshold, which can be optionally specified from nothing (0)
to everything (255) (default: 24).
- s
- Value which the width/:height should be divisible by (default:
16). The offset is automatically adjusted to center the video. Use
2 to get only even dimensions (needed for 4:2:2 video). 16 is best
when encoding to most video codecs.
- rectangle[=w:h:x:y]
- The plugin responds to the input.conf directive
'change_rectangle' that takes two parameters.
-
- s
- width and height (default: -1, maximum possible width where
boundaries are still visible.)
- s
- top left corner position (default: -1, uppermost
leftmost)
- expand[=w:h:x:y:o:a:r]
- Expands (not scales) movie resolution to the given value and
places the unscaled original at coordinates x, y. Can be used for
placing subtitles/:OSD in the resulting black bands.
placing subtitles/:OSD in the resulting black bands.
-
- s
- Expanded width,height (default: original width,height).
Negative values for w and h are treated as offsets to the original
size.
EXAMPLE:
-
- expand=0:-50:0:0
- Adds a 50 pixel border to the bottom of the picture.
- s
- position of original image on the expanded image (default:
center)
- s
- OSD/:subtitle rendering
- OSD/:subtitle rendering
- 0: disable (default)
1: enable
- s
- Expands to fit an aspect instead of a resolution (default: 0).
EXAMPLE:
-
- expand=800::::4/3
- Expands to 800x600, unless the source is higher resolution, in
which case it expands to fill a 4/3 aspect.
- s
- Rounds up to make both width and height divisible by <r>
(default: 1).
- flip (also see -flip)
- Flips the image upside down.
- mirror
- Mirrors the image on the Y axis.
- rotate[=<0-7>]
- Rotates the image by 90 degrees and optionally flips it. For
values between 4-7 rotation is only done if the movie geometry is
portrait and not landscape.
-
- s
- Rotate by 90 degrees clockwise and flip (default).
- s
- Rotate by 90 degrees clockwise.
- s
- Rotate by 90 degrees counterclockwise.
- s
- Rotate by 90 degrees counterclockwise and flip.
-
scale[=w:h[:ilaced[:chr_drop[:par[:par2[:presize[:noup[:arnd]]]]]]]]
- Scales the image with the software scaler (slow) and performs a
YUV<->RGB colorspace conversion (also see -sws).
-
- s
- scaled width/:height (default: original width/:height)
NOTE: If -zoom is used, and underlying filters (including
libvo) are incapable of scaling, it defaults to d_width/:d_height!
-
0: scaled d_width/:d_height
-1: original width/:height
-2: Calculate w/h using the other dimension and the prescaled
aspect ratio.
-3: Calculate w/h using the other dimension and the original aspect
ratio.
-(n+8): Like -n above, but rounding the dimension to the closest
multiple of 16.
- s
- Toggle interlaced scaling.
- 0: off (default)
1: on
- s
- chroma skipping
- 0: Use all available input lines for chroma.
1: Use only every 2. input line for chroma.
2: Use only every 4. input line for chroma.
3: Use only every 8. input line for chroma.
- s
- Set some scaling parameters depending on the type of scaler
selected with -sws.
- -sws 2 (bicubic): B (blurring) and C (ringing)
0.00:0.60 default
0.00:0.75 VirtualDub's "precise bicubic"
0.00:0.50 Catmull-Rom spline
0.33:0.33 Mitchell-Netravali spline
1.00:0.00 cubic B-spline
-sws 7 (gaussian): sharpness (0 (soft) - 100 (sharp))
-sws 9 (lanczos): filter length (1-10)
- s
- Scale to preset sizes.
- qntsc: 352x240 (NTSC quarter screen)
qpal: 352x288 (PAL quarter screen)
ntsc: 720x480 (standard NTSC)
pal: 720x576 (standard PAL)
sntsc: 640x480 (square pixel NTSC)
spal: 768x576 (square pixel PAL)
- s
- Disallow upscaling past the original dimensions.
- 0: Allow upscaling (default).
1: Disallow upscaling if one dimension exceeds its original
value.
2: Disallow upscaling if both dimensions exceed their original
values.
- s
- Accurate rounding for the vertical scaler, which may be faster
or slower than the default rounding.
- 0: Disable accurate rounding (default).
1: Enable accurate rounding.
- dsize[=aspect|w:h:aspect-method:r]
- Changes the intended display size/:aspect at an arbitrary point
in the filter chain. Aspect can be given as a fraction (4/3) or
floating point number (1.33). Alternatively, you may specify the
exact display width and height desired. Note that this filter does
not do any scaling itself; it just affects what later
scalers (software or hardware) will do when auto-scaling to correct
aspect.
-
- s
- New display width and height. Can also be these special values:
-
0: original display width and height
-1: original video width and height (default)
-2: Calculate w/h using the other dimension and the original
display aspect ratio.
-3: Calculate w/h using the other dimension and the original video
aspect ratio.
EXAMPLE:
-
- dsize=800:-2
- Specifies a display resolution of 800x600 for a 4/3 aspect
video, or 800x450 for a 16/9 aspect video.
- s
- Modifies width and height according to original aspect ratios.
- -1: Ignore original aspect ratio (default).
0: Keep display aspect ratio by using <w> and <h> as
maximum resolution.
1: Keep display aspect ratio by using <w> and <h> as
minimum resolution.
2: Keep video aspect ratio by using <w> and <h> as
maximum resolution.
3: Keep video aspect ratio by using <w> and <h> as
minimum resolution.
EXAMPLE:
-
- dsize=800:600:0
- Specifies a display resolution of at most 800x600, or smaller,
in order to keep aspect.
- s
- Rounds up to make both width and height divisible by <r>
(default: 1).
- yuy2
- Forces software YV12/:I420/:422P to YUY2 conversion. Useful for
video cards/:drivers with slow YV12 but fast YUY2 support.
- yvu9
- Forces software YVU9 to YV12 colorspace conversion. Deprecated
in favor of the software scaler.
- yuvcsp
- Clamps YUV color values to the CCIR 601 range without doing
real conversion.
- rgb2bgr[=swap]
- RGB 24/32 <-> BGR 24/32 colorspace conversion.
-
- s
- Also perform R <-> B swapping.
- palette
- RGB/BGR 8 -> 15/16/24/32bpp colorspace conversion using
palette.
- format[=fourcc]
- Restricts the colorspace for the next filter without doing any
conversion. Use together with the scale filter for a real
conversion.
NOTE: For a list of available formats see format=fmt=help.
-
- s
- format name like rgb15, bgr24, yv12, etc (default:
yuy2)
- noformat[=fourcc]
- Restricts the colorspace for the next filter without doing any
conversion. Unlike the format filter, this will allow any
colorspace except the one you specify.
NOTE: For a list of available formats see noformat=fmt=help.
-
- s
- format name like rgb15, bgr24, yv12, etc (default:
yv12)
- pp[=filter1[:option1[:option2...]]/[-]filter2...] (also see
-pphelp)
- Enables the specified chain of postprocessing subfilters.
Subfilters must be separated by '/' and can be disabled by
prepending a '-'. Each subfilter and some options have a short and
a long name that can be used interchangeably, i.e. dr/dering are
the same. All subfilters share common options to determine their
scope:
-
- s
- Automatically switch the subfilter off if the CPU is too slow.
- s
- Do chrominance filtering, too (default).
- s
- Do luminance filtering only (no chrominance).
- s
- Do chrominance filtering only (no luminance).
-
NOTE: -pphelp shows a list of available subfilters.
Available subfilters are
-
- s
- horizontal deblocking filter
- <difference>: Difference factor where higher values mean
more deblocking (default: 32).
<flatness>: Flatness threshold where lower values mean more
deblocking (default: 39).
- s
- vertical deblocking filter
- <difference>: Difference factor where higher values mean
more deblocking (default: 32).
<flatness>: Flatness threshold where lower values mean more
deblocking (default: 39).
- s
- accurate horizontal deblocking filter
- <difference>: Difference factor where higher values mean
more deblocking (default: 32).
<flatness>: Flatness threshold where lower values mean more
deblocking (default: 39).
- s
- accurate vertical deblocking filter
- <difference>: Difference factor where higher values mean
more deblocking (default: 32).
<flatness>: Flatness threshold where lower values mean more
deblocking (default: 39).
The horizontal and vertical deblocking filters share the
difference and flatness values so you cannot set different
horizontal and vertical thresholds.
- s
- experimental horizontal deblocking filter
- s
- experimental vertical deblocking filter
- s
- deringing filter
- s
- temporal noise reducer
- <threshold1>: larger -> stronger filtering
<threshold2>: larger -> stronger filtering
<threshold3>: larger -> stronger filtering
- s
- automatic brightness / contrast correction
- f/fullyrange: Stretch luminance to (0-255).
- s
- Linear blend deinterlacing filter that deinterlaces the given
block by filtering all lines with a (1 2 1) filter.
- s
- Linear interpolating deinterlacing filter that deinterlaces the
given block by linearly interpolating every second line.
- s
- Cubic interpolating deinterlacing filter deinterlaces the given
block by cubically interpolating every second line.
- s
- Median deinterlacing filter that deinterlaces the given block
by applying a median filter to every second line.
- s
- FFmpeg deinterlacing filter that deinterlaces the given block
by filtering every second line with a (-1 4 2 4 -1) filter.
- s
- Vertically applied FIR lowpass deinterlacing filter that
deinterlaces the given block by filtering all lines with a (-1 2 6
2 -1) filter.
- s
- Overrides the quantizer table from the input with the constant
quantizer you specify.
- <quantizer>: quantizer to use
- s
- default pp filter combination (hb:a,vb:a,dr:a)
- s
- fast pp filter combination (h1:a,v1:a,dr:a)
- s
- high quality pp filter combination
(ha:a:128:7,va:a,dr:a)
-
EXAMPLE:
-
- s
- horizontal and vertical deblocking, deringing and automatic
brightness/:contrast
- s
- default filters without brightness/:contrast correction
- s
- Enable default filters & temporal denoiser.
- s
- Horizontal deblocking on luminance only, and switch vertical
deblocking on or off automatically depending on available CPU
time.
- spp[=quality[:qp[:mode]]]
- Simple postprocessing filter that compresses and decompresses
the image at several (or - in the case of quality level 6 - all)
shifts and averages the results.
-
- s
- 0-6 (default: 3)
- s
- Force quantization parameter (default: 0, use QP from video).
- s
- 0: hard thresholding (default)
1: soft thresholding (better deringing, but blurrier)
4: like 0, but also use B-frames' QP (may cause flicker)
5: like 1, but also use B-frames' QP (may cause flicker)
- uspp[=quality[:qp]]
- Ultra simple & slow postprocessing filter that compresses
and decompresses the image at several (or - in the case of quality
level 8 - all) shifts and averages the results. The way this
differs from the behavior of spp is that uspp actually encodes
& decodes each case with libavcodec Snow, whereas spp uses a
simplified intra only 8x8 DCT similar to MJPEG.
-
- s
- 0-8 (default: 3)
- s
- Force quantization parameter (default: 0, use QP from
video).
- fspp[=quality[:qp[:strength[:bframes]]]]
- faster version of the simple postprocessing filter
-
- s
- 4-5 (equivalent to spp; default: 4)
- s
- Force quantization parameter (default: 0, use QP from video).
- s
- Filter strength, lower values mean more details but also more
artifacts, while higher values make the image smoother but also
blurrier (default: 0 - PSNR optimal).
- s
- 0: do not use QP from B-frames (default)
1: use QP from B-frames too (may cause flicker)
- pp7[=qp[:mode]]
- Variant of the spp filter, similar to spp=6 with 7 point DCT
where only the center sample is used after IDCT.
-
- s
- Force quantization parameter (default: 0, use QP from video).
- s
- 0: hard thresholding
1: soft thresholding (better deringing, but blurrier)
2: medium thresholding (default, good results)
- qp=equation
- quantization parameter (QP) change filter
-
- s
- some equation like "2+2*sin(PI*qp)"
- test
- Generate various test patterns.
- rgbtest
- Generate an RGB test pattern useful for detecting RGB vs BGR
issues. You should see a red, green and blue stripe from top to
bottom.
- lavc[=quality:fps]
- Fast software YV12 to MPEG-1 conversion with libavcodec for use
with DVB/:DXR3/:IVTV. Faster and of better quality than -vf fame.
-
- s
-
- 1-31: fixed qscale
32-: fixed bitrate in kbits
- s
- force output fps (float value) (default: 0, autodetect based on
height)
- fame
- Fast software YV12 to MPEG-1 conversion with libfame for use
with DVB/:DXR3/:IVTV.
- dvbscale[=aspect]
- Set up optimal scaling for DVB cards, scaling the x axis in
hardware and calculating the y axis scaling in software to keep
aspect. Only useful together with expand and scale.
-
- s
- Control aspect ratio, calculate as DVB_HEIGHT*ASPECTRATIO
(default: 576*4/3=768), set it to 576*(16/9)=1024 for a 16:9
TV.
- EXAMPLE:
-
- s
- FIXME: Explain what this does.
- noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
- Adds noise.
-
- s
- luma noise
- s
- chroma noise
- s
- uniform noise (gaussian otherwise)
- s
- temporal noise (noise pattern changes between frames)
- s
- averaged temporal noise (smoother, but a lot slower)
- s
- high quality (slightly better looking, slightly slower)
- s
- mix random noise with a (semi)regular pattern
- denoise3d[=luma:chroma:time]
- This filter aims to reduce image noise producing smooth images
and making still images really still (This should enhance
compressibility.).
-
- s
- spatial luma strength (default: 4)
- s
- spatial chroma strength (default: 3)
- s
- temporal strength (default: 6)
- hqdn3d[=luma:chroma:time]
- High precision/:quality version of the denoise3d filter.
Parameters and usage are the same.
- eq[=brightness:contrast] (OBSOLETE)
- Software equalizer with interactive controls just like the
hardware equalizer, for cards/:drivers that do not support
brightness and contrast controls in hardware. Might also be useful
with MEncoder, either for fixing poorly captured movies, or for
slightly reducing contrast to mask artifacts and get by with lower
bitrates.
-
- s
- initial brightness
- s
- initial contrast
-
eq2[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]
- Alternative software equalizer that uses lookup tables (very
slow), allowing gamma correction in addition to simple brightness
and contrast adjustment. Note that it uses the same MMX optimized
code as -vf eq if all gamma values are 1.0. The parameters are
given as floating point values.
-
- s
- initial gamma value (default: 1.0)
- s
- initial contrast, where negative values result in a negative
image (default: 1.0)
- s
- initial brightness (default: 0.0)
- s
- initial saturation (default: 1.0)
- s
- gamma value for the red component (default: 1.0)
- s
- gamma value for the green component (default: 1.0)
- s
- gamma value for the blue component (default: 1.0)
- s
- The weight parameter can be used to reduce the effect of a high
gamma value on bright image areas, e.g. keep them from getting
overamplified and just plain white. A value of 0.0 turns the gamma
correction all the way down while 1.0 leaves it at its full
strength (default: 1.0).
- hue[=hue:saturation]
- Software equalizer with interactive controls just like the
hardware equalizer, for cards/:drivers that do not support hue and
saturation controls in hardware.
-
- s
- initial hue (default: 0.0)
- s
- initial saturation, where negative values result in a negative
chroma (default: 1.0)
- halfpack[=f]
- Convert planar YUV 4:2:0 to half-height packed 4:2:2,
downsampling luma but keeping all chroma samples. Useful for output
to low-resolution display devices when hardware downscaling is poor
quality or is not available. Can also be used as a primitive
luma-only deinterlacer with very low CPU usage.
-
- s
- By default, halfpack averages pairs of lines when downsampling.
Any value different from 0 or 1 gives the default (averaging)
behavior.
- 0: Only use even lines when downsampling.
1: Only use odd lines when downsampling.
- ilpack[=mode]
- When interlaced video is stored in YUV 4:2:0 formats, chroma
interlacing does not line up properly due to vertical downsampling
of the chroma channels. This filter packs the planar 4:2:0 data
into YUY2 (4:2:2) format with the chroma lines in their proper
locations, so that in any given scanline, the luma and chroma data
both come from the same field.
-
- s
- Select the sampling mode.
- 0: nearest-neighbor sampling, fast but incorrect
1: linear interpolation (default)
- harddup
- Only useful with MEncoder. If harddup is used when encoding, it
will force duplicate frames to be encoded in the output. This uses
slightly more space, but is necessary for output to MPEG files or
if you plan to demux and remux the video stream after encoding.
Should be placed at or near the end of the filter chain unless you
have a good reason to do otherwise.
- softskip
- Only useful with MEncoder. Softskip moves the frame skipping
(dropping) step of encoding from before the filter chain to some
point during the filter chain. This allows filters which need to
see all frames (inverse telecine, temporal denoising, etc.) to
function properly. Should be placed after the filters which need to
see all frames and before any subsequent filters that are
CPU-intensive.
- decimate[=max:hi:lo:frac]
- Drops frames that do not differ greatly from the previous frame
in order to reduce framerate. The main use of this filter is for
very-low-bitrate encoding (e.g. streaming over dialup modem), but
it could in theory be used for fixing movies that were
inverse-telecined incorrectly.
-
- s
- Sets the maximum number of consecutive frames which can be
dropped (if positive), or the minimum interval between dropped
frames (if negative).
- s
- A frame is a candidate for dropping if no 8x8 region differs by
more than a threshold of <hi>, and if not more than
<frac> portion (1 meaning the whole image) differs by more
than a threshold of <lo>. Values of <hi> and <lo>
are for 8x8 pixel blocks and represent actual pixel value
differences, so a threshold of 64 corresponds to 1 unit of
difference for each pixel, or the same spread out differently over
the block.
- dint[=sense:level]
- The drop-deinterlace (dint) filter detects and drops the first
from a set of interlaced video frames.
-
- s
- relative difference between neighboring pixels (default: 0.1)
- s
- What part of the image has to be detected as interlaced to drop
the frame (default: 0.15).
- lavcdeint (OBSOLETE)
- FFmpeg deinterlacing filter, same as -vf pp=fd
- kerndeint[=thresh[:map[:order[:sharp[:twoway]]]]]
- Donald Graft's adaptive kernel deinterlacer. Deinterlaces parts
of a video if a configurable threshold is exceeded.
-
- s
- threshold (default: 10)
- s
-
- 0: Ignore pixels exceeding the threshold (default).
1: Paint pixels exceeding the threshold white.
- s
-
- 0: Leave fields alone (default).
1: Swap fields.
- s
-
- 0: Disable additional sharpening (default).
1: Enable additional sharpening.
- s
-
- 0: Disable twoway sharpening (default).
1: Enable twoway sharpening.
- unsharp[=l|cWxH:amount[:l|cWxH:amount]]
- unsharp mask / gaussian blur
-
- s
- Apply effect on luma component.
- s
- Apply effect on chroma components.
- s
- width and height of the matrix, odd sized in both directions
(min = 3x3, max = 13x11 or 11x13, usually something between 3x3 and
7x7)
- s
- Relative amount of sharpness/:blur to add to the image (a sane
range should be -1.5-1.5).
- <0: blur
>0: sharpen
- swapuv
- Swap U & V plane.
- il[=d|i][s][:[d|i][s]]
- (De)interleaves lines. The goal of this filter is to add the
ability to process interlaced images pre-field without
deinterlacing them. You can filter your interlaced DVD and play it
on a TV without breaking the interlacing. While deinterlacing (with
the postprocessing filter) removes interlacing permanently (by
smoothing, averaging, etc) deinterleaving splits the frame into 2
fields (so called half pictures), so you can process (filter) them
independently and then re-interleave them.
-
- s
- deinterleave (placing one above the other)
- s
- interleave
- s
- swap fields (exchange even & odd lines)
- fil[=i|d]
- (De)interleaves lines. This filter is very similar to the il
filter but much faster, the main disadvantage is that it does not
always work. Especially if combined with other filters it may
produce randomly messed up images, so be happy if it works but do
not complain if it does not for your combination of filters.
-
- s
- Deinterleave fields, placing them side by side.
- s
- Interleave fields again (reversing the effect of
fil=d).
- field[=n]
- Extracts a single field from an interlaced image using stride
arithmetic to avoid wasting CPU time. The optional argument n
specifies whether to extract the even or the odd field (depending
on whether n is even or odd).
- detc[=var1=value1:var2=value2:...]
- Attempts to reverse the 'telecine' process to recover a clean,
non-interlaced stream at film framerate. This was the first and
most primitive inverse telecine filter to be added to
MPlayer/:MEncoder. It works by latching onto the telecine 3:2
pattern and following it as long as possible. This makes it
suitable for perfectly-telecined material, even in the presence of
a fair degree of noise, but it will fail in the presence of complex
post-telecine edits. Development on this filter is no longer taking
place, as ivtc, pullup, and filmdint are better for most
applications. The following arguments (see syntax above) may be
used to control detc's behavior:
-
- s
- Set the frame dropping mode.
- 0: Do not drop frames to maintain fixed output framerate
(default).
1: Always drop a frame when there have been no drops or telecine
merges in the past 5 frames.
2: Always maintain exact 5:4 input to output frame ratio.
NOTE: Use mode 1 or 2 with MEncoder.
- s
- Analysis mode.
- 0: Fixed pattern with initial frame number specified by
<fr>.
1: aggressive search for telecine pattern (default)
- s
- Set initial frame number in sequence. 0-2 are the three clean
progressive frames; 3 and 4 are the two interlaced frames. The
default, -1, means 'not in telecine sequence'. The number specified
here is the type for the imaginary previous frame before the movie
starts.
- s
- Threshold values to be used in certain modes.
- ivtc[=1]
- Experimental 'stateless' inverse telecine filter. Rather than
trying to lock on to a pattern like the detc filter does, ivtc
makes its decisions independently for each frame. This will give
much better results for material that has undergone heavy editing
after telecine was applied, but as a result it is not as forgiving
of noisy input, for example TV capture. The optional parameter
(ivtc=1) corresponds to the dr=1 option for the detc filter, and
should be used with MEncoder but not with MPlayer. As with detc,
you must specify the correct output framerate (-ofps 24000/1001)
when using MEncoder. Further development on ivtc has stopped, as
the pullup and filmdint filters appear to be much more accurate.
- pullup[=jl:jr:jt:jb:sb:mp]
- Third-generation pulldown reversal (inverse telecine) filter,
capable of handling mixed hard-telecine, 24000/1001 fps
progressive, and 30000/1001 fps progressive content. The pullup
filter is designed to be much more robust than detc or ivtc, by
taking advantage of future context in making its decisions. Like
ivtc, pullup is stateless in the sense that it does not lock onto a
pattern to follow, but it instead looks forward to the following
fields in order to identify matches and rebuild progressive frames.
It is still under development, but believed to be quite accurate.
The jl, jr, jt, and jb options set the amount of "junk" to ignore
at the left, right, top, and bottom of the image, respectively.
Left/:right are in units of 8 pixels, while top/:bottom are in
units of 2 lines. The default is 8 pixels on each side. Setting the
sb (strict breaks) option to 1 will reduce the chances of pullup
generating an occasional mismatched frame, but it may also cause an
excessive number of frames to be dropped during high motion
sequences. Conversely, setting it to -1 will make pullup match
fields more easily. This may help processing of video where there
is slight blurring between the fields, but may also cause there to
be interlaced frames in the output. The mp (metric plane) option
may be set to 1 or 2 to use a chroma plane instead of the luma
plane for doing pullup's computations. This may improve accuracy on
very clean source material, but more likely will decrease accuracy,
especially if there is chroma noise (rainbow effect) or any
grayscale video. The main purpose of setting mp to a chroma plane
is to reduce CPU load and make pullup usable in realtime on slow
machines.
NOTE: Always follow pullup with the softskip filter when
encoding to ensure that pullup is able to see each frame. Failure
to do so will lead to incorrect output and will usually crash, due
to design limitations in the codec/:filter layer.
- filmdint[=options]
- Inverse telecine filter, similar to the pullup filter above. It
is designed to handle any pulldown pattern, including mixed soft
and hard telecine and limited support for movies that are slowed
down or sped up from their original framerate for TV. Only the luma
plane is used to find the frame breaks. If a field has no match, it
is deinterlaced with simple linear approximation. If the source is
MPEG-2, this must be the first filter to allow access to the
field-flags set by the MPEG-2 decoder. Depending on the source
MPEG, you may be fine ignoring this advice, as long as you do not
see lots of "Bottom-first field" warnings. With no options it does
normal inverse telecine, and should be used together with mencoder
-fps 30000/1001 -ofps 24000/1001. When this filter is used with
mplayer, it will result in an uneven framerate during playback, but
it is still generally better than using pp=lb or no deinterlacing
at all. Multiple options can be specified separated by /.
-
- s
- Just like the crop filter, but faster, and works on mixed hard
and soft telecined content as well as when y is not a multiple of
4. If x or y would require cropping fractional pixels from the
chroma planes, the crop area is extended. This usually means that x
and y must be even.
- s
- For each ifps input frames the filter will output ofps frames.
The ratio of ifps/:ofps should match the -fps/-ofps ratio. This
could be used to filter movies that are broadcast on TV at a frame
rate different from their original framerate.
- s
- If n is nonzero, the chroma plane is copied unchanged. This is
useful for YV12 sampled TV, which discards one of the chroma
fields.
- s
- On x86, if n=1, use MMX2 optimized functions, if n=2, use
3DNow! optimized functions, otherwise, use plain C. If this option
is not specified, MMX2 and 3DNow! are auto-detected, use this
option to override auto-detection.
- s
- The larger n will speed up the filter at the expense of
accuracy. The default value is n=3. If n is odd, a frame
immediately following a frame marked with the REPEAT_FIRST_FIELD
MPEG flag is assumed to be progressive, thus filter will not spend
any time on soft-telecined MPEG-2 content. This is the only effect
of this flag if MMX2 or 3DNow! is available. Without MMX2 and
3DNow, if n=0 or 1, the same calculations will be used as with n=2
or 3. If n=2 or 3, the number of luma levels used to find the frame
breaks is reduced from 256 to 128, which results in a faster filter
without losing much accuracy. If n=4 or 5, a faster, but much less
accurate metric will be used to find the frame breaks, which is
more likely to misdetect high vertical detail as interlaced
content.
- s
- If n is nonzero, print the detailed metrics for each frame.
Useful for debugging.
- s
- Deinterlace threshold. Used during de-interlacing of unmatched
frames. Larger value means less deinterlacing, use n=256 to
completely turn off deinterlacing. Default is n=8.
- s
- Threshold for comparing a top and bottom fields. Defaults to
128.
- s
- Threshold to detect temporal change of a field. Default is 128.
- s
- Sum of Absolute Difference threshold, default is 64.
- softpulldown
- This filter works only correct with MEncoder and acts on the
MPEG-2 flags used for soft 3:2 pulldown (soft telecine). If you
want to use the ivtc or detc filter on movies that are partly soft
telecined, inserting this filter before them should make them more
reliable.
- divtc[=options]
- Inverse telecine for deinterlaced video. If 3:2-pulldown
telecined video has lost one of the fields or is deinterlaced using
a method that keeps one field and interpolates the other, the
result is a juddering video that has every fourth frame duplicated.
This filter is intended to find and drop those duplicates and
restore the original film framerate. When using this filter, you
must specify -ofps that is 4/5 of the fps of the input file and
place the softskip later in the filter chain to make sure that
divtc sees all the frames. Two different modes are available: One
pass mode is the default and is straightforward to use, but has the
disadvantage that any changes in the telecine phase (lost frames or
bad edits) cause momentary judder until the filter can resync
again. Two pass mode avoids this by analyzing the whole video
beforehand so it will have forward knowledge about the phase
changes and can resync at the exact spot. These passes do
not correspond to pass one and two of the encoding process.
You must run an extra pass using divtc pass one before the actual
encoding throwing the resulting video away. Use -nosound -ovc raw
-o /dev/null to avoid wasting CPU power for this pass. You may add
something like crop=2:2:0:0 after divtc to speed things up even
more. Then use divtc pass two for the actual encoding. If you use
multiple encoder passes, use divtc pass two for all of them. The
options are:
-
- s
- Use two pass mode.
- s
- Set the two pass log filename (default: "framediff.log").
- s
- Set the minimum strength the telecine pattern must have for the
filter to believe in it (default: 0.5). This is used to avoid
recognizing false pattern from the parts of the video that are very
dark or very still.
- s
- Set the number of past frames to look at when searching for
pattern (default: 30). Longer window improves the reliability of
the pattern search, but shorter window improves the reaction time
to the changes in the telecine phase. This only affects the one
pass mode. The two pass mode currently uses fixed window that
extends to both future and past.
- s
- Sets the initial telecine phase for one pass mode (default: 0).
The two pass mode can see the future, so it is able to use the
correct phase from the beginning, but one pass mode can only guess.
It catches the correct phase when it finds it, but this option can
be used to fix the possible juddering at the beginning. The first
pass of the two pass mode also uses this, so if you save the output
from the first pass, you get constant phase result.
- s
- Set the deghosting threshold (0-255 for one pass mode, -255-255
for two pass mode, default 0). If nonzero, deghosting mode is used.
This is for video that has been deinterlaced by blending the fields
together instead of dropping one of the fields. Deghosting
amplifies any compression artifacts in the blended frames, so the
parameter value is used as a threshold to exclude those pixels from
deghosting that differ from the previous frame less than specified
value. If two pass mode is used, then negative value can be used to
make the filter analyze the whole video in the beginning of pass-2
to determine whether it needs deghosting or not and then select
either zero or the absolute value of the parameter. Specify this
option for pass-2, it makes no difference on pass-1.
- phase[=t|b|p|a|u|T|B|A|U][:v]
- Delay interlaced video by one field time so that the field
order changes. The intended use is to fix PAL movies that have been
captured with the opposite field order to the film-to-video
transfer. The options are:
-
- s
- Capture field order top-first, transfer bottom-first. Filter
will delay the bottom field.
- s
- Capture bottom-first, transfer top-first. Filter will delay the
top field.
- s
- Capture and transfer with the same field order. This mode only
exists for the documentation of the other options to refer to, but
if you actually select it, the filter will faithfully do nothing
;-)
- s
- Capture field order determined automatically by field flags,
transfer opposite. Filter selects among t and b modes on a frame by
frame basis using field flags. If no field information is
available, then this works just like u.
- s
- Capture unknown or varying, transfer opposite. Filter selects
among t and b on a frame by frame basis by analyzing the images and
selecting the alternative that produces best match between the
fields.
- s
- Capture top-first, transfer unknown or varying. Filter selects
among t and p using image analysis.
- s
- Capture bottom-first, transfer unknown or varying. Filter
selects among b and p using image analysis.
- s
- Capture determined by field flags, transfer unknown or varying.
Filter selects among t, b and p using field flags and image
analysis. If no field information is available, then this works
just like U. This is the default mode.
- s
- Both capture and transfer unknown or varying. Filter selects
among t, b and p using image analysis only.
- s
- Verbose operation. Prints the selected mode for each frame and
the average squared difference between fields for t, b, and p
alternatives.
- telecine[=start]
- Apply 3:2 'telecine' process to increase framerate by 20%. This
most likely will not work correctly with MPlayer, but it can be
used with 'mencoder -fps 30000/1001 -ofps 30000/1001 -vf telecine'.
Both fps options are essential! (A/V sync will break if they are
wrong.) The optional start parameter tells the filter where in the
telecine pattern to start (0-3).
- tinterlace[=mode]
- Temporal field interlacing - merge pairs of frames into an
interlaced frame, halving the framerate. Even frames are moved into
the upper field, odd frames to the lower field. This can be used to
fully reverse the effect of the tfields filter (in mode 0).
Available modes are:
-
- s
- Move odd frames into the upper field, even into the lower
field, generating a full-height frame at half framerate.
- s
- Only output odd frames, even frames are dropped; height
unchanged.
- s
- Only output even frames, odd frames are dropped; height
unchanged.
- s
- Expand each frame to full height, but pad alternate lines with
black; framerate unchanged.
- s
- Interleave even lines from even frames with odd lines from odd
frames. Generates full-height frame at half framerate.
- tfields[=mode[:field_dominance]]
- Temporal field separation - split fields into frames, doubling
the output framerate. Like the telecine filter, tfields will only
work properly with MEncoder, and only if both -fps and -ofps are
set to the desired (double) framerate!
-
- s
- 0: Leave fields unchanged (will jump/:flicker).
1: Interpolate missing lines. (The algorithm used might not be so
good.)
2: Translate fields by 1/4 pixel with linear interpolation (no
jump).
4: Translate fields by 1/4 pixel with 4tap filter (higher quality)
(default).
- s
- -1: auto (default) Only works if the decoder exports the
appropriate information and no other filters which discard that
information come before tfields in the filter chain, otherwise it
falls back to 0 (top field first).
0: top field first
1: bottom field first
- yadif=[mode[:field_dominance]]
- Yet another deinterlacing filter
-
- s
- 0: Output 1 frame for each frame.
1: Output 1 frame for each field.
2: Like 0 but skips spatial interlacing check.
3: Like 1 but skips spatial interlacing check.
- s
- Operates like tfields.
- mcdeint=[mode[:parity[:qp]]]
- Motion compensating deinterlacer. It needs one field per frame
as input and must thus be used together with tfields=1 or yadif=1/3
or equivalent.
-
- s
- 0: fast
1: medium
2: slow, iterative motion estimation
3: extra slow, like 2 plus multiple reference frames
- s
- 0 or 1 selects which field to use (note: no autodetection
yet!).
- s
- Higher values should result in a smoother motion vector field
but less optimal individual vectors.
- boxblur=radius:power[:radius:power]
- box blur
-
- s
- blur filter strength
- s
- number of filter applications
- sab=radius:pf:colorDiff[:radius:pf:colorDiff]
- shape adaptive blur
-
- s
- blur filter strength (~0.1-4.0) (slower if larger)
- s
- prefilter strength (~0.1-2.0)
- s
- maximum difference between pixels to still be considered
(~0.1-100.0)
-
smartblur=radius:strength:threshold[:radius:strength:threshold]
- smart blur
-
- s
- blur filter strength (~0.1-5.0) (slower if larger)
- s
- blur (0.0-1.0) or sharpen (-1.0-0.0)
- s
- filter all (0), filter flat areas (0-30) or filter edges
(-30-0)
- perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
- Correct the perspective of movies not filmed perpendicular to
the screen.
-
- s
- coordinates of the top left, top right, bottom left, bottom
right corners
- s
- linear (0) or cubic resampling (1)
- 2xsai
- Scale and smooth the image with the 2x scale and interpolate
algorithm.
- 1bpp
- 1bpp bitmap to YUV/:BGR 8/:15/:16/:32 conversion
- down3dright[=lines]
- Reposition and resize stereoscopic images. Extracts both stereo
fields and places them side by side, resizing them to maintain the
original movie aspect.
-
- s
- number of lines to select from the middle of the image
(default: 12)
- bmovl=hidden:opaque:fifo
- The bitmap overlay filter reads bitmaps from a FIFO and
displays them on top of the movie, allowing some transformations on
the image. Also see TOOLS/bmovl-test.c for a small bmovl test
program.
-
- s
- Set the default value of the 'hidden' flag (0=visible,
1=hidden).
- s
- Set the default value of the 'opaque' flag (0=transparent,
1=opaque).
- s
- path/:filename for the FIFO (named pipe connecting 'mplayer -vf
bmovl' to the controlling application)
- FIFO commands are:
-
- s
- followed by width*height*4 Bytes of raw RGBA32 data.
- s
- followed by width*height*4 Bytes of raw ABGR32 data.
- s
- followed by width*height*3 Bytes of raw RGB24 data.
- s
- followed by width*height*3 Bytes of raw BGR24 data.
- s
- Change alpha transparency of the specified area.
- s
- Clear area.
- s
- Disable all alpha transparency. Send "ALPHA 0 0 0 0 0" to
enable it again.
- s
- Hide bitmap.
- s
- Show bitmap.
- Arguments are:
-
- s
- image/area size
- s
- Start blitting at position x/y.
- s
- Set alpha difference. If you set this to -255 you can then send
a sequence of ALPHA-commands to set the area to -225, -200, -175
etc for a nice fade-in-effect! ;)
- 0: same as original
255: Make everything opaque.
-255: Make everything transparent.
- s
- Clear the framebuffer before blitting.
- 0: The image will just be blitted on top of the old one, so you
do not need to send 1.8MB of RGBA32 data every time a small part of
the screen is updated.
1: clear
- framestep=I|[i]step
- Renders only every nth frame or every intra frame (keyframe).
If you call the filter with I (uppercase) as the parameter, then
only keyframes are rendered. For DVDs it generally means one
in every 15/12 frames (IBBPBBPBBPBBPBB), for AVI it means every
scene change or every keyint value (see -lavcopts keyint= value if
you use MEncoder to encode the video).
When a keyframe is found, an 'I!' string followed by a newline
character is printed, leaving the current line of MPlayer/:MEncoder
output on the screen, because it contains the time (in seconds) and
frame number of the keyframe (You can use this information to split
the AVI.).
If you call the filter with a numeric parameter 'step' then only
one in every 'step' frames is rendered.
If you put an 'i' (lowercase) before the number then an 'I!' is
printed (like the I parameter).
If you give only the i then nothing is done to the frames, only
I! is printed.
- tile=xtiles:ytiles:output:start:delta
- Tile a series of images into a single, bigger image. If you
omit a parameter or use a value less than 0, then the default value
is used. You can also stop when you are satisfied (... -vf
tile=10:5 ...). It is probably a good idea to put the scale filter
before the tile :-)
The parameters are:
-
- s
- number of tiles on the x axis (default: 5)
- s
- number of tiles on the y axis (default: 5)
- s
- Render the tile when 'output' number of frames are reached,
where 'output' should be a number less than xtile * ytile. Missing
tiles are left blank. You could, for example, write an 8 * 7 tile
every 50 frames to have one image every 2 seconds @ 25 fps.
- s
- outer border thickness in pixels (default: 2)
- s
- inner border thickness in pixels (default: 4)
- delogo[=x:y:w:h:t]
- Suppresses a TV station logo by a simple interpolation of the
surrounding pixels. Just set a rectangle covering the logo and
watch it disappear (and sometimes something even uglier appear -
your mileage may vary).
-
- s
- top left corner of the logo
- s
- width and height of the cleared rectangle
- s
- Thickness of the fuzzy edge of the rectangle (added to w and
h). When set to -1, a green rectangle is drawn on the screen to
simplify finding the right x,y,w,h parameters.
- remove-logo=/path/to/logo_bitmap_file_name.pgm
- Suppresses a TV station logo, using a PGM or PPM image file to
determine which pixels comprise the logo. The width and height of
the image file must match those of the video stream being
processed. Uses the filter image and a circular blur algorithm to
remove the logo.
-
- s
- [path] + filename of the filter image.
- zrmjpeg[=options]
- Software YV12 to MJPEG encoder for use with the zr2 video
output device.
-
- s
- These options set the maximum width and height the zr card can
handle (the MPlayer filter layer currently cannot query those).
- s
- Use these options to set maxwidth and maxheight automatically
to the values known for card/:mode combo. For example, valid
options are: dc10-PAL and buz-NTSC (default: dc10+PAL)
- s
- Select color or black and white encoding. Black and white
encoding is faster. Color is the default.
- s
- Horizontal decimation 1, 2 or 4.
- s
- Vertical decimation 1, 2 or 4.
- s
- Set JPEG compression quality [BEST] 1 - 20 [VERY BAD].
- s
- By default, decimation is only performed if the Zoran hardware
can upscale the resulting MJPEG images to the original size. The
option fd instructs the filter to always perform the requested
decimation (ugly).
- screenshot
- Allows acquiring screenshots of the movie using slave mode
commands that can be bound to keypresses. See the slave mode
documentation and the INTERACTIVE CONTROL section for details.
Files named 'shotNNNN.png' will be saved in the working directory,
using the first available number - no files will be overwritten.
The filter has no overhead when not used and accepts an arbitrary
colorspace, so it is safe to add it to the configuration file.
- ass
- Moves SSA/ASS subtitle rendering to an arbitrary point in the
- Moves SSA/ASS subtitle rendering to an arbitrary point in the
filter chain. Only useful with the -ass option.
- blackframe[=amount:threshold]
- Detect frames that are (almost) completely black. Can be useful
to detect chapter transitions or commercials. Output lines consist
of the frame number of the detected frame, the percentage of
blackness, the frame type and the frame number of the last
encountered keyframe.
-
- s
- Percentage of the pixels that have to be below the threshold
(default: 98).
- s
- Threshold below which a pixel value is considered black
(default: 32).
GENERAL ENCODING OPTIONS (MENCODER ONLY)
- -audio-delay <any floating-point number>
- Delays either audio or video by setting a delay field in the
header (default: 0.0). This does not delay either stream while
encoding, but the player will see the delay field and compensate
accordingly. Positive values delay the audio, and negative values
delay the video. Note that this is the exact opposite of the -delay
option. For example, if a video plays correctly with -delay 0.2,
you can fix the video with MEncoder by using -audio-delay -0.2.
Currently, this option only works with the default muxer (-of
avi). If you are using a different muxer, then you must use -delay
instead.
- -audio-density <1-50>
- Number of audio chunks per second (default is 2 for 0.5s long
audio chunks).
NOTE: CBR only, VBR ignores this as it puts each packet in a
new chunk.
- -audio-preload <0.0-2.0>
- Sets up the audio buffering time interval (default: 0.5s).
- -fafmttag <format>
- Can be used to override the audio format tag of the output
file.
EXAMPLE:
-
- s
- Will have the output file contain 0x55 (mp3) as audio format
tag.
- -ffourcc <fourcc>
- Can be used to override the video fourcc of the output file.
EXAMPLE:
-
- s
- Will have the output file contain 'div3' as video
fourcc.
- -force-avi-aspect <0.2-3.0>
- Override the aspect stored in the AVI OpenDML vprp header. This
can be used to change the aspect ratio with '-ovc copy'.
- -frameno-file <filename> (DEPRECATED)
- Specify the name of the audio file with framenumber mappings
created in the first (audio only) pass of a special three pass
encoding mode.
NOTE: Using this mode will most likely give you A-V desync.
Do not use it. It is kept for backwards compatibility only and will
possibly be removed in a future version.
- -hr-edl-seek
- Use a more precise, but much slower method for skipping areas.
Areas marked for skipping are not seeked over, instead all frames
are decoded, but only the necessary frames are encoded. This allows
starting at non-keyframe boundaries.
NOTE: Not guaranteed to work right with '-ovc copy'.
- -info <option1:option2:...> (AVI only)
- Specify the info header of the resulting AVI file.
Available options are:
-
- s
- Show this description.
- s
- title of the work
- title of the work
- s
- artist or author of the work
- s
- original work category
- s
- contents of the work
- s
- copyright information
- s
- original format of the digitized material
- s
- general comments about the work
- -noautoexpand
- Do not automatically insert the expand filter into the MEncoder
filter chain. Useful to control at which point of the filter chain
subtitles are rendered when hardcoding subtitles onto a movie.
subtitles are rendered when hardcoding subtitles onto a movie.
- -noencodedups
- Do not attempt to encode duplicate frames in duplicate; always
output zero-byte frames to indicate duplicates. Zero-byte frames
will be written anyway unless a filter or encoder capable of doing
duplicate encoding is loaded. Currently the only such filter is
harddup.
- -noodml (-of avi only)
- Do not write OpenDML index for AVI files >1GB.
- -noskip
- Do not skip frames.
- -o <filename>
- Outputs to the given filename.
If you want a default output filename, you can put this option in
the MEncoder config file.
- -oac <codec name>
- Encode with the given audio codec (no default set).
NOTE: Use -oac help to get a list of available audio codecs.
EXAMPLE:
-
- s
- no encoding, just streamcopy
- s
- Encode to uncompressed PCM.
- s
- Encode to MP3 (using LAME).
- s
- Encode with a libavcodec codec.
- -of <format> (BETA CODE!)
- Encode to the specified container format (default: AVI).
NOTE: Use -of help to get a list of available container
formats.
EXAMPLE:
-
- s
- Encode to AVI.
- s
- Encode to MPEG (also see -mpegopts).
- s
- Encode with libavformat muxers (also see -lavfopts).
- s
- raw video stream (no muxing - one video stream only)
- s
- raw audio stream (no muxing - one audio stream only)
- -ofps <fps>
- Specify a frames per second (fps) value for the output file,
which can be different from that of the source material. Must be
set for variable fps (ASF, some MOV) and progressive (30000/1001
fps telecined MPEG) files.
- -ovc <codec name>
- Encode with the given video codec (no default set).
NOTE: Use -ovc help to get a list of available video codecs.
EXAMPLE:
-
- s
- no encoding, just streamcopy
- s
- Encode to an arbitrary uncompressed format (use '-vf format' to
select).
- s
- Encode with a libavcodec codec.
- -passlogfile <filename>
- Dump first pass information to <filename> instead of the
default divx2pass.log in two pass encoding mode.
- -skiplimit <value>
- Specify the maximum number of frames that may be skipped after
encoding one frame (-noskiplimit for unlimited).
- -vobsubout <basename>
- Specify the basename for the output .idx and .sub files. This
turns off subtitle rendering in the encoded movie and diverts it to
turns off subtitle rendering in the encoded movie and diverts it to
VOBsub subtitle files.
VOBsub subtitle files.
- -vobsuboutid <langid>
- Specify the language two letter code for the subtitles. This
- Specify the language two letter code for the subtitles. This
overrides what is read from the DVD or the .ifo file.
- -vobsuboutindex <index>
- Specify the index of the subtitles in the output files
- Specify the index of the subtitles in the output files
(default: 0).
CODEC SPECIFIC ENCODING OPTIONS (MENCODER ONLY)
You can
specify codec specific encoding parameters using the following
syntax:
- -<codec>opts
<option1[=value],option2,...>
Where <codec> may be: lavc, xvidenc, lame, toolame,
twolame, nuv, xvfw, faac, x264enc, mpeg, lavf.
lame (-lameopts)
- help
- get help
- vbr=<0-4>
- variable bitrate method
-
- s
- cbr
- s
- mt
- s
- rh (default)
- s
- abr
- s
- mtrh
- abr
- average bitrate
- cbr
- constant bitrate Also forces CBR mode encoding on subsequent
ABR presets modes.
- br=<0-1024>
- bitrate in kbps (CBR and ABR only)
- q=<0-9>
- quality (0 - highest, 9 - lowest) (VBR only)
- aq=<0-9>
- algorithmic quality (0 - best/slowest, 9 - worst/fastest)
- ratio=<1-100>
- compression ratio
- vol=<0-10>
- audio input gain
- mode=<0-3>
- (default: auto)
-
- s
- stereo
- s
- joint-stereo
- s
- dualchannel
- s
- mono
- padding=<0-2>
-
-
- s
- none
- s
- all
- s
- adjust
- fast
- Switch on faster encoding on subsequent VBR presets modes. This
results in slightly lower quality and higher bitrates.
- highpassfreq=<freq>
- Set a highpass filtering frequency in Hz. Frequencies below the
specified one will be cut off. A value of -1 will disable
filtering, a value of 0 will let LAME choose values automatically.
- lowpassfreq=<freq>
- Set a lowpass filtering frequency in Hz. Frequencies above the
specified one will be cut off. A value of -1 will disable
filtering, a value of 0 will let LAME choose values automatically.
- preset=<value>
- preset values
-
- s
- Print additional options and information about presets
settings.
- s
- VBR encoding, good quality, 150-180 kbps bitrate range
- s
- VBR encoding, high quality, 170-210 kbps bitrate range
- s
- VBR encoding, very high quality, 200-240 kbps bitrate range
- s
- CBR encoding, highest preset quality, 320 kbps bitrate
- s
- ABR encoding at average given kbps bitrate
- EXAMPLES:
-
- s
- suitable for most people and most music types and already quite
high quality
- s
- Encode with ABR presets at a 192 kbps forced constant bitrate.
- s
- Encode with ABR presets at a 172 kbps average bitrate.
- s
- for people with extremely good hearing and similar
equipment
toolame and twolame (-toolameopts and -twolameopts
respectively)
- br=<32-384>
- In CBR mode this parameter indicates the bitrate in kbps, when
in VBR mode it is the minimum bitrate allowed per frame. VBR mode
will not work with a value below 112.
- vbr=<-50-50> (VBR only)
- variability range; if negative the encoder shifts the average
bitrate towards the lower limit, if positive towards the higher.
When set to 0 CBR is used (default).
- maxvbr=<32-384> (VBR only)
- maximum bitrate allowed per frame, in kbps
- mode=<stereo | jstereo | mono | dual>
- (default: mono for 1-channel audio, stereo otherwise)
- psy=<-1-4>
- psychoacoustic model (default: 2)
- errprot=<0 | 1>
- Include error protection.
- debug=<0-10>
- debug level
faac (-faacopts)
- br=<bitrate>
- average bitrate in kbps (mutually exclusive with quality)
- quality=<1-1000>
- quality mode, the higher the better (mutually exclusive with
br)
- object=<1-4>
- object type complexity
-
- s
- MAIN (default)
- s
- LOW
- s
- SSR
- s
- LTP (extremely slow)
- mpeg=<2|4>
- MPEG version (default: 4)
- tns
- Enables temporal noise shaping.
- cutoff=<0-sampling_rate/2>
- cutoff frequency (default: sampling_rate/2)
- raw
- Stores the bitstream as raw payload with extradata in the
container header (default: 0, corresponds to ADTS). Do not set this
flag if not explicitly required or you will not be able to remux
the audio stream later on.
lavc (-lavcopts)
Many libavcodec (lavc for short) options
are tersely documented. Read the source for full details.
EXAMPLE:
-
- s
- acodec=<value>
- audio codec (default: mp2)
-
- s
- MPEG Layer 2
- s
- MPEG Layer 3
- s
- AC3
- s
- IMA Adaptive PCM (4bits per sample, 4:1 compression)
- s
- Experimental lossy/lossless codec
- abitrate=<value>
- audio bitrate in kbps (default: 224)
- atag=<value>
- Use the specified Windows audio format tag (e.g. atag=0x55).
- bit_exact
- Use only bit exact algorithms (except (I)DCT). Additionally
bit_exact disables several optimizations and thus should only be
used for regression tests, which need binary identical files even
if the encoder version changes. This also suppresses the user_data
header in MPEG-4 streams. Do not use this option unless you know
exactly what you are doing.
- threads=<1-8>
- Maximum number of threads to use (default: 1). May have a
slight negative effect on motion estimation.
- vcodec=<value>
- Employ the specified codec (default: mpeg4).
-
- s
- Motion JPEG
- s
- Lossless JPEG
- s
- H.261
- s
- H.263
- s
- H.263+
- s
- MPEG-4 (DivX 4/5)
- s
- DivX 3
- s
- MS MPEG4v2
- s
- Windows Media Video, version 1 (AKA WMV7)
- s
- Windows Media Video, version 2 (AKA WMV8)
- s
- an old RealVideo codec
- s
- MPEG-1 video
- s
- MPEG-2 video
- s
- HuffYUV
- s
- nonstandard 20% smaller HuffYUV using YV12
- s
- ASUS Video v1
- s
- ASUS Video v2
- s
- FFmpeg's lossless video codec
- s
- Sorenson H.263 used in Flash Video
- s
- Sony Digital Video
- s
- Apple Sorenson Video 1
- s
- FFmpeg's experimental wavelet-based codec
- vqmin=<1-31>
- minimum quantizer (pass 1/2)
-
- s
- Not recommended (much larger file, little quality difference
and weird side effects: msmpeg4, h263 will be very low quality,
ratecontrol will be confused resulting in lower quality and some
decoders will not be able to decode it).
- s
- Recommended for normal mpeg4/:mpeg1video encoding (default).
- s
- Recommended for h263(p)/:msmpeg4. The reason for preferring 3
over 2 is that 2 could lead to overflows. (This will be fixed for
h263(p) by changing the quantizer per MB in the future, msmpeg4
cannot be fixed as it does not support that.)
- lmin=<0.01-255.0>
- Minimum Lagrange multiplier for ratecontrol, you probably want
it to be equal to or lower than vqmin (default: 2.0).
- lmax=<0.01-255.0>
- maximum Lagrange multiplier for ratecontrol (default: 31.0)
- vqscale=<0-31>
- Constant quantizer /: constant quality encoding (selects fixed
quantizer mode). A lower value means better quality but larger
files (default: 0). In case of snow codec, value 0 means lossless
encoding. Since the other codecs do not support this, vqscale=0
will be ignored and variable quantizers are used, which is the
default. 1 is not recommended (see vqmin for details).
- vqmax=<1-31>
- Maximum quantizer (pass 1/2), 10-31 should be a sane range
(default: 31).
- mbqmin=<1-31>
- obsolete, use vqmin
- mbqmax=<1-31>
- obsolete, use vqmax
- vqdiff=<1-31>
- maximum quantizer difference between consecutive I- or P-frames
(pass 1/2) (default: 3)
- vmax_b_frames=<0-4>
- maximum number of B-frames between non-B-frames:
-
- s
- no B-frames (default)
- s
- sane range for MPEG-4
- vme=<0-5>
- motion estimation method. Available methods are:
-
- s
- none (very low quality)
- s
- full (slow, currently unmaintained and disabled)
- s
- log (low quality, currently unmaintained and disabled)
- s
- phods (low quality, currently unmaintained and disabled)
- s
- EPZS: size=1 diamond, size can be adjusted with the *dia
options (default)
- s
- X1 (experimental, currently aliased to EPZS)
- s
- iter (iterative overlapped block, only used in snow)
-
NOTE: 0-3 currently ignores the amount of bits spent, so
quality may be low.
- me_range=<0-9999>
- motion estimation search range (default: 0 (unlimited))
- mbd=<0-2>
- Macroblock decision algorithm (high quality mode), encode each
macro block in all modes and choose the best. This is slow but
results in better quality and file size.
-
- s
- Use mbcmp (default).
- s
- Select the MB mode which needs the fewest bits (=vhq).
- s
- Select the MB mode which has the best rate
distortion.
- vhq
- Same as mbd=1, kept for compatibility reasons.
- v4mv
- Allow 4 motion vectors per macroblock (slightly better
quality). Works better if used with mbd>0.
- obmc
- overlapped block motion compensation (H.263+)
- loop
- loop filter (H.263+) note, this is broken
- inter_threshold <-1000-1000>
- Does absolutely nothing at the moment.
- keyint=<0-300>
- maximum interval between keyframes in frames (default: 250 or
one keyframe every ten seconds in a 25fps movie. This is the
recommended default for MPEG-4). Most codecs require regular
keyframes in order to limit the accumulation of mismatch error.
Keyframes are also needed for seeking, as seeking is only possible
to a keyframe - but keyframes need more space than other frames, so
larger numbers here mean slightly smaller files but less precise
seeking. 0 is equivalent to 1, which makes every frame a keyframe.
Values >300 are not recommended as the quality might be bad
depending upon decoder, encoder and luck. It is a common for
MPEG-1/2 to use values <=30.
- sc_threshold=<-1000000000-1000000000>
- Threshold for scene change detection. A keyframe is inserted by
libavcodec when it detects a scene change. You can specify the
sensitivity of the detection with this option. -1000000000 means
there is a scene change detected at every frame, 1000000000 means
no scene changes are detected (default: 0).
- sc_factor=<any positive integer>
- Causes frames with higher quantizers to be more likely to
trigger a scene change detection and make libavcodec use an I-frame
(default: 1). 1-16 is a sane range. Values between 2 and 6 may
yield increasing PSNR (up to approximately 0.04 dB) and better
placement of I-frames in high-motion scenes. Higher values than 6
may give very slightly better PSNR (approximately 0.01 dB more than
sc_factor=6), but noticably worse visual quality.
- vb_strategy=<0-2> (pass one only)
- strategy to choose between I/P/B-frames:
-
- s
- Always use the maximum number of B-frames (default).
- s
- Avoid B-frames in high motion scenes. See the b_sensitivity
option to tune this strategy.
- s
- Places B-frames more or less optimally to yield maximum quality
(slower). You may want to reduce the speed impact of this option by
tuning the option brd_scale.
- b_sensitivity=<any integer greater than 0>
- Adjusts how sensitively vb_strategy=1 detects motion and avoids
using B-frames (default: 40). Lower sensitivities will result in
more B-frames. Using more B-frames usually improves PSNR, but too
many B-frames can hurt quality in high-motion scenes. Unless there
is an extremely high amount of motion, b_sensitivity can safely be
lowered below the default; 10 is a reasonable value in most cases.
- brd_scale=<0-10>
- Downscales frames for dynamic B-frame decision (default: 0).
Each time brd_scale is increased by one, the frame dimensions are
divided by two, which improves speed by a factor of four. Both
dimensions of the fully downscaled frame must be even numbers, so
brd_scale=1 requires the original dimensions to be multiples of
four, brd_scale=2 requires multiples of eight, etc. In other words,
the dimensions of the original frame must both be divisible by
2^(brd_scale+1) with no remainder.
- bidir_refine=<0-4>
- Refine the two motion vectors used in bidirectional
macroblocks, rather than re-using vectors from the forward and
backward searches. This option has no effect without B-frames.
-
- s
- Disabled (default).
- s
- Use a wider search (larger values are slower).
- vpass=<1-3>
- Activates internal two (or more) pass mode, only specify if you
wish to use two (or more) pass encoding.
-
- s
- first pass (also see turbo)
- s
- second pass
- s
- Nth pass (second and subsequent passes of N-pass
encoding)
- Here is how it works, and how to use it:
The first pass (vpass=1) writes the statistics file. You might want
to deactivate some CPU-hungry options, like "turbo" mode does.
In two pass mode, the second pass (vpass=2) reads the statistics
file and bases ratecontrol decisions on it.
In N-pass mode, the second pass (vpass=3, that is not a typo) does
both: It first reads the statistics, then overwrites them. You
might want to backup divx2pass.log before doing this if there is
any possibility that you will have to cancel MEncoder. You can use
all encoding options, except very CPU-hungry options like
"qns".
You can run this same pass over and over to refine the encode. Each
subsequent pass will use the statistics from the previous pass to
improve. The final pass can include any CPU-hungry encoding
options.
If you want a 2 pass encode, use first vpass=1, and then
vpass=2.
If you want a 3 or more pass encode, use vpass=1 for the first pass
and then vpass=3 and then vpass=3 again and again until you are
satisfied with the encode.
- huffyuv:
-
- s
- Saves statistics.
- s
- Encodes with an optimal Huffman table based upon statistics
from the first pass.
- turbo (two pass only)
- Dramatically speeds up pass one using faster algorithms and
disabling CPU-intensive options. This will probably reduce global
PSNR a little bit (around 0.01dB) and change individual frame type
and PSNR a little bit more (up to 0.03dB).
- aspect=<x/y>
- Store movie aspect internally, just like with MPEG files. Much
nicer than rescaling, because quality is not decreased. Only
MPlayer will play these files correctly, other players will display
them with wrong aspect. The aspect parameter can be given as a
ratio or a floating point number.
- EXAMPLE:
-
- s
- autoaspect
- Same as the aspect option, but automatically computes aspect,
taking into account all the adjustments (crop/:expand/:scale/:etc.)
made in the filter chain. Does not incur a performance penalty, so
you can safely leave it always on.
- vbitrate=<value>
- Specify bitrate (pass 1/2) (default: 800).
WARNING: 1kbit = 1000 bits
-
- s
- (in kbit)
- s
- (in bit)
- vratetol=<value>
- approximated file size tolerance in kbit. 1000-100000 is a sane
range. (warning: 1kbit = 1000 bits) (default: 8000)
NOTE: vratetol should not be too large during the second
pass or there might be problems if vrc_(min|max)rate is used.
- vrc_maxrate=<value>
- maximum bitrate in kbit/:sec (pass 1/2) (default: 0, unlimited)
- vrc_minrate=<value>
- minimum bitrate in kbit/:sec (pass 1/2) (default: 0, unlimited)
- vrc_buf_size=<value>
- buffer size in kbit (pass 1/2). For MPEG-1/2 this also sets the
vbv buffer size, use 327 for VCD, 917 for SVCD and 1835 for DVD.
- vrc_buf_aggressivity
- currently useless
- vrc_strategy
- Ratecontrol method. Note that some of the ratecontrol-affecting
options will have no effect if vrc_strategy is not set to 0.
-
- s
- Use internal lavc ratecontrol (default).
- s
- Use XviD ratecontrol (experimental; requires MEncoder to be
compiled with support for XviD 1.1 or higher).
- vb_qfactor=<-31.0-31.0>
- quantizer factor between B- and non-B-frames (pass 1/2)
(default: 1.25)
- vi_qfactor=<-31.0-31.0>
- quantizer factor between I- and non-I-frames (pass 1/2)
(default: 0.8)
- vb_qoffset=<-31.0-31.0>
- quantizer offset between B- and non-B-frames (pass 1/2)
(default: 1.25)
- vi_qoffset=<-31.0-31.0>
- (pass 1/2) (default: 0.0)
if v{b|i}_qfactor > 0
I/B-frame quantizer = P-frame quantizer * v{b|i}_qfactor +
v{b|i}_qoffset
else
do normal ratecontrol (do not lock to next P-frame quantizer) and
set q= -q * v{b|i}_qfactor + v{b|i}_qoffset
HINT: To do constant quantizer encoding with different
quantizers for I/P- and B-frames you can use: lmin=
<ip_quant>:lmax= <ip_quant>:vb_qfactor=
<b_quant/:ip_quant>.
- vqblur=<0.0-1.0> (pass one)
- Quantizer blur (default: 0.5), larger values will average the
quantizer more over time (slower change).
-
- s
- Quantizer blur disabled.
- s
- Average the quantizer over all previous frames.
- vqblur=<0.0-99.0> (pass two)
- Quantizer gaussian blur (default: 0.5), larger values will
average the quantizer more over time (slower change).
- vqcomp=<0.0-1.0>
- Quantizer compression, vrc_eq depends upon this (pass 1/2)
(default: 0.5). For instance, assuming the default rate control
equation is used, if vqcomp=1.0, the ratecontrol allocates to each
frame the number of bits needed to encode them all at the same QP.
If vqcomp=0.0, the ratecontrol allocates the same number of bits to
each frame, i.e. strict CBR. NOTE: Those are extreme
settings and should never be used. Perceptual quality will be
optimal somewhere in between these two extremes.
- vrc_eq=<equation>
- main ratecontrol equation (pass 1/2)
-
- s
- constant bitrate
- s
- constant quality
- s
- approximately the equation of the old ratecontrol code
- s
- with qcomp 0.5 or something like that (default)
- infix operators:
-
- s
- variables:
-
- s
- texture complexity
- s
- intra, non-intra texture complexity
- s
- average texture complexity
- s
- average intra texture complexity in I-frames
- s
- average intra texture complexity in P-frames
- s
- average non-intra texture complexity in P-frames
- s
- average non-intra texture complexity in B-frames
- s
- bits used for motion vectors
- s
- maximum length of motion vector in log2 scale
- s
- number of intra macroblocks / number of macroblocks
- s
- spatial complexity
- s
- temporal complexity
- s
- qcomp from the command line
- s
- Is 1 if picture type is I/P/B else 0.
- s
- See your favorite math book.
- functions:
-
- s
- maximum / minimum
- s
- is 1 if a>b, 0 otherwise
- s
- is 1 if a<b, 0 otherwise
- s
- is 1 if a==b, 0 otherwise
- s
- vrc_override=<options>
- User specified quality for specific parts (ending, credits,
...) (pass 1/2). The options are <start-frame>,
<end-frame>, <quality>[/<start-frame>,
<end-frame>, <quality>[/...]]:
-
- s
- quantizer
- s
- quality correction in %
- vrc_init_cplx=<0-1000>
- initial complexity (pass 1)
- vrc_init_occupancy=<0.0-1.0>
- initial buffer occupancy, as a fraction of vrc_buf_size
(default: 0.9)
- vqsquish=<0|1>
- Specify how to keep the quantizer between qmin and qmax (pass
1/2).
-
- s
- Use clipping.
- s
- Use a nice differentiable function (default).
- vlelim=<-1000-1000>
- Sets single coefficient elimination threshold for luminance.
Negative values will also consider the DC coefficient (should be at
least -4 or lower for encoding at quant=1):
-
- s
- disabled (default)
- s
- JVT recommendation
- vcelim=<-1000-1000>
- Sets single coefficient elimination threshold for chrominance.
Negative values will also consider the DC coefficient (should be at
least -4 or lower for encoding at quant=1):
-
- s
- disabled (default)
- s
- JVT recommendation
- vstrict=<-2|-1|0|1>
- strict standard compliance
-
- s
- disabled
- s
- Only recommended if you want to feed the output into the MPEG-4
reference decoder.
- s
- Allow libavcodec specific extensions (default).
- s
- Enables experimental codecs and features which may not be
playable with future MPlayer versions (snow, ffvhuff,
ffv1).
- vdpart
- Data partitioning. Adds 2 Bytes per video packet, improves
error-resistance when transferring over unreliable channels (e.g.
streaming over the internet). Each video packet will be encoded in
3 separate partitions:
-
- s
- movement
- s
- low res picture
- s
- details
- MV & DC are most important, loosing them looks far worse
than loosing the AC and the 1. & 2. partition. (MV & DC)
are far smaller than the 3. partition (AC) meaning that errors will
hit the AC partition much more often than the MV & DC
partitions. Thus, the picture will look better with partitioning
than without, as without partitioning an error will trash
AC/:DC/:MV equally.
- vpsize=<0-10000> (also see vdpart)
- Video packet size, improves error-resistance.
-
- s
- disabled (default)
- s
- good choice
- ss
- slice structured mode for H.263+
- gray
- grayscale only encoding (faster)
- vfdct=<0-10>
- DCT algorithm
-
- s
- Automatically select a good one (default).
- s
- fast integer
- s
- accurate integer
- s
- MMX
- s
- mlib
- s
- AltiVec
- s
- floating point AAN
- idct=<0-99>
- IDCT algorithm
NOTE: To the best of our knowledge all these IDCTs do pass
the IEEE1180 tests.
-
- s
- Automatically select a good one (default).
- s
- JPEG reference integer
- s
- simple
- s
- simplemmx
- s
- libmpeg2mmx (inaccurate, do not use for encoding with keyint
>100)
- s
- ps2
- s
- mlib
- s
- arm
- s
- AltiVec
- s
- sh4
- lumi_mask=<0.0-1.0>
- Luminance masking is a 'psychosensory' setting that is supposed
to make use of the fact that the human eye tends to notice fewer
details in very bright parts of the picture. Luminance masking
compresses bright areas stronger than medium ones, so it will save
bits that can be spent again on other frames, raising overall
subjective quality, while possibly reducing PSNR.
WARNING: Be careful, overly large values can cause
disastrous things.
WARNING: Large values might look good on some monitors but
may look horrible on other monitors.
-
- s
- disabled (default)
- s
- sane range
- dark_mask=<0.0-1.0>
- Darkness masking is a 'psychosensory' setting that is supposed
to make use of the fact that the human eye tends to notice fewer
details in very dark parts of the picture. Darkness masking
compresses dark areas stronger than medium ones, so it will save
bits that can be spent again on other frames, raising overall
subjective quality, while possibly reducing PSNR.
WARNING: Be careful, overly large values can cause
disastrous things.
WARNING: Large values might look good on some monitors but
may look horrible on other monitors / TV / TFT.
-
- s
- disabled (default)
- s
- sane range
- tcplx_mask=<0.0-1.0>
- Temporal complexity masking (default: 0.0 (disabled)). Imagine
a scene with a bird flying across the whole scene; tcplx_mask will
raise the quantizers of the bird's macroblocks (thus decreasing
their quality), as the human eye usually does not have time to see
all the bird's details. Be warned that if the masked object stops
(e.g. the bird lands) it is likely to look horrible for a short
period of time, until the encoder figures out that the object is
not moving and needs refined blocks. The saved bits will be spent
on other parts of the video, which may increase subjective quality,
provided that tcplx_mask is carefully chosen.
- scplx_mask=<0.0-1.0>
- Spatial complexity masking. Larger values help against
blockiness, if no deblocking filter is used for decoding, which is
maybe not a good idea.
Imagine a scene with grass (which usually has great spatial
complexity), a blue sky and a house; scplx_mask will raise the
quantizers of the grass' macroblocks, thus decreasing its quality,
in order to spend more bits on the sky and the house.
HINT: Crop any black borders completely as they will reduce
the quality of the macroblocks (also applies without scplx_mask).
-
- s
- disabled (default)
- s
- sane range
- NOTE: This setting does not have the same effect as
using a custom matrix that would compress high frequencies harder,
as scplx_mask will reduce the quality of P blocks even if only DC
is changing. The result of scplx_mask will probably not look as
good.
- p_mask=<0.0-1.0> (also see vi_qfactor)
- Reduces the quality of inter blocks. This is equivalent to
increasing the quality of intra blocks, because the same average
bitrate will be distributed by the rate controller to the whole
video sequence (default: 0.0 (disabled)). p_mask=1.0 doubles the
bits allocated to each intra block.
- border_mask=<0.0-1.0>
- border-processing for MPEG-style encoders. Border processing
increases the quantizer for macroblocks which are less than 1/5th
of the frame width/height away from the frame border, since they
are often visually less important.
- naq
- Normalize adaptive quantization (experimental). When using
adaptive quantization (*_mask), the average per-MB quantizer may no
longer match the requested frame-level quantizer. Naq will attempt
to adjust the per-MB quantizers to maintain the proper average.
- ildct
- Use interlaced DCT.
- ilme
- Use interlaced motion estimation (mutually exclusive with
qpel).
- alt
- Use alternative scantable.
- top=<-1-1>
-
-
- s
- automatic
- s
- bottom field first
- s
- top field first
- format=<value>
-
-
- s
- default
- s
- for ffv1
- s
- for HuffYUV, lossless JPEG and ffv1
- s
- for lossless JPEG and ffv1
- s
- for lossless JPEG and ffv1
- pred
- (for HuffYUV)
-
- s
- left prediction
- s
- plane/:gradient prediction
- s
- median prediction
- pred
- (for lossless JPEG)
-
- s
- left prediction
- s
- top prediction
- s
- topleft prediction
- s
- plane/:gradient prediction
- s
- mean prediction
- coder
- (for ffv1)
-
- s
- vlc coding (Golomb-Rice)
- s
- arithmetic coding (CABAC)
- context
- (for ffv1)
-
- s
- small context model
- s
- large context model
- (for ffvhuff)
-
- s
- predetermined Huffman tables (builtin or two pass)
- s
- adaptive Huffman tables
- qpel
- Use quarter pel motion compensation (mutually exclusive with
ilme).
HINT: This seems only useful for high bitrate encodings.
- mbcmp=<0-2000>
- Sets the comparison function for the macroblock decision, only
used if mbd=0.
-
- s
- sum of absolute differences, fast (default)
- s
- sum of squared errors
- s
- sum of absolute Hadamard transformed differences
- s
- sum of absolute DCT transformed differences
- s
- sum of squared quantization errors (avoid, low quality)
- s
- number of bits needed for the block
- s
- rate distortion optimal, slow
- s
- 0
- s
- sum of absolute vertical differences
- s
- sum of squared vertical differences
- s
- noise preserving sum of squared differences
- s
- 5/3 wavelet, only used in snow
- s
- 9/7 wavelet, only used in snow
- s
- Also use chroma, currently does not work (correctly) with
B-frames.
- ildctcmp=<0-2000>
- Sets the comparison function for interlaced DCT decision (see
mbcmp for available comparison functions).
- precmp=<0-2000>
- Sets the comparison function for motion estimation pre pass
(see mbcmp for available comparison functions) (default: 0).
- cmp=<0-2000>
- Sets the comparison function for full pel motion estimation
(see mbcmp for available comparison functions) (default: 0).
- subcmp=<0-2000>
- Sets the comparison function for sub pel motion estimation (see
mbcmp for available comparison functions) (default: 0).
- nssew=<0-1000000>
- This setting controls NSSE weight, where larger weights will
result in more noise. 0 NSSE is identical to SSE You may find this
useful if you prefer to keep some noise in your encoded video
rather than filtering it away before encoding (default: 8).
- predia=<-99-6>
- diamond type and size for motion estimation pre-pass
- dia=<-99-6>
- Diamond type & size for motion estimation. Motion search is
an iterative process. Using a small diamond does not limit the
search to finding only small motion vectors. It is just somewhat
more likely to stop before finding the very best motion vector,
especially when noise is involved. Bigger diamonds allow a wider
search for the best motion vector, thus are slower but result in
better quality.
Big normal diamonds are better quality than shape-adaptive
diamonds.
Shape-adaptive diamonds are a good tradeoff between speed and
quality.
NOTE: The sizes of the normal diamonds and shape adaptive
ones do not have the same meaning.
-
- s
- shape adaptive (fast) diamond with size 3
- s
- shape adaptive (fast) diamond with size 2
- s
- slightly special: Can be slower and/or better than dia=-2.
- s
- normal size=1 diamond (default) =EPZS type diamond
0
000
0
- s
- normal size=2 diamond
0
000
00000
000
0
- trell
- Trellis searched quantization. This will find the optimal
encoding for each 8x8 block. Trellis searched quantization is quite
simply an optimal quantization in the PSNR versus bitrate sense
(Assuming that there would be no rounding errors introduced by the
IDCT, which is obviously not the case.). It simply finds a block
for the minimum of error and lambda*bits.
-
- s
- quantization parameter (QP) dependent constant
- s
- amount of bits needed to encode the block
- s
- sum of squared errors of the quantization
- cbp
- Rate distorted optimal coded block pattern. Will select the
coded block pattern which minimizes distortion + lambda*rate. This
can only be used together with trellis quantization.
- mv0
- Try to encode each MB with MV=<0,0> and choose the better
one. This has no effect if mbd=0.
- mv0_threshold=<any non-negative integer>
- When surrounding motion vectors are <0,0> and the motion
estimation score of the current block is less than mv0_threshold,
<0,0> is used for the motion vector and further motion
estimation is skipped (default: 256). Lowering mv0_threshold to 0
can give a slight (0.01dB) PSNR increase and possibly make the
encoded video look slightly better; raising mv0_threshold past 320
results in diminished PSNR and visual quality. Higher values speed
up encoding very slightly (usually less than 1%, depending on the
other options used).
NOTE: This option does not require mv0 to be enabled.
- qprd (mbd=2 only)
- rate distorted optimal quantization parameter (QP) for the
given lambda of each macroblock
- last_pred=<0-99>
- amount of motion predictors from the previous frame
-
- s
- (default)
- s
- Will use 2a+1 x 2a+1 macroblock square of motion vector
predictors from the previous frame.
- preme=<0-2>
- motion estimation pre-pass
-
- s
- disabled
- s
- only after I-frames (default)
- s
- always
- subq=<1-8>
- subpel refinement quality (for qpel) (default: 8 (high
quality))
NOTE: This has a significant effect on speed.
- refs=<1-8>
- number of reference frames to consider for motion compensation
(Snow only) (default: 1)
- psnr
- print the PSNR (peak signal to noise ratio) for the whole video
after encoding and store the per frame PSNR in a file with a name
like 'psnr_hhmmss.log'. Returned values are in dB (decibel), the
higher the better.
- mpeg_quant
- Use MPEG quantizers instead of H.263.
- aic
- Enable AC prediction for MPEG-4 or advanced intra prediction
for H.263+. This will improve quality very slightly (around 0.02 dB
PSNR) and slow down encoding very slightly (about 1%).
NOTE: vqmin should be 8 or larger for H.263+ AIC.
- aiv
- alternative inter vlc for H.263+
- umv
- unlimited MVs (H.263+ only) Allows encoding of arbitrarily long
MVs.
- ibias=<-256-256>
- intra quantizer bias (256 equals 1.0, MPEG style quantizer
default: 96, H.263 style quantizer default: 0)
NOTE: The H.263 MMX quantizer cannot handle positive biases
(set vfdct=1 or 2), the MPEG MMX quantizer cannot handle negative
biases (set vfdct=1 or 2).
- pbias=<-256-256>
- inter quantizer bias (256 equals 1.0, MPEG style quantizer
default: 0, H.263 style quantizer default: -64)
NOTE: The H.263 MMX quantizer cannot handle positive biases
(set vfdct=1 or 2), the MPEG MMX quantizer cannot handle negative
biases (set vfdct=1 or 2).
HINT: A more positive bias (-32 - -16 instead of -64) seems
to improve the PSNR.
- nr=<0-100000>
- Noise reduction, 0 means disabled. 0-600 is a useful range for
typical content, but you may want to turn it up a bit more for very
noisy content (default: 0). Given its small impact on speed, you
might want to prefer to use this over filtering noise away with
video filters like denoise3d or hqdn3d.
- qns=<0-3>
- Quantizer noise shaping. Rather than choosing quantization to
most closely match the source video in the PSNR sense, it chooses
quantization such that noise (usually ringing) will be masked by
similar-frequency content in the image. Larger values are slower
but may not result in better quality. This can and should be used
together with trellis quantization, in which case the trellis
quantization (optimal for constant weight) will be used as
startpoint for the iterative search.
-
- s
- disabled (default)
- s
- Only lower the absolute value of coefficients.
- s
- Only change coefficients before the last non-zero coefficient +
1.
- s
- Try all.
- inter_matrix=<comma separated matrix>
- Use custom inter matrix. It needs a comma separated string of
64 integers.
- intra_matrix=<comma separated matrix>
- Use custom intra matrix. It needs a comma separated string of
64 integers.
- vqmod_amp
- experimental quantizer modulation
- vqmod_freq
- experimental quantizer modulation
- dc
- intra DC precision in bits (default: 8). If you specify
vcodec=mpeg2video this value can be 8, 9, 10 or 11.
- cgop (also see sc_threshold)
- Close all GOPs. Currently it only works if scene change
detection is disabled (sc_threshold=1000000000).
- vglobal=<0-3>
- Control writing global video headers.
-
- s
- Codec decides where to write global headers (default).
- s
- Write global headers only in extradata (needed for
.mp4/MOV/NUT).
- s
- Write global headers only in front of keyframes.
- s
- Combine 1 and 2.
- aglobal=<0-3>
- Same as vglobal for audio headers.
nuv (-nuvopts)
Nuppel video is based on RTJPEG and LZO. By
default frames are first encoded with RTJPEG and then compressed
with LZO, but it is possible to disable either or both of the two
passes. As a result, you can in fact output raw i420, LZO
compressed i420, RTJPEG, or the default LZO compressed RTJPEG.
NOTE: The nuvrec documentation contains some advice and
examples about the settings to use for the most common TV
encodings.
- c=<0-20>
- chrominance threshold (default: 1)
- l=<0-20>
- luminance threshold (default: 1)
- lzo
- Enable LZO compression (default).
- nolzo
- Disable LZO compression.
- q=<3-255>
- quality level (default: 255)
- raw
- Disable RTJPEG encoding.
- rtjpeg
- Enable RTJPEG encoding (default).
xvidenc (-xvidencopts)
There are three modes available:
constant bitrate (CBR), fixed quantizer and two pass.
- pass=<1|2>
- Specify the pass in two pass mode.
- turbo (two pass only)
- Dramatically speeds up pass one using faster algorithms and
disabling CPU-intensive options. This will probably reduce global
PSNR a little bit and change individual frame type and PSNR a
little bit more.
- bitrate=<value> (CBR or two pass mode)
- Sets the bitrate to be used in kbits/:second if <16000 or in
bits/:second if >16000. If <value> is negative, XviD will
use its absolute value as the target size (in kBytes) of the video
and compute the associated bitrate automagically (default: 687
kbits/s).
- fixed_quant=<1-31>
- Switch to fixed quantizer mode and specify the quantizer to be
used.
- zones=<zone0>[/<zone1>[/...]] (CBR or two pass
mode)
- User specified quality for specific parts (ending, credits,
...). Each zone is <start-frame>,<mode>,<value>
where <mode> may be
-
- s
- Constant quantizer override, where value=<2.0-31.0>
represents the quantizer value.
- s
- Ratecontrol weight override, where value=<0.01-2.00>
represents the quality correction in %.
- EXAMPLE:
-
- s
- Encodes all frames starting with frame 90000 at constant
quantizer 20.
- s
- Encode frames 0-10000 at 10% bitrate, encode frames 90000 up to
the end at constant quantizer 20. Note that the second zone is
needed to delimit the first zone, as without it everything up until
frame 89999 would be encoded at 10% bitrate.
- me_quality=<0-6>
- This option controls the motion estimation subsystem. The
higher the value, the more precise the estimation should be
(default: 6). The more precise the motion estimation is, the more
bits can be saved. Precision is gained at the expense of CPU time
so decrease this setting if you need realtime encoding.
- (no)interlacing
- Encode the fields of interlaced video material. Turn this
option on for interlaced content.
NOTE: Should you rescale the video, you would need an
interlace-aware resizer, which you can activate with -vf
scale=<width>:<height>:1.
- 4mv
- Use 4 motion vectors per macroblock. This might give better
compression, but slows down encoding.
WARNING: As of XviD-1.0.x, this option is no longer
available separately, and its functionality is included in the
me_quality option. When me_quality > 4, 4mv is activated.
- rc_reaction_delay_factor=<value>
- This parameter controls the number of frames the CBR rate
controller will wait before reacting to bitrate changes and
compensating for them to obtain a constant bitrate over an
averaging range of frames.
- rc_averaging_period=<value>
- Real CBR is hard to achieve. Depending on the video material,
bitrate can be variable, and hard to predict. Therefore XviD uses
an averaging period for which it guarantees a given amount of bits
(minus a small variation). This settings expresses the "number of
frames" for which XviD averages bitrate and tries to achieve CBR.
- rc_buffer=<value>
- size of the rate control buffer
-
quant_range=<1-31>-<1-31>[/<1-31>-<1-31>]
- CBR mode: min & max quantizer for all frames (default:
2-31)
two pass mode: min & max quantizer for I/P-frames (default:
2-31/:2-31)
WARNING: As of XviD-1.0.x, this option is replaced by the
[min|max]_[i|p|b]quant options.
- min_key_interval=<value> (two pass only)
- minimum interval between keyframes (default: 0)
- max_key_interval=<value>
- maximum interval between keyframes (default: 10*fps)
- mpeg_quant
- Use MPEG quantizers instead of H.263. For high bitrates, you
will find that MPEG quantization preserves more detail. For low
bitrates, the smoothing of H.263 will give you less block noise.
When using custom matrices, MPEG must be used.
WARNING: As of XviD-1.0.x, this option is replaced by the
quant_type option.
- mod_quant
- Decide whether to use MPEG or H.263 quantizers on a
frame-by-frame basis (two pass mode only).
WARNING: This will generate an illegal bitstream, and most
likely not be decodable by any MPEG-4 decoder besides libavcodec or
XviD.
WARNING: As of XviD-1.0.x, this option is no longer
available.
- keyframe_boost=<0-1000> (two pass mode only)
- Shift some bits from the pool for other frame types to intra
frames, thus improving keyframe quality. This amount is an extra
percentage, so a value of 10 will give your keyframes 10% more bits
than normal (default: 0).
- kfthreshold=<value> (two pass mode only)
- Works together with kfreduction. Determines the minimum
distance below which you consider that two frames are considered
consecutive and treated differently according to kfreduction
(default: 10).
- kfreduction=<0-100> (two pass mode only)
- The above two settings can be used to adjust the size of
keyframes that you consider too close to the first (in a row).
kfthreshold sets the range in which keyframes are reduced, and
kfreduction determines the bitrate reduction they get. The last
I-frame will get treated normally (default: 30).
- divx5bvop
- Generate DivX5 compatible B-frames (default: on). This seems to
be mandatory only for old versions of DivX's decoder.
WARNING: As of XviD-1.0.x, this option is replaced by the
closed_gop option.
- (no)grayscale
- Make XviD discard chroma planes so the encoded video is
grayscale only. Note that this does not speed up encoding, it just
prevents chroma data from being written in the last stage of
encoding.
- debug
- Save per-frame statistics in ./xvid.dbg. (This is not the two
pass control file.)
The following options are only available with the latest stable
releases of XviD 1.0.x (api4).
- (no)packed
- This option is meant to solve frame-order issues when encoding
to container formats like AVI that cannot cope with out-of-order
frames. In practice, most decoders (both software and hardware) are
able to deal with frame-order themselves, and may get confused when
this option is turned on, so you can safely leave if off, unless
you really know what you are doing.
WARNING: This will generate an illegal bitstream, and will
not be decodable by ISO-MPEG-4 decoders except
DivX/:libavcodec/:XviD.
WARNING: This will also store a fake DivX version in the
file so the bug autodetection of some decoders might be confused.
- max_bframes=<0-4>
- Maximum number of B-frames to put between I/P-frames (default:
2).
- bquant_ratio=<0-1000>
- quantizer ratio between B- and non-B-frames, 150=1.50 (default:
150)
- bquant_offset=<-1000-1000>
- quantizer offset between B- and non-B-frames, 100=1.00
(default: 100)
- bf_threshold=<-255-255>
- This setting allows you to specify what priority to place on
the use of B-frames. The higher the value, the higher the
probability of B-frames being used (default: 0). Do not forget that
B-frames usually have a higher quantizer, and therefore aggressive
production of B-frames may cause worse visual quality.
- (no)closed_gop
- This option tells XviD to close every GOP (Group Of Pictures
bounded by two I-frames), which makes GOPs independent from each
other. This just implies that the last frame of the GOP is either a
P-frame or a N-frame but not a B-frame. It is usually a good idea
to turn this option on (default: on).
- frame_drop_ratio=<0-100> (max_bframes=0 only)
- This setting allows the creation of variable framerate video
streams. The value of the setting specifies a threshold under
which, if the difference of the following frame to the previous
frame is below or equal to this threshold, a frame gets not coded
(a so called n-vop is placed in the stream). On playback, when
reaching an n-vop the previous frame will be displayed.
WARNING: Playing with this setting may result in a jerky
video, so use it at your own risks!
- (no)qpel
- MPEG-4 uses a half pixel precision for its motion search by
default. The standard proposes a mode where encoders are allowed to
use quarter pixel precision. This option usually results in a
sharper image. Unfortunately it has a great impact on bitrate and
sometimes the higher bitrate use will prevent it from giving a
better image quality at a fixed bitrate. It is better to test with
and without this option and see whether it is worth activating.
- (no)gmc
- Enable Global Motion Compensation, which makes XviD generate
special frames (GMC-frames) which are well suited for
Pan/:Zoom/:Rotating images. Whether or not the use of this option
will save bits is highly dependent on the source material.
- (no)trellis
- Trellis Quantization is a kind of adaptive quantization method
that saves bits by modifying quantized coefficients to make them
more compressible by the entropy encoder. Its impact on quality is
good, and if VHQ uses too much CPU for you, this setting can be a
good alternative to save a few bits (and gain quality at fixed
bitrate) at a lesser cost than with VHQ (default: on).
- (no)cartoon
- Activate this if your encoded sequence is an anime/:cartoon. It
modifies some XviD internal thresholds so XviD takes better
decisions on frame types and motion vectors for flat looking
cartoons.
- quant_type=<h263|mpeg>
- Sets the type of quantizer to use. For high bitrates, you will
find that MPEG quantization preserves more detail. For low
bitrates, the smoothing of H.263 will give you less block noise.
When using custom matrices, MPEG quantization must be used.
- (no)chroma_me
- The usual motion estimation algorithm uses only the luminance
information to find the best motion vector. However for some video
material, using the chroma planes can help find better vectors.
This setting toggles the use of chroma planes for motion estimation
(default: on).
- (no)chroma_opt
- Enable a chroma optimizer prefilter. It will do some extra
magic on color information to minimize the stepped-stairs effect on
edges. It will improve quality at the cost of encoding speed. It
reduces PSNR by nature, as the mathematical deviation to the
original picture will get bigger, but the subjective image quality
will raise. Since it works with color information, you might want
to turn it off when encoding in grayscale.
- (no)hq_ac
- Activates high-quality prediction of AC coefficients for intra
frames from neighbor blocks (default: on).
- vhq=<0-4>
- The motion search algorithm is based on a search in the usual
color domain and tries to find a motion vector that minimizes the
difference between the reference frame and the encoded frame. With
this setting activated, XviD will also use the frequency domain
(DCT) to search for a motion vector that minimizes not only the
spatial difference but also the encoding length of the block.
Fastest to slowest:
-
- s
- off
- s
- mode decision (inter/:intra MB) (default)
- s
- limited search
- s
- medium search
- s
- wide search
- (no)lumi_mask
- Adaptive quantization allows the macroblock quantizers to vary
inside each frame. This is a 'psychosensory' setting that is
supposed to make use of the fact that the human eye tends to notice
fewer details in very bright and very dark parts of the picture. It
compresses those areas more strongly than medium ones, which will
save bits that can be spent again on other frames, raising overall
subjective quality and possibly reducing PSNR.
- min_iquant=<0-31>
- minimum I-frame quantizer (default: 2)
- max_iquant=<0-31>
- maximum I-frame quantizer (default: 31)
- min_pquant=<0-31>
- minimum P-frame quantizer (default: 2)
- max_pquant=<0-31>
- maximum P-frame quantizer (default: 31)
- min_bquant=<0-31>
- minimum B-frame quantizer (default: 2)
- max_bquant=<0-31>
- maximum B-frame quantizer (default: 31)
- quant_intra_matrix=<filename>
- Load a custom intra matrix file. You can build such a file with
xvid4conf's matrix editor.
- quant_inter_matrix=<filename>
- Load a custom inter matrix file. You can build such a file with
xvid4conf's matrix editor.
- curve_compression_high=<0-100>
- This setting allows XviD to take a certain percentage of bits
away from high bitrate scenes and give them back to the bit
reservoir. You could also use this if you have a clip with so many
bits allocated to high-bitrate scenes that the low(er)-bitrate
scenes start to look bad (default: 0).
- curve_compression_low=<0-100>
- This setting allows XviD to give a certain percentage of extra
bits to the low bitrate scenes, taking a few bits from the entire
clip. This might come in handy if you have a few low-bitrate scenes
that are still blocky (default: 0).
- overflow_control_strength=<0-100>
- During pass one of two pass encoding, a scaled bitrate curve is
computed. The difference between that expected curve and the result
obtained during encoding is called overflow. Obviously, the two
pass rate controller tries to compensate for that overflow,
distributing it over the next frames. This setting controls how
much of the overflow is distributed every time there is a new
frame. Low values allow lazy overflow control, big rate bursts are
compensated for more slowly (could lead to lack of precision for
small clips). Higher values will make changes in bit redistribution
more abrupt, possibly too abrupt if you set it too high, creating
artifacts (default: 5).
NOTE: This setting impacts quality a lot, play with it
carefully!
- max_overflow_improvement=<0-100>
- During the frame bit allocation, overflow control may increase
the frame size. This parameter specifies the maximum percentage by
which the overflow control is allowed to increase the frame size,
compared to the ideal curve allocation (default: 5).
- max_overflow_degradation=<0-100>
- During the frame bit allocation, overflow control may decrease
the frame size. This parameter specifies the maximum percentage by
which the overflow control is allowed to decrease the frame size,
compared to the ideal curve allocation (default: 5).
- container_frame_overhead=<0...>
- Specifies a frame average overhead per frame, in bytes. Most of
the time users express their target bitrate for video w/o taking
care of the video container overhead. This small but (mostly)
constant overhead can cause the target file size to be exceeded.
XviD allows users to set the amount of overhead per frame the
container generates (give only an average per frame). 0 has a
special meaning, it lets XviD use its own default values (default:
24 - AVI average overhead).
- profile=<profile_name>
- Restricts options and VBV (peak bitrate over a short period)
according to the Simple, Advanced Simple and DivX profiles. The
resulting videos should be playable on standalone players adhering
to these profile specifications.
-
- s
- no restrictions (default)
- s
- simple profile at level 0
- s
- simple profile at level 1
- s
- simple profile at level 2
- s
- simple profile at level 3
- s
- advanced simple profile at level 0
- s
- advanced simple profile at level 1
- s
- advanced simple profile at level 2
- s
- advanced simple profile at level 3
- s
- advanced simple profile at level 4
- s
- advanced simple profile at level 5
- s
- DXN handheld profile
- s
- DXN portable NTSC profile
- s
- DXN portable PAL profile
- s
- DXN home theater NTSC profile
- s
- DXN home theater PAL profile
- s
- DXN HDTV profile
- NOTE: These profiles should be used in conjunction with
an appropriate -ffourcc. Generally DX50 is applicable, as some
players do not recognize XviD but most recognize DivX.
- par=<mode>
- Specifies the Pixel Aspect Ratio mode (not to be confused with
DAR, the Display Aspect Ratio). PAR is the ratio of the width and
height of a single pixel. So both are related like this: DAR = PAR
* (width/height).
MPEG-4 defines 5 pixel aspect ratios and one extended one, giving
the opportunity to specify a specific pixel aspect ratio. 5
standard modes can be specified:
-
- s
- It is the usual PAR for PC content. Pixels are a square unit.
- s
- PAL standard 4:3 PAR. Pixels are rectangles.
- s
- same as above
- s
- same as above
- s
- same as above (Do not forget to give the exact ratio.)
- s
- Allows you to specify your own pixel aspect ratio with
par_width and par_height.
- NOTE: In general, setting aspect and autoaspect options
is enough.
- par_width=<1-255> (par=ext only)
- Specifies the width of the custom pixel aspect ratio.
- par_height=<1-255> (par=ext only)
- Specifies the height of the custom pixel aspect ratio.
- aspect=<x/y | f (float value)>
- Store movie aspect internally, just like MPEG files. Much nicer
solution than rescaling, because quality is not decreased. MPlayer
and a few others players will play these files correctly, others
will display them with the wrong aspect. The aspect parameter can
be given as a ratio or a floating point number.
- (no)autoaspect
- Same as the aspect option, but automatically computes aspect,
taking into account all the adjustments (crop/:expand/:scale/:etc.)
made in the filter chain.
- psnr
- Print the PSNR (peak signal to noise ratio) for the whole video
after encoding and store the per frame PSNR in a file with a name
like 'psnr_hhmmss.log' in the current directory. Returned values
are in dB (decibel), the higher the better.
The following option is only available in XviD 1.1.x.
- bvhq=<0|1>
- This setting allows vector candidates for B-frames to be used
for the encoding chosen using a rate distortion optimized operator,
which is what is done for P-frames by the vhq option. This produces
nicer-looking B-frames while incurring almost no performance
penalty (default: 1).
The following option is only available in the CVS version of
XviD.
- threads=<0-n>
- Create n threads to run the motion estimation (default: 0). The
maximum number of threads that can be used is the picture height
divided by 16.
x264enc (-x264encopts)
- bitrate=<value>
- Sets the average bitrate to be used in kbits/:second (default:
off). Since local bitrate may vary, this average may be inaccurate
for very short videos (see ratetol). Constant bitrate can be
achieved by combining this with vbv_maxrate, at significant
reduction in quality.
- qp=<0-51>
- This selects the quantizer to use for P-frames. I- and B-frames
are offset from this value by ip_factor and pb_factor,
respectively. 20-40 is a useful range (default: 26). Lower values
result in better fidelity, but higher bitrates. 0 is lossless. Note
that quantization in H.264 works differently from MPEG-1/2/4:
H.264's quantization parameter (QP) is on a logarithmic scale. The
mapping is approximately H264QP = 12 + 6*log2(MPEGQP). For example,
MPEG at QP=2 is equivalent to H.264 at QP=18.
- crf=<1-50>
- Enables constant quality mode, and selects the quality. The
scale is similar to QP. Like the bitrate-based modes, this allows
each frame to use a different QP based on the frame's complexity.
- pass=<1-3>
- Enable 2 or 3-pass mode. It is recommended to always encode in
2 or 3-pass mode as it leads to a better bit distribution and
improves overall quality.
-
- s
- first pass
- s
- second pass (of two pass encoding)
- s
- Nth pass (second and third passes of three pass
encoding)
- Here is how it works, and how to use it:
The first pass (pass=1) collects statistics on the video and writes
them to a file. You might want to deactivate some CPU-hungry
options, apart from the ones that are on by default.
In two pass mode, the second pass (pass=2) reads the statistics
file and bases ratecontrol decisions on it.
In three pass mode, the second pass (pass=3, that is not a typo)
does both: It first reads the statistics, then overwrites them. You
can use all encoding options, except very CPU-hungry options.
The third pass (pass=3) is the same as the second pass, except that
it has the second pass' statistics to work from. You can use all
encoding options, including CPU-hungry ones.
The first pass may use either average bitrate or constant
quantizer. ABR is recommended, since it does not require guessing a
quantizer. Subsequent passes are ABR, and must specify
bitrate.
- turbo=<0-2>
- Fast first pass mode. During the first pass of a two or more
pass encode it is possible to gain speed by disabling some options
with negligible or even no impact on the final pass output quality.
-
- s
- disabled (default)
- s
- Reduce subq, frameref and disable some inter-macroblock
partition analysis modes.
- s
- Reduce subq and frameref to 1, use a diamond ME search and
disable all partition analysis modes.
- Level 1 can increase first pass speed up to 2x with no change
in the global PSNR of the final pass compared to a full quality
first pass.
Level 2 can increase first pass speed up to 4x with about +/-
0.05dB change in the global PSNR of the final pass compared to a
full quality first pass.
- keyint=<value>
- Sets maximum interval between IDR-frames (default: 250). Larger
values save bits, thus improve quality, at the cost of seeking
precision. Unlike MPEG-1/2/4, H.264 does not suffer from DCT drift
with large values of keyint.
- keyint_min=<1-keyint/2>
- Sets minimum interval between IDR-frames (default: 25). If
scenecuts appear within this interval, they are still encoded as
I-frames, but do not start a new GOP. In H.264, I-frames do not
necessarily bound a closed GOP because it is allowable for a
P-frame to be predicted from more frames than just the one frame
before it (also see frameref). Therefore, I-frames are not
necessarily seekable. IDR-frames restrict subsequent P-frames from
referring to any frame prior to the IDR-frame.
- scenecut=<-1-100>
- Controls how aggressively to insert extra I-frames (default:
40). With small values of scenecut, the codec often has to force an
I-frame when it would exceed keyint. Good values of scenecut may
find a better location for the I-frame. Large values use more
I-frames than necessary, thus wasting bits. -1 disables scene-cut
detection, so I-frames are inserted only once every other keyint
frames, even if a scene-cut occurs earlier. This is not recommended
and wastes bitrate as scenecuts encoded as P-frames are just as big
as I-frames, but do not reset the "keyint counter".
- frameref=<1-16>
- Number of previous frames used as predictors in B- and P-frames
(default: 1). This is effective in anime, but in live-action
material the improvements usually drop off very rapidly above 6 or
so reference frames. This has no effect on decoding speed, but does
increase the memory needed for decoding. Some decoders can only
handle a maximum of 15 reference frames.
- bframes=<0-16>
- maximum number of consecutive B-frames between I- and P-frames
(default: 0)
- (no)b_adapt
- Automatically decides when to use B-frames and how many, up to
the maximum specified above (default: on). If this option is
disabled, then the maximum number of B-frames is used.
- b_bias=<-100-100>
- Controls the decision performed by b_adapt. A higher b_bias
produces more B-frames (default: 0).
- (no)b_pyramid
- Allows B-frames to be used as references for predicting other
frames. For example, consider 3 consecutive B-frames: I0 B1 B2 B3
P4. Without this option, B-frames follow the same pattern as
MPEG-[124]. So they are coded in the order I0 P4 B1 B2 B3, and all
the B-frames are predicted from I0 and P4. With this option, they
are coded as I0 P4 B2 B1 B3. B2 is the same as above, but B1 is
predicted from I0 and B2, and B3 is predicted from B2 and P4. This
usually results in slightly improved compression, at almost no
speed cost. However, this is an experimental option: it is not
fully tuned and may not always help. Requires bframes >= 2.
Disadvantage: increases decoding delay to 2 frames.
- (no)deblock
- Use deblocking filter (default: on). As it takes very little
time compared to its quality gain, it is not recommended to disable
it.
- deblock=<-6-6>,<-6-6>
- The first parameter is AlphaC0 (default: 0). This adjusts
thresholds for the H.264 in-loop deblocking filter. First, this
parameter adjusts the maximum amount of change that the filter is
allowed to cause on any one pixel. Secondly, this parameter affects
the threshold for difference across the edge being filtered. A
positive value reduces blocking artifacts more, but will also smear
details.
The second parameter is Beta (default: 0). This affects the detail
threshold. Very detailed blocks are not filtered, since the
smoothing caused by the filter would be more noticeable than the
original blocking.
The default behavior of the filter almost always achieves optimal
quality, so it is best to either leave it alone, or make only small
adjustments. However, if your source material already has some
blocking or noise which you would like to remove, it may be a good
idea to turn it up a little bit.
- (no)cabac
- Use CABAC (Context-Adaptive Binary Arithmetic Coding) (default:
on). Slightly slows down encoding and decoding, but should save
10-15% bitrate. Unless you are looking for decoding speed, you
should not disable it.
- qp_min=<1-51> (ABR or two pass)
- Minimum quantizer, 10-30 seems to be a useful range (default:
10).
- qp_max=<1-51> (ABR or two pass)
- maximum quantizer (default: 51)
- qp_step=<1-50> (ABR or two pass)
- maximum value by which the quantizer may be
incremented/decremented between frames (default: 4)
- ratetol=<0.1-100.0> (ABR or two pass)
- allowed variance in average bitrate (no particular units)
(default: 1.0)
- vbv_maxrate=<value> (ABR or two pass)
- maximum local bitrate, in kbits/:second (default: disabled)
- vbv_bufsize=<value> (ABR or two pass)
- averaging period for vbv_maxrate, in kbits (default: none, must
be specified if vbv_maxrate is enabled)
- vbv_init=<0.0-1.0> (ABR or two pass)
- initial buffer occupancy, as a fraction of vbv_bufsize
(default: 0.9)
- ip_factor=<value>
- quantizer factor between I- and P-frames (default: 1.4)
- pb_factor=<value>
- quantizer factor between P- and B-frames (default: 1.3)
- qcomp=<0-1> (ABR or two pass)
- quantizer compression (default: 0.6). A lower value makes the
bitrate more constant, while a higher value makes the quantization
parameter more constant.
- cplx_blur=<0-999> (two pass only)
- Temporal blur of the estimated frame complexity, before curve
compression (default: 20). Lower values allow the quantizer value
to jump around more, higher values force it to vary more smoothly.
cplx_blur ensures that each I-frame has quality comparable to the
following P-frames, and ensures that alternating high and low
complexity frames (e.g. low fps animation) do not waste bits on
fluctuating quantizer.
- qblur=<0-99> (two pass only)
- Temporal blur of the quantization parameter, after curve
compression (default: 0.5). Lower values allow the quantizer value
to jump around more, higher values force it to vary more smoothly.
- zones=<zone0>[/<zone1>[/...]]
- User specified quality for specific parts (ending, credits,
...). Each zone is
<start-frame>,<end-frame>,<option> where option
may be
-
- s
- quantizer
- s
- bitrate multiplier
- NOTE: The quantizer option is not strictly enforced. It
affects only the planning stage of ratecontrol, and is still
subject to overflow compensation and qp_min/qp_max.
- direct_pred=<name>
- Determines the type of motion prediction used for direct
macroblocks in B-frames.
-
- s
- Direct macroblocks are not used.
- s
- Motion vectors are extrapolated from neighboring blocks.
(default)
- s
- Motion vectors are interpolated from the following P-frame.
- s
- The codec selects between spatial and temporal for each
frame.
- Spatial and temporal are approximately the same speed and PSNR,
the choice between them depends on the video content. Auto is
slightly better, but slower. Auto is most effective when combined
with multipass. direct_pred=none is both slower and lower
quality.
- (no)weight_b
- Use weighted prediction in B-frames. Without this option,
bidirectionally predicted macroblocks give equal weight to each
reference frame. With this option, the weights are determined by
the temporal position of the B-frame relative to the references.
Requires bframes > 1.
- partitions=<list>
- Enable some optional macroblock types (default:
p8x8,b8x8,i8x8,i4x4).
-
- s
- Enable types p16x8, p8x16, p8x8.
- s
- Enable types p8x4, p4x8, p4x4. p4x4 is recommended only with
subq >= 5, and only at low resolutions.
- s
- Enable types b16x8, b8x16, b8x8.
- s
- Enable type i8x8. i8x8 has no effect unless 8x8dct is enabled.
- s
- Enable type i4x4.
- s
- Enable all of the above types.
- s
- Disable all of the above types.
- Regardless of this option, macroblock types p16x16, b16x16, and
i16x16 are always enabled.
The idea is to find the type and size that best describe a certain
area of the picture. For example, a global pan is better
represented by 16x16 blocks, while small moving objects are better
represented by smaller blocks.
- (no)8x8dct
- Adaptive spatial transform size: allows macroblocks to choose
between 4x4 and 8x8 DCT. Also allows the i8x8 macroblock type.
Without this option, only 4x4 DCT is used.
- me=<name>
- Select fullpixel motion estimation algorithm.
-
- s
- diamond search, radius 1 (fast)
- s
- hexagon search, radius 2 (default)
- s
- uneven multi-hexagon search (slow)
- s
- exhaustive search (very slow, and no better than umh)
- me_range=<4-64>
- radius of exhaustive or multi-hexagon motion search (default:
16)
- subq=<1-7>
- Adjust subpel refinement quality. This parameter controls
quality versus speed tradeoffs involved in the motion estimation
decision process. subq=5 can compress up to 10% better than subq=1.
-
- s
- Runs fullpixel precision motion estimation on all candidate
macroblock types. Then selects the best type. Then refines the
motion of that type to fast quarterpixel precision (fastest).
- s
- Runs halfpixel precision motion estimation on all candidate
macroblock types. Then selects the best type. Then refines the
motion of that type to fast quarterpixel precision.
- s
- As 2, but uses a slower quarterpixel refinement.
- s
- Runs fast quarterpixel precision motion estimation on all
candidate macroblock types. Then selects the best type. Then
finishes the quarterpixel refinement for that type.
- s
- Runs best quality quarterpixel precision motion estimation on
all candidate macroblock types, before selecting the best type
(default).
- s
- Enables rate-distortion optimization of macroblock types in I-
and P-frames.
- s
- Enables rate-distortion optimization of motion vectors and
intra modes. (best)
- In the above, "all candidates" does not exactly mean all
enabled types: 4x4, 4x8, 8x4 are tried only if 8x8 is better than
16x16.
- (no)chroma_me
- Takes into account chroma information during subpixel motion
search (default: enabled). Requires subq>=5.
- (no)mixed_refs
- Allows each 8x8 or 16x8 motion partition to independently
select a reference frame. Without this option, a whole macroblock
must use the same reference. Requires frameref>1.
- (no)brdo
- Enables rate-distortion optimization of macroblock types in
B-frames. Requires subq>=6.
- (no)bime
- Refine the two motion vectors used in bidirectional
macroblocks, rather than re-using vectors from the forward and
backward searches. This option has no effect without B-frames.
- trellis=<0-2>
- rate-distortion optimal quantization
-
- s
- disabled (default)
- s
- enabled only for the final encode
- s
- enabled during all mode decisions (slow, requires
subq>=6)
- deadzone_inter=<0-32>
- Set the size of the inter luma quantization deadzone for
non-trellis quantization (default: 21).
- deadzone_intra=<0-32>
- Set the size of the intra luma quantization deadzone for
non-trellis quantization (default: 11).
- (no)fast_pskip
- Performs early skip detection in P-frames (default: enabled).
This usually improves speed at no cost, but it can sometimes
produce artifacts in areas with no details, like sky.
- (no)dct_decimate
- Eliminate dct blocks in P-frames containing only a small single
coefficient (default: enabled). This will remove some details, so
it will save bits that can be spent again on other frames,
hopefully raising overall subjective quality. If you are
compressing non-anime content with a high target bitrate, you may
want to disable this to preserve as much detail as possible.
- nr=<0-100000>
- Noise reduction, 0 means disabled. 100-1000 is a useful range
for typical content, but you may want to turn it up a bit more for
very noisy content (default: 0). Given its small impact on speed,
you might want to prefer to use this over filtering noise away with
video filters like denoise3d or hqdn3d.
- chroma_qp_offset=<-12-12>
- Use a different quantizer for chroma as compared to luma.
Useful values are in the range <-2-2> (default: 0).
- cqm=<flat|jvt|<filename>>
- Either uses a predefined custom quantization matrix or loads a
JM format matrix file.
-
- s
- Use the predefined flat 16 matrix (default).
- s
- Use the predefined JVT matrix.
- s
- Use the provided JM format matrix file.
- NOTE: Windows CMD.EXE users may experience problems with
parsing the command line if they attempt to use all the CQM lists.
This is due to a command line length limitation. In this case it is
recommended the lists be put into a JM format CQM file and loaded
as specified above.
- cqm4iy=<list> (also see cqm)
- Custom 4x4 intra luminance matrix, given as a list of 16 comma
separated values in the 1-255 range.
- cqm4ic=<list> (also see cqm)
- Custom 4x4 intra chrominance matrix, given as a list of 16
comma separated values in the 1-255 range.
- cqm4py=<list> (also see cqm)
- Custom 4x4 inter luminance matrix, given as a list of 16 comma
separated values in the 1-255 range.
- cqm4pc=<list> (also see cqm)
- Custom 4x4 inter chrominance matrix, given as a list of 16
comma separated values in the 1-255 range.
- cqm8iy=<list> (also see cqm)
- Custom 8x8 intra luminance matrix, given as a list of 64 comma
separated values in the 1-255 range.
- cqm8py=<list> (also see cqm)
- Custom 8x8 inter luminance matrix, given as a list of 64 comma
separated values in the 1-255 range.
- level_idc=<10-51>
- Set the bitstream's level as defined by annex A of the H.264
standard (default: 51 - Level 5.1). This is used for telling the
decoder what capabilities it needs to support. Use this parameter
only if you know what it means, and you have a need to set it.
- threads=<1-4>
- Split each frame into slices and encode them in parallel
(default: 1). Also allows multithreaded decoding if the decoder
supports it (lavc does not). This has a slight penalty to
compression. Requires that libx264 was compiled with pthread
support; if not, this option will produce a warning and enables
slices but not multithreading.
- (no)global_header
- Causes SPS and PPS to appear only once, at the beginning of the
bitstream (default: disabled). Some players, such as the Sony PSP,
require the use of this option. The default behavior causes SPS and
PPS to repeat prior to each IDR frame.
- (no)interlaced
- Treat the video content as interlaced.
- log=<-1-3>
- Adjust the amount of logging info printed to the screen.
-
- s
- none
- s
- Print errors only.
- s
- warnings
- s
- PSNR and other analysis statistics when the encode finishes
(default)
- s
- PSNR, QP, frametype, size, and other statistics for every
frame
- (no)psnr
- Print signal-to-noise ratio statistics.
NOTE: The 'Y', 'U', 'V', and 'Avg' PSNR fields in the
summary are not mathematically sound (they are simply the average
of per-frame PSNRs). They are kept only for comparison to the JM
reference codec. For all other purposes, please use either the
'Global' PSNR, or the per-frame PSNRs printed by log=3.
- (no)ssim
- Print the Structural Similarity Metric results. This is an
alternative to PSNR, and may be better correlated with the
perceived quality of the compressed video.
- (no)visualize
- Enable x264 visualizations during encoding. If the x264 on your
system supports it, a new window will be opened during the encoding
process, in which x264 will attempt to present an overview of how
each frame gets encoded. Each block type on the visualized movie
will be colored as follows:
-
- s
- intra block
- s
- inter block
- s
- skip block
- s
- B-block
- This feature can be considered experimental and subject to
change. In particular, it depends on x264 being compiled with
visualizations enabled. Note that as of writing this, x264 pauses
after encoding and visualizing each frame, waiting for the user to
press a key, at which point the next frame will be
encoded.
xvfw (-xvfwopts)
Encoding with Video for Windows codecs is
mostly obsolete unless you wish to encode to some obscure fringe
codec.
- codec=<name>
- The name of the binary codec file with which to
encode.
MPEG muxer (-mpegopts)
The MPEG muxer can generate 5 types
of streams, each of which has reasonable default parameters that
the user can override. Generally, when generating MPEG files, it is
advisable to disable MEncoder's frame-skip code (see -noskip, -mc
as well as the harddup and softskip video filters).
EXAMPLE:
-
- s
- format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd>
- stream format (default: mpeg2)
- size=<up to 65535>
- Pack size in bytes, do not change unless you know exactly what
you are doing (default: 2048).
- muxrate=<int>
- Nominal muxrate in kbit/s used in the pack headers (default:
1800 kb/s). Will be updated as necessary in the case of
'format=mpeg1' or 'mpeg2'.
- tsaf
- Sets timestamps on all frames, if possible.
- init_vpts=<100-700>
- initial video pts, in milliseconds (default: 200)
- init_apts=<100-700>
- initial audio pts, in milliseconds (default: 200)
- vdelay=<1-32760>
- Initial video delay time, in milliseconds (default: 0), use it
if you want to delay video with respect to audio.
- drop
- When used with init_adelay the muxer drops the part of audio
that was anticipated.
- vwidth, vheight=<1-4095>
- Set the video width and height when video is MPEG-1/2.
- vpswidth, vpsheight=<1-4095>
- Set pan and scan video width and height when video is MPEG-2.
- vaspect=<1 | 4/3 | 16/9 | 221/100>
- Sets the display aspect ratio for MPEG-2 video. Do not use it
on MPEG-1 or the resulting aspect ratio will be completely wrong.
- vbitrate=<int>
- Sets the video bitrate in kbit/s for MPEG-1/2 video.
- vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 |
60000/1001 | 60 >
- Sets the framerate for MPEG-1/2 video. This option will be
ignored if used with the telecine option.
- telecine
- Enables 3:2 pulldown soft telecine mode: The muxer will make
the video stream look like it was encoded at 30000/1001 or 30 fps.
It only works with MPEG-2 video when the output framerate,
converted with -ofps, is either 24000/1001 or 24 fps. Any other
framerate is incompatible with this option.
- film2pal
- Enables FILM to PAL and NTSC to PAL soft telecine mode: The
muxer will make the video stream look like it was encoded at 25
fps. It only works with MPEG-2 video when the output framerate,
converted with -ofps, is either 24000/1001 or 24 fps. Any other
framerate is incompatible with this option.
FFmpeg libavformat demuxers (-lavfdopts)
- probesize=<value>
- Maximum amount of data to probe during the detection phase. In
the case of MPEG-TS this value identifies the maximum number of TS
packets to scan.
FFmpeg libavformat muxers (-lavfopts) (also see -of lavf)
- delay=<value>
- Currently only meaningful for MPEG[12]: Maximum allowed
distance, in seconds, between the reference timer of the output
stream (SCR) and the decoding timestamp (DTS) for any stream
present (demux to decode delay). Default is 0.7 (as mandated by the
standards defined by MPEG). Higher values require larger buffers
and must not be used.
- format=<container_format>
- Override which container format to mux into (default:
autodetect from output file extension).
-
- s
- MPEG-1 systems and MPEG-2 PS
- s
- Advanced Streaming Format
- s
- Audio Video Interleave file
- s
- Waveform Audio
- s
- Macromedia Flash
- s
- Macromedia Flash video files
- s
- RealAudio and RealVideo
- s
- SUN AU format
- s
- NUT open container format (experimental)
- s
- QuickTime
- s
- MPEG-4 format
- s
- Sony Digital Video container
- i_certify_that_my_video_stream_does_not_use_b_frames
- MEncoder cannot assign correct timestamps when there are
B-frames in the video stream, resulting in broken encodes.
- muxrate=<rate>
- Nominal bitrate of the multiplex, in bits per second; currently
it is meaningful only for MPEG[12]. Sometimes raising it is
necessary in order to avoid "buffer underflows".
- packetsize=<size>
- Size, expressed in bytes, of the unitary packet for the chosen
format. When muxing to MPEG[12] implementations the default values
are: 2324 for [S]VCD, 2048 for all others formats.
- preload=<distance>
- Currently only meaningful for MPEG[12]: Initial distance, in
seconds, between the reference timer of the output stream (SCR) and
the decoding timestamp (DTS) for any stream present (demux to
decode delay).
ENVIRONMENT VARIABLES
There are a number of environment
variables that can be used to control the behavior of MPlayer and
MEncoder.
- MPLAYER_CHARSET (also see -msgcharset)
- Convert console messages to the specified charset (default:
autodetect). A value of "noconv" means no conversion.
- MPLAYER_HOME
- Directory where MPlayer looks for user settings.
- MPLAYER_VERBOSE (also see -v and -msglevel)
- Set the initial verbosity level across all message modules
(default: 0). Negative values result in fewer messages while
positive values result in more.
libaf:
- LADSPA_PATH
- If LADSPA_PATH is set, it searches for the specified file. If
it is not set, you must supply a fully specified pathname. FIXME:
This is also mentioned in the ladspa section.
libmpdvdkit2:
- DVDCSS_CACHE
- Specify a directory in which to store title key values. This
- Specify a directory in which to store title key values. This
will speed up descrambling of DVDs which are in the cache. The
DVDCSS_CACHE directory is created if it does not exist, and a
subdirectory is created named after the DVD's title or
subdirectory is created named after the DVD's title or
manufacturing date. If DVDCSS_CACHE is not set or is empty,
libdvdcss will use the default value which is "${HOME}/.dvdcss/"
under Unix and "C:\Documents and Settings\$USER\Application
Data\dvdcss\" under Win32. The special value "off" disables
caching.
- DVDCSS_METHOD
- Sets the authentication and decryption method that libdvdcss
will use to read scrambled discs. Can be one of title, key or disc.
will use to read scrambled discs. Can be one of title, key or disc.
-
- s
- is the default method. libdvdcss will use a set of calculated
player keys to try and get the disc key. This can fail if the drive
does not recognize any of the player keys.
- s
- is a fallback method when key has failed. Instead of using
player keys, libdvdcss will crack the disc key using a brute force
algorithm. This process is CPU intensive and requires 64 MB of
memory to store temporary data.
- s
- is the fallback when all other methods have failed. It does not
rely on a key exchange with the DVD drive, but rather uses a crypto
attack to guess the title key. On rare cases this may fail because
attack to guess the title key. On rare cases this may fail because
there is not enough encrypted data on the disc to perform a
statistical attack, but in the other hand it is the only way to
decrypt a DVD stored on a hard disc, or a DVD with the wrong region
on an RPC2 drive.
- DVDCSS_RAW_DEVICE
- Specify the raw device to use. Exact usage will depend on your
operating system, the Linux utility to set up raw devices is
raw(8)
for instance. Please note that on most operating systems, using a
raw device requires highly aligned buffers: Linux requires a 2048
bytes alignment (which is the size of a DVD sector).
- DVDCSS_VERBOSE
- Sets the libdvdcss verbosity level.
-
- s
- Outputs no messages at all.
- s
- Outputs error messages to stderr.
- s
- Outputs error messages and debug messages to stderr.
- DVDREAD_NOKEYS
- Skip retrieving all keys on startup. Currently disabled.
- HOME
- FIXME: Document this.
libao2:
- AO_SUN_DISABLE_SAMPLE_TIMING
- FIXME: Document this.
- AUDIODEV
- FIXME: Document this.
- AUDIOSERVER
- Specifies the Network Audio System server to which the nas
audio output driver should connect and the transport that should be
used. If unset DISPLAY is used instead. The transport can be one of
tcp and unix. Syntax is tcp/<somehost>:<someport>,
<somehost>:<instancenumber> or
[unix]:<instancenumber>. The NAS base port is 8000 and
<instancenumber> is added to that.
- EXAMPLES:
-
- s
- Connect to NAS server on somehost using default port and
transport.
- s
- Connect to NAS server on somehost listening on TCP port 8000.
- s
- Connect to NAS server instance 0 on localhost using unix domain
sockets.
- DISPLAY
- FIXME: Document this.
vidix:
- VIDIX_CRT
- FIXME: Document this.
osdep:
- TERM
- FIXME: Document this.
libvo:
- DISPLAY
- FIXME: Document this.
- FRAMEBUFFER
- FIXME: Document this.
- HOME
- FIXME: Document this.
libmpdemux:
- HOME
- FIXME: Document this.
- HOMEPATH
- FIXME: Document this.
- http_proxy
- FIXME: Document this.
- LOGNAME
- FIXME: Document this.
- USERPROFILE
- FIXME: Document this.
libmpcodecs:
- XANIM_MOD_DIR
- FIXME: Document this.
GUI:
- CHARSET
- FIXME: Document this.
- DISPLAY
- FIXME: Document this.
- HOME
- FIXME: Document this.
libavformat:
- AUDIO_FLIP_LEFT
- FIXME: Document this.
- BKTR_DEV
- FIXME: Document this.
- BKTR_FORMAT
- FIXME: Document this.
- BKTR_FREQUENCY
- FIXME: Document this.
- http_proxy
- FIXME: Document this.
- no_proxy
- FIXME: Document this.
FILES
- /usr/:local/:etc/:mplayer/:mplayer.conf
- MPlayer system-wide settings
- /usr/:local/:etc/:mplayer/:mencoder.conf
- MEncoder system-wide settings
- ~/.mplayer/:config
- MPlayer user settings
- ~/.mplayer/:mencoder.conf
- MEncoder user settings
- ~/.mplayer/:input.conf
- input bindings (see '-input keylist' for the full list)
- ~/.mplayer/:gui.conf
- GUI configuration file
- ~/.mplayer/:gui.pl
- GUI playlist
- ~/.mplayer/:font/
- font directory (There must be a font.desc file and files with
.RAW extension.)
- ~/.mplayer/:DVDkeys/
- cached CSS keys
- Assuming that /path/:to/:movie.avi is played, MPlayer searches
for sub files
- in this order:
- /path/:to/:movie.sub
~/.mplayer/:sub/:movie.sub
EXAMPLES OF MPLAYER USAGE
Quickstart DVD playing:
mplayer dvd://1
Play in Japanese with English subtitles:
Play in Japanese with English subtitles:
mplayer dvd://1 -alang ja -slang en
Play only chapters 5, 6, 7:
mplayer dvd://1 -chapter 5-7
Play only titles 5, 6, 7:
Play only titles 5, 6, 7:
mplayer dvd://5-7
Play a multiangle DVD:
mplayer dvd://1 -dvdangle 2
Play from a different DVD device:
mplayer dvd://1 -dvd-device /dev/:dvd2
Play DVD video from a directory with VOB files:
mplayer dvd://1 -dvd-device /path/:to/:directory/
Copy a DVD title to hard disk, saving to file title1.vob:
Copy a DVD title to hard disk, saving to file title1.vob:
mplayer dvd://1 -dumpstream -dumpfile title1.vob
mplayer dvd://1 -dumpstream -dumpfile title1.vob
Stream from HTTP:
mplayer
Stream using RTSP:
mplayer rtsp://server.example.com/streamName
Convert subtitles to MPsub format:
Convert subtitles to MPsub format:
mplayer dummy.avi -sub source.sub -dumpmpsub
Convert subtitles to MPsub format without watching the
Convert subtitles to MPsub format without watching the
movie:
mplayer /dev/:zero -rawvideo pal:fps=xx -demuxer rawvideo -vc null -vo null -noframedrop -benchmark -sub source.sub -dumpmpsub
input from standard V4L:
mplayer tv:// -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv
Playback on Zoran cards (old style, deprecated):
mplayer -vo zr -vf scale=352:288 file.avi
Playback on Zoran cards (new style):
mplayer -vo zr2 -vf scale=352:288,zrmjpeg file.avi
Play a 6-channel AAC file with only two speakers:
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
You might want to play a bit with the pan values (e.g multiply with
a value) to increase volume or avoid clipping.
EXAMPLES OF MENCODER USAGE
Encode DVD title #2, only selected chapters:
Encode DVD title #2, only selected chapters:
mencoder dvd://2 -chapter 10-15 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
mencoder dvd://2 -chapter 10-15 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
Encode DVD title #2, resizing to 640x480:
Encode DVD title #2, resizing to 640x480:
mencoder dvd://2 -vf scale=640:480 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
mencoder dvd://2 -vf scale=640:480 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
Encode DVD title #2, resizing to 512xHHH (keep aspect
Encode DVD title #2, resizing to 512xHHH (keep aspect
ratio):
mencoder dvd://2 -vf scale -zoom -xy 512 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
mencoder dvd://2 -vf scale -zoom -xy 512 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
The same, but with bitrate set to 1800kbit and optimized
macroblocks:
mencoder dvd://2 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800
mencoder dvd://2 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800
The same, but with MJPEG compression:
mencoder dvd://2 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800
mencoder dvd://2 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800
Encode all *.jpg files in the current directory:
mencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4
Encode from a tuner (specify a format with -vf format):
mencoder -tv driver=v4l:width=640:height=480 tv:// -o tv.avi -ovc raw
Encode from a pipe:
rar p test-SVCD.rar | mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800 -ofps 24 -
BUGS
Don't panic. If you find one, report it to us, but
please make sure you have read all of the documentation first. Also
look out for smileys. :) Many bugs are the result of incorrect
setup or parameter usage. The bug reporting section of the
documentation (http://www.mplayerhq.hu/:DOCS/:HTML/:en/:bugreports.html)
explains how to create useful bug reports.
AUTHORS
MPlayer was initially written by Arpad Gereoffy.
See the AUTHORS file for a list of some of the many other
contributors.
MPlayer is (C) 2000-2006 The MPlayer Team
This man page was written mainly by Gabucino, Jonas Jermann and
Diego Biurrun. It is maintained by Diego Biurrun. Please send mails
about it to the MPlayer-DOCS mailing list. Translation specific
mails belong on the MPlayer-translations mailing list.