diff options
57 files changed, 323 insertions, 1598 deletions
diff --git a/.gitignore b/.gitignore index a3cff725c0..45b6ab2b9b 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ /config.h /config.mak /config.log -/mplayer +/mpv /version.h /codecs.conf.h /input/input_conf.h @@ -20,5 +20,5 @@ /libmpdemux/ebml_types.h /libvo/vdpau_template.c /sub/osd_font.h -DOCS/man/*/mplayer.1 +DOCS/man/*/mpv.1 @@ -1,3 +1,6 @@ +mpv is a fork of mplayer2, which is a fork of MPlayer. +Original MPlayer Copyright file follows below. + MPlayer was originally written by Árpád Gereöffy and has been extended and worked on by many more since then, see the AUTHORS file for an (incomplete) list. MPlayer as a whole is copyrighted by the MPlayer team. Individual diff --git a/DOCS/encoding.rst b/DOCS/encoding.rst index 67ad19bae6..84b1007afd 100644 --- a/DOCS/encoding.rst +++ b/DOCS/encoding.rst @@ -3,15 +3,15 @@ General usage :: - mplayer infile -o outfile [-of outfileformat] [-ofopts formatoptions] \ + mpv infile -o outfile [-of outfileformat] [-ofopts formatoptions] \ [-ofps outfps | -oautofps] [-oharddup] [-ocopyts | -orawts] [-oneverdrop] \ - [(any other mplayer options)] \ + [(any other mpv options)] \ -ovc outvideocodec [-ovcopts outvideocodecoptions] \ -oac outaudiocodec [-oacopts outaudiocodecoptions] Help for these options is provided if giving help as parameter, as in:: - mplayer -ovc help + mpv -ovc help The suboptions of these generally are identical to ffmpeg's (as option parsing is simply delegated to ffmpeg). The option -ocopyts enables copying timestamps @@ -25,7 +25,7 @@ from the input video. Note that not all codecs and not all formats support VFR encoding, and some which do have bugs when a target bitrate is specified - use -ofps or -oautofps to force CFR encoding in these cases. -Of course, the options can be stored in a profile, like this .mplayer/config +Of course, the options can be stored in a profile, like this .mpv/config section:: [myencprofile] @@ -40,7 +40,7 @@ section:: One can then encode using this profile using the command:: - mplayer infile -o outfile.mp4 -profile myencprofile + mpv infile -o outfile.mp4 -profile myencprofile Some example profiles are provided in a file etc/encoding-example-profiles.conf; as for this, see below. @@ -54,7 +54,7 @@ for. Typical MPEG-4 Part 2 ("ASP", "DivX") encoding, AVI container:: - mplayer infile -o outfile.avi \ + mpv infile -o outfile.avi \ -ofps 25 \ -ovc mpeg4 -ovcopts qscale=4 \ -oac libmp3lame -oacopts ab=128k @@ -65,19 +65,19 @@ for NTSC) Typical MPEG-4 Part 10 ("AVC", "H.264") encoding, Matroska (MKV) container:: - mplayer infile -o outfile.mkv \ + mpv infile -o outfile.mkv \ -ovc libx264 -ovcopts preset=medium,crf=23,profile=baseline \ -oac vorbis -oacopts qscale=3 Typical MPEG-4 Part 10 ("AVC", "H.264") encoding, MPEG-4 (MP4) container:: - mplayer infile -o outfile.mp4 \ + mpv infile -o outfile.mp4 \ -ovc libx264 -ovcopts preset=medium,crf=23,profile=baseline \ -oac aac -oacopts ab=128k Typical VP8 encoding, WebM (restricted Matroska) container:: - mplayer infile -o outfile.mkv \ + mpv infile -o outfile.mkv \ -of webm \ -ovc libvpx -ovcopts qmin=6,b=1000000k \ -oac libvorbis -oacopts qscale=3 @@ -90,10 +90,10 @@ As the options for various devices can get complex, profiles can be used. An example profile file for encoding is provided in etc/encoding-example-profiles.conf in the source tree. You can include it into -your configuration by doing, from the mplayer2-build directory:: +your configuration by doing, from the mpv-build directory:: - mkdir -p ~/.mplayer - echo "include = $PWD/mplayer/etc/encoding-example-profiles.conf" >> ~/.mplayer/config + mkdir -p ~/.mpv + echo "include = $PWD/mpv/etc/encoding-example-profiles.conf" >> ~/.mpv/config Refer to the top of that file for more comments - in a nutshell, the following options are added by it:: @@ -108,7 +108,7 @@ options are added by it:: You can encode using these with a command line like:: - mplayer infile -o outfile.mp4 -profile enc-to-bb-9000 + mpv infile -o outfile.mp4 -profile enc-to-bb-9000 Of course, you are free to override options set by these profiles by specifying them after the -profile option. @@ -122,15 +122,15 @@ What works * 2-pass encoding (specify flags=+pass1 in the first pass's -ovcopts, specify flags=+pass2 in the second pass) * Hardcoding subtitles using vobsub, ass or srt subtitle rendering (just - configure mplayer for the subtitles as usual) -* Hardcoding any other mplayer OSD (e.g. time codes, using -osdlevel 3 and -vf + configure mpv for the subtitles as usual) +* Hardcoding any other mpv OSD (e.g. time codes, using -osdlevel 3 and -vf expand=::::1) * Encoding directly from a DVD, network stream, webcam, or any other source - mplayer supports + mpv supports * Using x264 presets/tunings/profiles (by using profile=, tune=, preset= in the -ovcopts) -* Deinterlacing/Inverse Telecine with any of mplayer's filters for that -* Audio file converting: mplayer -o outfile.mp3 infile.flac -novideo -oac +* Deinterlacing/Inverse Telecine with any of mpv's filters for that +* Audio file converting: mpv -o outfile.mp3 infile.flac -novideo -oac libmp3lame -oacopts ab=320k * inverse telecine filters (confirmed working: detc, pullup, filmdint) diff --git a/DOCS/man/en/af.rst b/DOCS/man/en/af.rst index dc0450241f..1fe480dcdc 100644 --- a/DOCS/man/en/af.rst +++ b/DOCS/man/en/af.rst @@ -57,7 +57,7 @@ resample[=srate[:sloppy[:type]]] *EXAMPLE*: - ``mplayer --af=resample=44100:0:0`` + ``mpv --af=resample=44100:0:0`` would set the output frequency of the resample filter to 44100Hz using exact output frequency scaling and linear interpolation. @@ -200,7 +200,7 @@ equalizer=[g1:g2:g3:...:g10] *EXAMPLE*: - ``mplayer --af=equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi`` + ``mpv --af=equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi`` Would amplify the sound in the upper and lower frequency region while canceling it almost completely around 1kHz. @@ -223,13 +223,13 @@ channels=nch[:nr:from1:to1:from2:to2:from3:to3:...] *EXAMPLE*: - ``mplayer --af=channels=4:4:0:1:1:0:2:2:3:3 media.avi`` + ``mpv --af=channels=4:4:0:1:1:0:2:2:3:3 media.avi`` 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. - ``mplayer --af=channels=6:4:0:0:0:1:0:2:0:3 media.avi`` + ``mpv --af=channels=6:4:0:0:0:1:0:2:0:3 media.avi`` 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. @@ -242,7 +242,7 @@ format[=format] 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 + endianness of the computer mpv 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. @@ -260,7 +260,7 @@ volume[=v[:sc]] 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 feature currently + level and prints out that level when mpv exits. This feature currently only works with floating-point data, use e.g. ``--af-adv=force=5``, or use ``--af=stats``. @@ -281,7 +281,7 @@ volume[=v[:sc]] *EXAMPLE*: - ``mplayer --af=volume=10.1:0 media.avi`` + ``mpv --af=volume=10.1:0 media.avi`` Would amplify the sound by 10.1dB and hard-clip if the sound level is too high. @@ -306,10 +306,10 @@ pan=n[:L00:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...] *EXAMPLE*: - ``mplayer --af=pan=1:0.5:0.5 media.avi`` + ``mpv --af=pan=1:0.5:0.5 media.avi`` Would down-mix from stereo to mono. - ``mplayer --af=pan=3:1:0:0.5:0:1:0.5 media.avi`` + ``mpv --af=pan=3:1:0:0.5:0:1:0.5 media.avi`` 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). @@ -338,7 +338,7 @@ sub[=fc:ch] *EXAMPLE*: - ``mplayer --af=sub=100:4 --channels=5 media.avi`` + ``mpv --af=sub=100:4 --channels=5 media.avi`` Would add a sub-woofer channel with a cutoff frequency of 100Hz to output channel 4. @@ -367,7 +367,7 @@ surround[=delay] *EXAMPLE*: - ``mplayer --af=surround=15 --channels=4 media.avi`` + ``mpv --af=surround=15 --channels=4 media.avi`` Would add surround sound decoding with 15ms delay for the sound to the rear speakers. @@ -395,7 +395,7 @@ delay[=ch1:ch2:...] *EXAMPLE*: - ``mplayer --af=delay=10.5:10.5:0:0:7:0 media.avi`` + ``mpv --af=delay=10.5:10.5:0:0:7:0 media.avi`` Would delay front left and right by 10.5ms, the two rear channels and the sub by 0ms and the center channel by 7ms. @@ -410,14 +410,14 @@ export[=mmapped_file[:nsamples]] The rest is payload (non-interleaved) 16 bit data. <mmapped_file> - file to map data to (default: ``~/.mplayer/mplayer-af_export``) + file to map data to (default: ``~/.mpv/mpv-af_export``) <nsamples> number of samples per channel (default: 512) *EXAMPLE*: - ``mplayer --af=export=/tmp/mplayer-af_export:1024 media.avi`` - Would export 1024 samples per channel to ``/tmp/mplayer-af_export``. + ``mpv --af=export=/tmp/mpv-af_export:1024 media.avi`` + Would export 1024 samples per channel to ``/tmp/mpv-af_export``. extrastereo[=mul] (Linearly) increases the difference between left and right channels which @@ -461,7 +461,7 @@ ladspa=file:label[:controls...] <controls> 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 + In verbose mode (add ``-v`` to the mpv command line), all available controls and their valid ranges are printed. This eliminates the use of 'analyseplugin' from the LADSPA SDK. @@ -516,21 +516,21 @@ scaletempo[=option1:option2:...] *EXAMPLE*: - ``mplayer --af=scaletempo --speed=1.2 media.ogg`` + ``mpv --af=scaletempo --speed=1.2 media.ogg`` Would playback media at 1.2x normal speed, with audio at normal pitch. Changing playback speed, would change audio tempo to match. - ``mplayer --af=scaletempo=scale=1.2:speed=none --speed=1.2 media.ogg`` + ``mpv --af=scaletempo=scale=1.2:speed=none --speed=1.2 media.ogg`` Would playback media at 1.2x normal speed, with audio at normal pitch, but changing playback speed has no effect on audio tempo. - ``mplayer --af=scaletempo=stride=30:overlap=.50:search=10 media.ogg`` + ``mpv --af=scaletempo=stride=30:overlap=.50:search=10 media.ogg`` Would tweak the quality and performace parameters. - ``mplayer --af=format=floatne,scaletempo media.ogg`` + ``mpv --af=format=floatne,scaletempo media.ogg`` Would make scaletempo use float code. Maybe faster on some platforms. - ``mplayer --af=scaletempo=scale=1.2:speed=pitch audio.ogg`` + ``mpv --af=scaletempo=scale=1.2:speed=pitch audio.ogg`` Would playback audio file at 1.2x normal speed, with audio at normal pitch. Changing playback speed, would change pitch, leaving audio tempo at 1.2x. diff --git a/DOCS/man/en/ao.rst b/DOCS/man/en/ao.rst index 00dd1e9e6d..412d9ac939 100644 --- a/DOCS/man/en/ao.rst +++ b/DOCS/man/en/ao.rst @@ -9,7 +9,7 @@ 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 +If the list has a trailing ',' mpv 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. @@ -48,7 +48,7 @@ jack port=<name> Connects to the ports with the given name (default: physical ports). name=<client> - Client name that is passed to JACK (default: MPlayer [<PID>]). Useful + Client name that is passed to JACK (default: mpv [<PID>]). Useful if you want to have certain connections established automatically. (no-)estimate Estimate the audio delay, supposed to make the video playback smoother diff --git a/DOCS/man/en/changes.rst b/DOCS/man/en/changes.rst index cdbfb8f0ab..5b1c3ea4a6 100644 --- a/DOCS/man/en/changes.rst +++ b/DOCS/man/en/changes.rst @@ -3,10 +3,7 @@ CHANGES FROM OTHER VERSIONS OF MPLAYER ====================================== -xxx: since I don't have a new name yet, I'm referring to this version of mplayer -as **mplayer3**, I don't intend to use that name. - -**mplayer3** is based on mplayer2, which in turn is based on the original +**mpv** is based on mplayer2, which in turn is based on the original MPlayer (also called mplayer, mplayer-svn, mplayer1). Many changes have been made. Some changes are incompatible, or completely change how the player behaves. @@ -37,7 +34,7 @@ General changes for mplayer-svn to mplayer2 * General code cleanups * Many more changes -General changes for mplayer2 to mplayer3 +General changes for mplayer2 to mpv ---------------------------------------- * Removal of lots of unneeded code to encourage developer activity (less @@ -51,9 +48,9 @@ General changes for mplayer2 to mplayer3 languages like Arabic should be better supported. * Cleaned up terminal output (nicer status line, less useless noise) * Support for playing URLs of popular streaming sites directly - (e.g. ``mplayer3 https://www.youtube.com/watch?v=...``) + (e.g. ``mpv https://www.youtube.com/watch?v=...``) * Improved OpenGL output (``vo_opengl``) -* Make ``--softvol`` default (**mplayer3** is not a mixer control panel) +* Make ``--softvol`` default (**mpv** is not a mixer control panel) * Improved support for .cue files * Screenshot improvements (can save screenshots as JPG, configurable filenames) * Removal of teletext support @@ -113,7 +110,7 @@ input.conf and slave commands Other ~~~~~ -* The playtree has been removed. **mplayer3**'s internal playlist is a simple and +* The playtree has been removed. **mpv**'s internal playlist is a simple and flat list now. This makes the code easier, and makes using it less confusing. * Slave mode is broken. This mode is entirely insane in the ``old`` versions of mplayer. A proper slave mode application needed tons of code and hacks to get @@ -123,7 +120,7 @@ Other slave mode application, and as such it's virtually impossible to improve terminal output intended for users without possibly breaking something. - This is absolutely insane, and **mplayer3** will not try to keep slave mode + This is absolutely insane, and **mpv** will not try to keep slave mode compatible. If you're a developer of a slave mode application, contact us, and a new and better protocol can be developed. @@ -152,6 +149,6 @@ Why this fork? withheld as to not turn this into a rant. * mplayer-svn rarely merged from mplayer2, and mplayer2 practically stopped merging from mplayer-svn (not even code cleanups or new features are merged) -* **mplayer3** intents to continuously merge from mplayer-svn and mplayer2, while +* **mpv** intents to continuously merge from mplayer-svn and mplayer2, while speeding up development. There is willingness for significant changes, even if this means breaking compatibility. diff --git a/DOCS/man/en/mplayer.rst b/DOCS/man/en/mpv.rst index 89b03737c3..2cca30c383 100644 --- a/DOCS/man/en/mplayer.rst +++ b/DOCS/man/en/mpv.rst @@ -1,32 +1,32 @@ -mplayer2 manual page +mpv manual page #################### Synopsis ======== -| **mplayer** [options] [file|URL|-] -| **mplayer** [options] --playlist=PLAYLIST -| **mplayer** [options] files -| **mplayer** [options] {group of files and options} -| **mplayer** [bd]://[title][/device] [options] -| **mplayer** dvd://[title|[start\_title]-end\_title][/device] [options] -| **mplayer** \vcd://track[/device] -| **mplayer** \tv://[channel][/input_id] [options] -| **mplayer** radio://[channel|frequency][/capture] [options] -| **mplayer** \pvr:// [options] -| **mplayer** \dvb://[card\_number@]channel [options] -| **mplayer** \mf://[filemask|\@listfile] [-mf options] [options] -| **mplayer** [cdda|cddb]://track[-endtrack][:speed][/device] [options] -| **mplayer** [file|mms[t]|http|http\_proxy|rt[s]p|ftp|udp|unsv|icyx|noicyx|smb]:// [user:pass\@]URL[:port] [options] -| **mplayer** \sdp://file [options] -| **mplayer** \mpst://host[:port]/URL [options] -| **mplayer** \tivo://host/[list|llist|fsid] [options] +| **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 =========== -**mplayer** is a movie player for Linux. It supports a wide variety of video +**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 @@ -39,8 +39,8 @@ page. INTERACTIVE CONTROL =================== -MPlayer has a fully configurable, command-driven control layer which allows you -to control MPlayer using keyboard, mouse, joystick or remote control (with +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 @@ -283,9 +283,9 @@ the *XXX* option or if *XXX* is compiled in. | It has the following format: | %n%string\_of\_length\_n | *EXAMPLES*: -| `mplayer --ao pcm:file=%10%C:test.wav test.avi` +| `mpv --ao pcm:file=%10%C:test.wav test.avi` | Or in a script: -| `mplayer --ao pcm:file=%\`expr length "$NAME"\`%"$NAME" test.avi` +| `mpv --ao pcm:file=%\`expr length "$NAME"\`%"$NAME" test.avi` Per-file options @@ -294,7 +294,7 @@ Per-file options When playing multiple files, any option given on the command line usually affects all files. Example: -`mplayer --a file1.mkv --b file2.mkv --c` +`mpv --a file1.mkv --b file2.mkv --c` +-----------+-------------------------+ | File | Active options | @@ -311,7 +311,7 @@ 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: -`mplayer --a file1.mkv --b --\\\{ --c file2.mkv --d file3.mkv --e --\\\} file4.mkv --f` +`mpv --a file1.mkv --b --\\\{ --c file2.mkv --d file3.mkv --e --\\\} file4.mkv --f` +-----------+-------------------------+ | File | Active options | @@ -334,9 +334,9 @@ CONFIGURATION FILES =================== You can put all of the options in configuration files which will be read every -time MPlayer is run. The system-wide configuration file 'mplayer.conf' is in -your configuration directory (e.g. ``/etc/mplayer`` or -``/usr/local/etc/mplayer``), the user specific one is ``~/.mplayer/config``. +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=<value>``, everything after a *#* is considered a comment. Options @@ -347,16 +347,16 @@ 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 -``~/.mplayer/``. You can also put the configuration file in the same directory +``~/.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 ``~/.mplayer``. In addition, the +file-specific configuration is loaded from ``~/.mpv``. In addition, the ``--use-filedir-conf`` option enables directory-specific configuration files. -For this, MPlayer first tries to load a mplayer.conf from the same directory +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 MPLAYER CONFIGURATION FILE:* +*EXAMPLE MPV CONFIGURATION FILE:* | # Use gl3 video output by default. | vo=gl3 @@ -379,7 +379,7 @@ 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 MPLAYER PROFILE:* +*EXAMPLE MPV PROFILE:* | [protocol.dvd] | profile-desc="profile for dvd:// streams" @@ -438,22 +438,22 @@ ENVIRONMENT VARIABLES ===================== There are a number of environment variables that can be used to control the -behavior of MPlayer. +behavior of mpv. -``MPLAYER_CHARSET`` (see also ``--msgcharset``) +``MPV_CHARSET`` (see also ``--msgcharset``) Convert console messages to the specified charset (default: autodetect). A value of "noco |