From 65fc530f0c3ff02f982a0e4c74988d4a53730f04 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 11 Oct 2012 02:04:08 +0200 Subject: Rename to "mpv" This changes the name of this project to mpv. Most user-visible mentions of "MPlayer" and "mplayer" are changed to "mpv". The binary name and the default config file location are changed as well. The new default config file location is: ~/.mpv/ Remove etc/mplayer.desktop. Apparently this was for the MPlayer GUI, which has been removed from mplayer2 ages ago. We don't have a logo, and the MS Windows resource files sort-of require one, so leave etc/mplayer.ico/.xpm as-is. Remove the debian and rpm packaging scripts. These contained outdated dependencies and likely were more harmful than useful. (Patches which add working and well-tested packaging are welcome.) --- DOCS/man/en/mpv.rst | 676 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 676 insertions(+) create mode 100644 DOCS/man/en/mpv.rst (limited to 'DOCS/man/en/mpv.rst') diff --git a/DOCS/man/en/mpv.rst b/DOCS/man/en/mpv.rst new file mode 100644 index 0000000000..2cca30c383 --- /dev/null +++ b/DOCS/man/en/mpv.rst @@ -0,0 +1,676 @@ +mpv manual page +#################### + +Synopsis +======== + +| **mpv** [options] [file|URL|-] +| **mpv** [options] --playlist=PLAYLIST +| **mpv** [options] files +| **mpv** [options] {group of files and options} +| **mpv** [bd]://[title][/device] [options] +| **mpv** dvd://[title|[start\_title]-end\_title][/device] [options] +| **mpv** \vcd://track[/device] +| **mpv** \tv://[channel][/input_id] [options] +| **mpv** radio://[channel|frequency][/capture] [options] +| **mpv** \pvr:// [options] +| **mpv** \dvb://[card\_number@]channel [options] +| **mpv** \mf://[filemask|\@listfile] [-mf options] [options] +| **mpv** [cdda|cddb]://track[-endtrack][:speed][/device] [options] +| **mpv** [file|mms[t]|http|http\_proxy|rt[s]p|ftp|udp|unsv|icyx|noicyx|smb]:// [user:pass\@]URL[:port] [options] +| **mpv** \sdp://file [options] +| **mpv** \mpst://host[:port]/URL [options] +| **mpv** \tivo://host/[list|llist|fsid] [options] + + +DESCRIPTION +=========== + +**mpv** is a movie player based on MPlayer and mplayer2. It supports a wide variety of video +file formats, audio and video codecs, and subtitle types. Special input URL +types are available to read input from a variety of sources other than disk +files. Depending on platform, a variety of different video and audio output +methods are supported. + +Usage examples to get you started quickly can be found at the end of this man +page. + + +INTERACTIVE CONTROL +=================== + +mpv has a fully configurable, command-driven control layer which allows you +to control mpv using keyboard, mouse, joystick or remote control (with +LIRC). See the ``--input`` option for ways to customize it. + +keyboard control +---------------- + +LEFT and RIGHT + Seek backward/forward 10 seconds. Shift+arrow does a 1 second exact seek + (see ``--hr-seek``; currently modifier keys like shift only work if used in + an X output window). + +UP and DOWN + Seek forward/backward 1 minute. Shift+arrow does a 5 second exact seek (see + ``--hr-seek``; currently modifier keys like shift only work if used in an X + output window). + +PGUP and PGDWN + Seek forward/backward 10 minutes. + +[ and ] + Decrease/increase current playback speed by 10%. + +{ and } + Halve/double current playback speed. + +BACKSPACE + Reset playback speed to normal. + +< and > + Go backward/forward in the playlist. + +ENTER + Go forward in the playlist, even over the end. + +p / SPACE + Pause (pressing again unpauses). + +. + Step forward. Pressing once will pause movie, every consecutive press will + play one frame and then go into pause mode again. + +q / ESC + Stop playing and quit. + +U + Stop playing (and quit if ``--idle`` is not used). + +\+ and - + Adjust audio delay by +/- 0.1 seconds. + +/ and * + Decrease/increase volume. + +9 and 0 + Decrease/increase volume. + +( and ) + Adjust audio balance in favor of left/right channel. + +m + Mute sound. + +\_ + Cycle through the available video tracks. + +\# + Cycle through the available audio tracks. + +TAB (MPEG-TS and libavformat only) + Cycle through the available programs. + +f + Toggle fullscreen (see also ``--fs``). + +T + Toggle stay-on-top (see also ``--ontop``). + +w and e + Decrease/increase pan-and-scan range. + +o + Toggle OSD states: none / seek / seek + timer / seek + timer + total time. + +d + Toggle frame dropping states: none / skip display / skip decoding (see + ``--framedrop`` and ``--hardframedrop``). + +v + Toggle subtitle visibility. + +j and J + Cycle through the available subtitles. + +y and g + Adjust subtitle delay to immediately display previous/next subtitle. + +F + Toggle displaying "forced subtitles". + +a + Toggle subtitle alignment: top / middle / bottom. + +x and z + Adjust subtitle delay by +/- 0.1 seconds. + +V + Toggle subtitle VSFilter aspect compatibility mode. See + ``--ass-vsfilter-aspect-compat`` for more info. + +C (``--capture`` only) + Start/stop capturing the primary stream. + +r and t + Move subtitles up/down. + +i (``--edlout`` mode only) + Set start or end of an EDL skip and write it out to the given file. + +s + Take a screenshot. + +S + Start/stop taking screenshots. + +I + Show filename on the OSD. + +P + Show progression bar, elapsed time and total duration on the OSD. + +! and @ + Seek to the beginning of the previous/next chapter. + +D (``--vo=vdpau``, ``--vf=yadif``, ``--vf=kerndeint`` only) + Activate/deactivate deinterlacer. + +A + Cycle through the available DVD angles. + +c + Change YUV colorspace. + +(The following keys are valid only when using a video output that supports the +corresponding adjustment, the software equalizer (``--vf=eq`` or ``--vf=eq2``) +or hue filter (``--vf=hue``).) + +1 and 2 + Adjust contrast. + +3 and 4 + Adjust brightness. + +5 and 6 + Adjust hue. + +7 and 8 + Adjust saturation. + +(The following keys are valid only when using the corevideo video output +driver.) + +command + 0 + Resize movie window to half its original size. + +command + 1 + Resize movie window to its original size. + +command + 2 + Resize movie window to double its original size. + +command + f + Toggle fullscreen (see also ``--fs``). + +command + [ and command + ] + Set movie window alpha. + +(The following keys are valid if you have a keyboard with multimedia keys.) + +PAUSE + Pause. + +STOP + Stop playing and quit. + +PREVIOUS and NEXT + Seek backward/forward 1 minute. + +(The following keys are only valid if you compiled with TV or DVB input +support and will take precedence over the keys defined above.) + +h and k + Select previous/next channel. + +n + Change norm. + +u + Change channel list. + +mouse control +------------- + +button 3 and button 4 + Seek backward/forward 1 minute. + +button 5 and button 6 + Decrease/increase volume. + +joystick control +---------------- + +left and right + Seek backward/forward 10 seconds. + +up and down + Seek forward/backward 1 minute. + +button 1 + Pause. + +button 2 + Toggle OSD states: none / seek / seek + timer / seek + timer + total time. + +button 3 and button 4 + Decrease/increase volume. + + +USAGE +===== + +Every *flag* option has a *no-flag* counterpart, e.g. the opposite of the +``--fs`` option is ``--no-fs``. ``--fs=yes`` is same as ``--fs``, ``--fs=no`` +is the same as ``--no-fs``. + +If an option is marked as *(XXX only)*, it will only work in combination with +the *XXX* option or if *XXX* is compiled in. + +| *NOTE*: The suboption parser (used for example for ``--ao=pcm`` suboptions) + supports a special kind of string-escaping intended for use with external + GUIs. +| It has the following format: +| %n%string\_of\_length\_n +| *EXAMPLES*: +| `mpv --ao pcm:file=%10%C:test.wav test.avi` +| Or in a script: +| `mpv --ao pcm:file=%\`expr length "$NAME"\`%"$NAME" test.avi` + + +Per-file options +---------------- + +When playing multiple files, any option given on the command line usually +affects all files. Example: + +`mpv --a file1.mkv --b file2.mkv --c` + ++-----------+-------------------------+ +| File | Active options | ++===========+=========================+ +| file1.mkv | --a --b --c | ++-----------+-------------------------+ +| file2.mkv | --a --b --c | ++-----------+-------------------------+ + +Also, if any option is changed at runtime (via slave commands), they aren't +reset when a new file is played. + +Sometimes, it's useful to change options per-file. This can be achieved by +adding the special per-file markers `--{` and `--}`. (Note that you must +escape these on some shells.) Example: + +`mpv --a file1.mkv --b --\\\{ --c file2.mkv --d file3.mkv --e --\\\} file4.mkv --f` + ++-----------+-------------------------+ +| File | Active options | ++===========+=========================+ +| file1.mkv | --a --b --f | ++-----------+-------------------------+ +| file2.mkv | --a --b --f --c --d --e | ++-----------+-------------------------+ +| file3.mkv | --a --b --f --c --d --e | ++-----------+-------------------------+ +| file4.mkv | --a --b --f | ++-----------+-------------------------+ + +Additionally, any file-local option changed at runtime is reset when the current +file stops playing. If option ``--c`` is changed during playback of `file2.mkv`, +it's reset when advancing to `file3.mkv`. This only affects file-local options. +The option ``--a`` is never reset here. + +CONFIGURATION FILES +=================== + +You can put all of the options in configuration files which will be read every +time mpv is run. The system-wide configuration file 'mpv.conf' is in +your configuration directory (e.g. ``/etc/mpv`` or +``/usr/local/etc/mpv``), the user specific one is ``~/.mpv/config``. +User specific options override system-wide options and options given on the +command line override either. The syntax of the configuration files is +``option=``, everything after a *#* is considered a comment. Options +that work without values can be enabled by setting them to *yes* or *1* or +*true* and disabled by setting them to *no* or *0* or *false*. Even suboptions +can be specified in this way. + +You can also write file-specific configuration files. If you wish to have a +configuration file for a file called 'movie.avi', create a file named +'movie.avi.conf' with the file-specific options in it and put it in +``~/.mpv/``. You can also put the configuration file in the same directory +as the file to be played, as long as you give the ``--use-filedir-conf`` +option (either on the command line or in your global config file). If a +file-specific configuration file is found in the same directory, no +file-specific configuration is loaded from ``~/.mpv``. In addition, the +``--use-filedir-conf`` option enables directory-specific configuration files. +For this, mpv first tries to load a mpv.conf from the same directory +as the file played and then tries to load any file-specific configuration. + +*EXAMPLE MPV CONFIGURATION FILE:* + +| # Use gl3 video output by default. +| vo=gl3 +| # I love practicing handstands while watching videos. +| flip=yes +| # Decode multiple files from PNG, +| # start with mf://filemask +| mf=type=png:fps=25 +| # Eerie negative images are cool. +| vf=eq2=1.0:-0.8 + + +PROFILES +======== + +To ease working with different configurations profiles can be defined in the +configuration files. A profile starts with its name between square brackets, +e.g. *[my-profile]*. All following options will be part of the profile. A +description (shown by ``--profile=help``) can be defined with the profile-desc +option. To end the profile, start another one or use the profile name +*default* to continue with normal options. + +*EXAMPLE MPV PROFILE:* + +| [protocol.dvd] +| profile-desc="profile for dvd:// streams" +| vf=pp=hb/vb/dr/al/fd +| alang=en +| +| [extension.flv] +| profile-desc="profile for .flv files" +| flip=yes +| +| [ao.alsa] +| device=spdif + + +OPTIONS +======= + +.. include:: options.rst + +.. include:: ao.rst + +.. include:: vo.rst + +.. include:: af.rst + +.. include:: vf.rst + +.. include:: encode.rst + +Taking screenshots +================== + +Screenshots of the currently played file can be taken using the 'screenshot' +slave mode command, which is by default bound to the ``s`` key. Files named +``shotNNNN.png`` will be saved in the working directory, using the first +available number - no files will be overwritten. + +A screenshot will usually contain the unscaled video contents at the end of the +video filter chain. Some video output drivers will include subtitles and OSD in +the video frame as well - this is because of technical restrictions. + +The ``screenshot`` video filter is normally not required when using a +recommended GUI video output driver. The ``screenshot`` filter will be attempted +to be used if the video output doesn't support screenshots. Note that taking +screenshots with the video filter is not instant: the screenshot will be only +saved when the next video frame is displayed. This means attempting to take a +screenshot while the player is paused will do nothing, until the user unpauses +or seeks. Also, the screenshot filter is not compatible with hardware decoding, +and actually will cause initialization failure when use with hardware decoding +is attempted. Using the ``screenshot`` video filter is not recommended for +these reasons. + +.. include:: changes.rst + +ENVIRONMENT VARIABLES +===================== + +There are a number of environment variables that can be used to control the +behavior of mpv. + +``MPV_CHARSET`` (see also ``--msgcharset``) + Convert console messages to the specified charset (default: autodetect). A + value of "noconv" means no conversion. + +``MPV_HOME`` + Directory where mpv looks for user settings. + +``MPV_LOCALEDIR`` + Directory where mpv looks for gettext translation files (if enabled). + +``MPV_VERBOSE`` (see also ``-v`` and ``--msglevel``) + Set the initial verbosity level across all message modules (default: 0). + The resulting verbosity corresponds to that of ``--msglevel=5`` plus the + value of ``MPV_VERBOSE``. + +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. + +libdvdcss: + ``DVDCSS_CACHE`` + 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 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. + + key + 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. + + disc + 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. + + title + 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 + there is not enough encrypted data on the disc to perform a + statistical attack, but on 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. + + :0: Outputs no messages at all. + :1: Outputs error messages to stderr. + :2: Outputs error messages and debug messages to stderr. + + ``DVDREAD_NOKEYS`` + Skip retrieving all keys on startup. Currently disabled. + + ``HOME`` + FIXME: Document this. + +libao2: + ``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/:``, + ``:`` or ``[unix]:``. The + NAS base port is 8000 and is added to that. + + *EXAMPLES*: + + ``AUDIOSERVER=somehost:0`` + Connect to NAS server on somehost using default port and + transport. + ``AUDIOSERVER=tcp/somehost:8000`` + Connect to NAS server on somehost listening on TCP port 8000. + ``AUDIOSERVER=(unix)?:0`` + Connect to NAS server instance 0 on localhost using unix domain + sockets. + + ``DISPLAY`` + 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. + +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/mpv/mpv.conf`` + mpv system-wide settings + +``~/.mpv/config`` + mpv user settings + +``~/.mpv/input.conf`` + input bindings (see ``--input=keylist`` for the full list) + +``~/.mpv/DVDkeys/`` + cached CSS keys + + +EXAMPLES OF MPV USAGE +========================= + +Quickstart Blu-ray playing: + - ``mpv bd:////path/to/disc`` + - ``mpv bd:// --bluray-device=/path/to/disc`` + +Quickstart DVD playing: + ``mpv dvd://1`` + +Play in Japanese with English subtitles: + ``mpv dvd://1 --alang=ja --slang=en`` + +Play only chapters 5, 6, 7: + ``mpv dvd://1 --chapter=5-7`` + +Play only titles 5, 6, 7: + ``mpv dvd://5-7`` + +Play a multiangle DVD: + ``mpv dvd://1 --dvdangle=2`` + +Play from a different DVD device: + ``mpv dvd://1 --dvd-device=/dev/dvd2`` + +Play DVD video from a directory with VOB files: + ``mpv dvd://1 --dvd-device=/path/to/directory/`` + +Stream from HTTP: + ``mpv http://mpv.hq/example.avi`` + +Stream using RTSP: + ``mpv rtsp://server.example.com/streamName`` + +input from standard V4L: + ``mpv tv:// --tv=driver=v4l:width=640:height=480:outfmt=i420 --vc=rawi420 --vo=xv`` + +Play DTS-CD with passthrough: + ``mpv --ac=hwdts --rawaudio=format=0x2001 --cdrom-device=/dev/cdrom cdda://`` + + You can also use ``--afm=hwac3`` instead of ``--ac=hwdts``. Adjust + ``/dev/cdrom`` to match the CD-ROM device on your system. If your external + receiver supports decoding raw DTS streams, you can directly play it via + ``cdda://`` without setting format, hwac3 or hwdts. + +Play a 6-channel AAC file with only two speakers: + ``mpv --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. + +checkerboard invert with geq filter: + ``mpv --vf=geq='128+(p(X\,Y)-128)*(0.5-gt(mod(X/SW\,128)\,64))*(0.5-gt(mod(Y/SH\,128)\,64))*4'`` + + +AUTHORS +======= + +mpv is a MPlayer fork based on mplayer2, which in turn is a fork of MPlayer. + +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-2012 The MPlayer Team + +This man page was written mainly by Gabucino, Jonas Jermann and Diego Biurrun. -- cgit v1.2.3