OPTIONS ======= ``--ad=<[+|-]family1:(*|decoder1),[+|-]family2:(*|decoder2),...[-]>`` Specify a priority list of audio decoders to be used, according to their family and decoder name. Entries like ``family:*`` prioritize all decoders of the given family. When determining which decoder to use, the first decoder that matches the audio format is selected. If that is unavailable, the next decoder is used. Finally, it tries all other decoders that are not explicitly selected or rejected by the option. ``-`` at the end of the list suppresses fallback on other available decoders not on the ``--ad`` list. ``+`` in front of an entry forces the decoder. Both of these should not normally be used, because they break normal decoder auto-selection! ``-`` in front of an entry disables selection of the decoder. .. admonition:: Examples ``--ad=lavc:mp3float`` Prefer the FFmpeg/Libav ``mp3float`` decoder over all other mp3 decoders. ``--ad=spdif:ac3,lavc:*`` Always prefer spdif AC3 over FFmpeg/Libav over anything else. ``--ad=help`` List all available decoders. ``--ad-lavc-ac3drc=`` Select the Dynamic Range Compression level for AC-3 audio streams. ```` is a float value ranging from 0 to 1, where 0 means no compression and 1 (which is the default) means full compression (make loud passages more silent and vice versa). Values up to 2 are also accepted, but are purely experimental. This option only shows an effect if the AC-3 stream contains the required range compression information. ``--ad-lavc-downmix=`` Whether to request audio channel downmixing from the decoder (default: yes). Some decoders, like AC-3, AAC and DTS, can remix audio on decoding. The requested number of output channels is set with the ``--audio-channels`` option. Useful for playing surround audio on a stereo system. ``--ad-lavc-threads=<0-16>`` Number of threads to use for decoding. Whether threading is actually supported depends on codec. As of this writing, it's supported for some lossless codecs only. 0 means autodetect number of cores on the machine and use that, up to the maximum of 16 (default: 1). ``--ad-lavc-o==[,=[,...]]`` Pass AVOptions to libavcodec decoder. Note, a patch to make the o= unneeded and pass all unknown options through the AVOption system is welcome. A full list of AVOptions can be found in the FFmpeg manual. ``--ad-spdif-dtshd=``, ``--dtshd``, ``--no-dtshd`` When using DTS passthrough, output any DTS-HD track as-is. With ``ad-spdif-dtshd=no`` (the default), only the DTS Core parts will be output. DTS-HD tracks can be sent over HDMI but not over the original coax/toslink S/PDIF system. Some receivers don't accept DTS core-only when ``--ad-spdif-dtshd=yes`` is used, even though they accept DTS-HD. ``--dtshd`` and ``--no-dtshd`` are deprecated aliases. ``--af=`` Specify a list of audio filters to apply to the audio stream. See `AUDIO FILTERS`_ for details and descriptions of the available filters. The option variants ``--af-add``, ``--af-pre``, ``--af-del`` and ``--af-clr`` exist to modify a previously specified list, but you should not need these for typical use. ``--aid=`` Select audio channel. ``auto`` selects the default, ``no`` disables audio. See also ``--alang``. ``--alang=`` Specify a priority list of audio languages to use. Different container formats employ different language codes. DVDs use ISO 639-1 two-letter language codes, Matroska, MPEG-TS and NUT use ISO 639-2 three-letter language codes, while OGM uses a free-form identifier. See also ``--aid``. .. admonition:: Examples ``mpv dvd://1 --alang=hu,en`` Chooses the Hungarian language track on a DVD and falls back on English if Hungarian is not available. ``mpv --alang=jpn example.mkv`` Plays a Matroska file in Japanese. ``--ao=`` Specify a priority list of audio output drivers to be used. For interactive use one would normally specify a single one to use, but in configuration files specifying a list of fallbacks may make sense. See `AUDIO OUTPUT DRIVERS`_ for details and descriptions of available drivers. ``--sub-ass``, ``--no-sub-ass`` Render ASS subtitles natively (enabled by default). If ``--no-sub-ass`` is specified, all tags and style declarations are stripped and ignored on display. The subtitle renderer uses the font style as specified by the ``--sub-text-`` options instead. .. note:: Using ``--no-sub-ass`` may lead to incorrect or completely broken rendering of ASS/SSA subtitles. It can sometimes be useful to forcibly override the styling of ASS subtitles, but should be avoided in general. .. note:: Try using ``--ass-style-override=force`` instead. ``--ass-force-style=<[Style.]Param=Value[,...]>`` Override some style or script info parameters. .. admonition:: Examples - ``--ass-force-style=FontName=Arial,Default.Bold=1`` - ``--ass-force-style=PlayResY=768`` .. note:: Using this option may lead to incorrect subtitle rendering. ``--ass-hinting=none|light|normal|native`` Set font hinting type. can be: :none: no hinting (default) :light: FreeType autohinter, light mode :normal: FreeType autohinter, normal mode :native: font native hinter .. admonition:: Warning Enabling hinting can lead to mispositioned text (in situations it's supposed to match up with video background), or reduce the smoothness of animations with some badly authored ASS scripts. It is recommended to not use this option, unless really needed. ``--ass-line-spacing=`` Set line spacing value for SSA/ASS renderer. ``--ass-shaper=simple|complex`` Set the text layout engine used by libass. :simple: uses Fribidi only, fast, doesn't render some languages correctly :complex: uses HarfBuzz, slower, wider language support ``complex`` is the default. If libass hasn't been compiled against HarfBuzz, libass silently reverts to ``simple``. ``--ass-styles=`` Load all SSA/ASS styles found in the specified file and use them for rendering text subtitles. The syntax of the file is exactly like the ``[V4 Styles]`` / ``[V4+ Styles]`` section of SSA/ASS. .. note:: Using this option may lead to incorrect subtitle rendering. ``--ass-style-override=`` Control whether user style overrides should be applied. :yes: Apply all the ``--ass-*`` style override options. Changing the default for any of these options can lead to incorrect subtitle rendering (default). :no: Render subtitles as forced by subtitle scripts. :force: Try to force the font style as defined by the ``--sub-text-*`` options. Requires a modified libass, can break rendering easily. Probably more reliable than ``force``. ``--ass-use-margins`` Enables placing toptitles and subtitles in black borders when they are available. ``--ass-vsfilter-aspect-compat=`` Stretch SSA/ASS subtitles when playing anamorphic videos for compatibility with traditional VSFilter behavior. This switch has no effect when the video is stored with square pixels. The renderer historically most commonly used for the SSA/ASS subtitle formats, VSFilter, had questionable behavior that resulted in subtitles being stretched too if the video was stored in anamorphic format that required scaling for display. This behavior is usually undesirable and newer VSFilter versions may behave differently. However, many existing scripts compensate for the stretching by modifying things in the opposite direction. Thus, if such scripts are displayed "correctly", they will not appear as intended. This switch enables emulation of the old VSFilter behavior (undesirable but expected by many existing scripts). Enabled by default. ``--ass-vsfilter-blur-compat=`` Scale ``\blur`` tags by video resolution instead of script resolution (enabled by default). This is bug in VSFilter, which according to some, can't be fixed anymore in the name of compatibility. Note that this uses the actual video resolution for calculating the offset scale factor, not what the video filter chain or the video output use. ``--ass-vsfilter-color-compat=`` Mangle colors like (xy-)vsfilter do (default: basic). Historically, VSFilter was not colorspace aware. This was no problem as long as the colorspace used for SD video (BT.601) was used. But when everything switched to HD (BT.709), VSFilter was still converting RGB colors to BT.601, rendered them into the video frame, and handled the frame to the video output, which would use BT.709 for conversion to RGB. The result were mangled subtitle colors. Later on, bad hacks were added on top of the ASS format to control how colors are to be mangled. :basic: Handle only BT.601->BT.709 mangling, if the subtitles seem to indicate that this is required (default). :full: Handle the full ``YCbCr Matrix`` header with all video colorspaces supported by libass and mpv. This might lead to bad breakages in corner cases and is not strictly needed for compatibility (hopefully), which is why this is not default. :force-601: Force BT.601->BT.709 mangling, regardless of subtitle headers or video colorspace. :no: Disable color mangling completely. All colors are RGB. Choosing anything other than ``no`` will make the subtitle color depend on the video colorspace, and it's for example in theory not possible to reuse a subtitle script with another video file. The ``--ass-style-override`` option doesn't affect how this option is interpreted. ``--audio-channels=`` Request a channel layout for audio output (default: stereo). This will ask the AO to open a device with the given channel layout. It's up to the AO to accept this layout, or to pick a fallback or to error out if the requested layout is not supported. The ``--audio-channels`` option either takes a channel number or an explicit channel layout. Channel numbers refer to default layouts, e.g. 2 channels refer to stereo, 6 refers to 5.1. See ``--audio-channels=help`` output for defined default layouts. This also lists speaker names, which can be used to express arbitrary channel layouts (e.g. ``fl-fr-lfe`` is 2.1). You can use ``--audio-channels=empty`` to disable this. In this case, the AO use the channel layout as the audio filter chain indicates. This will also request the channel layout from the decoder. If the decoder does not support the layout, it will fall back to its native channel layout. (You can use ``--ad-lavc-downmix=no`` to make the decoder always output its native layout.) Note that only some decoders support remixing audio. Some that do include AC-3, AAC or DTS audio. If the channel layout of the media file (i.e. the decoder) and the AO's channel layout don't match, mpv will attempt to insert a conversion filter. ``--audio-delay=`` Audio delay in seconds (positive or negative float value). Positive values delay the audio, and negative values delay the video. ``--audio-demuxer=<[+]name>`` Use this audio demuxer type when using ``--audio-file``. Use a '+' before the name to force it; this will skip some checks. Give the demuxer name as printed by ``--audio-demuxer=help``. ``--audio-display=`` Setting this option to ``attachment`` (default) will display image attachments when playing audio files. It will display the first image found, and additional images are available as video tracks. Setting this option to ``no`` disables display of video entirely when playing audio files. This option has no influence on files with normal video tracks. ``--audio-file=`` Play audio from an external file while viewing a video. Each use of this option will add a new audio track. The details are similar to how ``--sub-file`` works. ``--audio-format=`` Select the sample format used for output from the audio filter layer to the sound card. The values that ```` can adopt are listed below in the description of the ``format`` audio filter. ``--audio-samplerate=`` Select the output sample rate to be used (of course sound cards have limits on this). If the sample frequency selected is different from that of the current media, the lavrresample audio filter will be inserted into the audio filter layer to compensate for the difference. ``--autofit=<[W[xH]]>`` Set the initial window size to a maximum size specified by ``WxH``, without changing the window's aspect ratio. The size is measured in pixels, or if a number is followed by a percentage sign (``%``), in percents of the screen size. This option never changes the aspect ratio of the window. If the aspect ratio mismatches, the window's size is reduced until it fits into the specified size. Window position is not taken into account, nor is it modified by this option (the window manager still may place the window differently depending on size). Use ``--geometry`` to change the window position. Its effects are applied after this option. See ``--geometry`` for details how this is handled with multi-monitor setups. Use ``--autofit-larger`` instead if you just want to limit the maximum size of the window, rather than always forcing a window size. Use ``--geometry`` if you want to force both window width and height to a specific size. .. note:: Generally only supported by GUI VOs. Ignored for encoding. .. admonition:: Examples ``70%`` Make the window width 70% of the screen size, keeping aspect ratio. ``1000`` Set the window width to 1000 pixels, keeping aspect ratio. ``70%:60%`` Make the window as large as possible, without being wider than 70% of the screen width, or higher than 60% of the screen height. ``--autofit-larger=<[W[xH]]>`` This option behaves exactly like ``--autofit``, except the window size is only changed if the window would be larger than the specified size. .. admonition:: Example ``90%x80%`` If the video is larger than 90% of the screen width or 80% of the screen height, make the window smaller until either its width is 90% of the screen, or its height is 80% of the screen. ``--autosync=`` Gradually adjusts the A/V sync based on audio delay measurements. Specifying ``--autosync=0``, the default, will cause frame timing to be based entirely on audio delay measurements. Specifying ``--autosync=1`` will do the same, but will subtly change the A/V correction algorithm. An uneven video framerate in a movie which plays fine with ``--no-audio`` can often be helped by setting this to an integer value greater than 1. The higher the value, the closer the timing will be to ``--no-audio``. Try ``--autosync=30`` to smooth out problems with sound drivers which do not implement a perfect audio delay measurement. With this value, if large A/V sync offsets occur, they will only take about 1 or 2 seconds to settle out. This delay in reaction time to sudden A/V offsets should be the only side-effect of turning this option on, for all sound drivers. ``--untimed`` Do not sleep when outputting video frames. Useful for benchmarks when used with ``--no-audio.`` ``--bluray-angle=`` Some Blu-ray discs contain scenes that can be viewed from multiple angles. This option tells mpv which angle to use (default: 1). ``--bluray-device=`` (Blu-ray only) Specify the Blu-ray disc location. Must be a directory with Blu-ray structure. .. admonition:: Example ``mpv bd:// --bluray-device=/path/to/bd/`` ``--border``, ``--no-border`` Play movie with window border and decorations. Since this is on by default, use ``--no-border`` to disable the standard window decorations. ``--brightness=<-100-100>`` Adjust the brightness of the video signal (default: 0). Not supported by all video output drivers. ``--cache=`` Set the size of the cache in kilobytes, disable it with ``no``, or automatically enable it if needed with ``auto`` (default: ``auto``). With ``auto``, the cache will usually be enabled for network streams, using the size set by ``--cache-default``. May be useful when playing files from slow media, but can also have negative effects, especially with file formats that require a lot of seeking, such as mp4. Note that half the cache size will be used to allow fast seeking back. This is also the reason why a full cache is usually reported as 50% full. The cache fill display does not include the part of the cache reserved for seeking back. Likewise, when starting a file the cache will be at 100%, because no space is reserved for seeking back yet. ``--cache-default=`` Set the size of the cache in kilobytes (default: 25000 KB). Using ``no`` will not automatically enable the cache e.g. when playing from a network stream. Note that using ``--cache`` will always override this option. ``--cache-pause-below=`` If the cache size goes below the specified value (in KB), pause and wait until the size set by ``--cache-pause-restart`` is reached, then resume playback (default: 50). If ``no`` is specified, this behavior is disabled. When the player is paused this way, the status line shows ``Buffering`` instead of ``Paused``, and the OSD uses a clock symbol instead of the normal paused symbol. ``--cache-pause-restart=`` If the cache is paused due to the ``--cache-pause-below`` functionality, then the player unpauses as soon as the cache has this much data (in KB). (Default: 100) ``--cache-initial=`` Playback will start when the cache has been filled up with this many kilobytes of data (default: 0). ``--cache-seek-min=`` If a seek is to be made to a position within ```` of the cache size from the current position, mpv will wait for the cache to be filled to this position rather than performing a stream seek (default: 500). This matters for small forward seeks. With slow streams (especially http streams) there is a tradeoff between skipping the data between current position and seek destination, or performing an actual seek. Depending on the situation, either of these might be slower than the other method. This option allows control over this. ``--cache-file=`` Create a cache file on the filesystem with the given name. The file is always overwritten. When the general cache is enabled, this file cache will be used to store whatever is read from the source stream. This will always overwrite the cache file, and you can't use an existing cache file to resume playback of a stream. (Technically, mpv wouldn't even know which blocks in the file are valid and which not.) The resulting file will not necessarily contain all data of the source stream. For example, if you seek, the parts that were skipped over are never read and consequently are not written to the cache. The skipped over parts are filled with zeros. This means that the cache file doesn't necessarily correspond to a full download of the source stream. Both of these issues could be improved if there is any user interest. Also see ``--cache-file-size``. ``--cache-file-size=`` Maximum size of the file created with ``--cache-file``. For read accesses above this size, the cache is simply not used. (Default: 1048576, 1 GB.) ``--cdda-...`` These options can be used to tune the CD Audio reading feature of mpv. ``--cdda-speed=`` Set CD spin speed. ``--cdda-paranoia=<0-2>`` Set paranoia level. Values other than 0 seem to break playback of anything but the first track. :0: disable checking (default) :1: overlap checking only :2: full data correction and verification ``--cdda-sector-size=`` Set atomic read size. ``--cdda-overlap=`` Force minimum overlap search during verification to sectors. ``--cdda-toc-bias`` Assume that the beginning offset of track 1 as reported in the TOC will be addressed as LBA 0. Some discs need this for getting track boundaries correctly. ``--cdda-toc-offset=`` Add ```` sectors to the values reported when addressing tracks. May be negative. ``--cdda-skip=`` Specify the CD-ROM device (default: ``/dev/cdrom``). ``--chapter=`` Specify which chapter to start playing at. Optionally specify which chapter to end playing at. Also see ``--start``. ``--chapter-merge-threshold=`` Threshold for merging almost consecutive ordered chapter parts in milliseconds (default: 100). Some Matroska files with ordered chapters have inaccurate chapter end timestamps, causing a small gap between the end of one chapter and the start of the next one when they should match. If the end of one playback part is less than the given threshold away from the start of the next one then keep playing video normally over the chapter change instead of doing a seek. ``--chapter-seek-threshold=`` Distance in seconds from the beginning of a chapter within which a backward chapter seek will go to the previous chapter (default: 5.0). Past this threshold, a backward chapter seek will go to the beginning of the current chapter instead. A negative value means always go back to the previous chapter. ``--colormatrix=`` Controls the YUV to RGB color space conversion when playing video. There are various standards. Normally, BT.601 should be used for SD video, and BT.709 for HD video. (This is done by default.) Using incorrect color space results in slightly under or over saturated and shifted colors. The color space conversion is additionally influenced by the related options --colormatrix-input-range and --colormatrix-output-range. These options are not always supported. Different video outputs provide varying degrees of support. The ``opengl`` and ``vdpau`` video output drivers usually offer full support. The ``xv`` output can set the color space if the system video driver supports it, but not input and output levels. The ``scale`` video filter can configure color space and input levels, but only if the output format is RGB (if the video output driver supports RGB output, you can force this with ``-vf scale,format=rgba``). If this option is set to ``auto`` (which is the default), the video's color space flag will be used. If that flag is unset, the color space will be selected automatically. This is done using a simple heuristic that attempts to distinguish SD and HD video. If the video is larger than 1279x576 pixels, BT.709 (HD) will be used; otherwise BT.601 (SD) is selected. Available color spaces are: :auto: automatic selection (default) :BT.601: ITU-R BT.601 (SD) :BT.709: ITU-R BT.709 (HD) :BT.2020-NCL: ITU-R BT.2020 non-constant luminance system :BT.2020-CL: ITU-R BT.2020 constant luminance system :SMPTE-240M: SMPTE-240M ``--colormatrix-input-range=`` YUV color levels used with YUV to RGB conversion. This option is only necessary when playing broken files which do not follow standard color levels or which are flagged wrong. If the video does not specify its color range, it is assumed to be limited range. The same limitations as with --colormatrix apply. Available color ranges are: :auto: automatic selection (normally limited range) (default) :limited: limited range (16-235 for luma, 16-240 for chroma) :full: full range (0-255 for both luma and chroma) ``--colormatrix-output-range=`` RGB color levels used with YUV to RGB conversion. Normally, output devices such as PC monitors use full range color levels. However, some TVs and video monitors expect studio RGB levels. Providing full range output to a device expecting studio level input results in crushed blacks and whites, the reverse in dim grey blacks and dim whites. The same limitations as with ``--colormatrix`` apply. Available color ranges are: :auto: automatic selection (equals to full range) (default) :limited: limited range (16-235 per component), studio levels :full: full range (0-255 per component), PC levels .. note:: It is advisable to use your graphics driver's color range option instead, if available. ``--colormatrix-primaries=`` RGB primaries the source file was encoded with. Normally this should be set in the file header, but when playing broken or mistagged files this can be used to override the setting. By default, when unset, BT.709 is used for all files except those tagged with a BT.2020 color matrix. This option only affects video output drivers that perform color management, for example ``opengl`` with the ``srgb`` or ``icc-profile`` suboptions set. If this option is set to ``auto`` (which is the default), the video's primaries flag will be used. If that flag is unset, the color space will be selected automatically, using the following heuristics: If the ``--colormatrix`` is set or determined as BT.2020 or BT.709, the corresponding primaries are used. Otherwise, if the video height is exactly 576 (PAL), BT.601-625 is used. If it's exactly 480 or 486 (NTSC), BT.601-525 is used. If the video resolution is anything else, BT.709 is used. Available primaries are: :auto: automatic selection (default) :BT.601-525: ITU-R BT.601 (SD) 525-line systems (NTSC, SMPTE-C) :BT.601-625: ITU-R BT.601 (SD) 625-line systems (PAL, SECAM) :BT.709: ITU-R BT.709 (HD) (same primaries as sRGB) :BT.2020: ITU-R BT.2020 (UHD) ``--config-dir=`` Force a different configuration directory. If this is set, the given directory is used to load configuration files, and all other configuration directories are ignored. This means the global mpv configuration directory as well as per-user directories are ignored, and overrides through environment variables (``MPV_HOME``) are also ignored. Note that the ``--no-config`` option takes precedence over this option. ``--contrast=<-100-100>`` Adjust the contrast of the video signal (default: 0). Not supported by all video output drivers. ``--cookies``, ``--no-cookies`` (network only) Support cookies when making HTTP requests. Disabled by default. ``--cookies-file=`` (network only) Read HTTP cookies from . The file is assumed to be in Netscape format. ``--correct-pts``, ``--no-correct-pts`` ``--no-correct-pts`` switches mpv to a mode where video timing is determined using a fixed framerate value (either using the ``--fps`` option, or using file information). Sometimes, files with very broken timestamps can be played somewhat well in this mode. Note that video filters, subtitle rendering and audio synchronization can be completely broken in this mode. ``--cursor-autohide=`` Make mouse cursor automatically hide after given number of milliseconds. ``no`` will disable cursor autohide. ``always`` means the cursor will stay hidden. ``--cursor-autohide-fs-only`` If this option is given, the cursor is always visible in windowed mode. In fullscreen mode, the cursor is shown or hidden according to ``--cursor-autohide``. ``--deinterlace=`` Enable or disable interlacing (default: auto, which usually means no). Interlaced video shows ugly comb-like artifacts, which are visible on fast movement. Enabling this typically inserts the yadif video filter in order to deinterlace the video, or lets the video output apply deinterlacing if supported. This behaves exactly like the ``deinterlace`` input property (usually mapped to ``Shift+D``). ``auto`` is a technicality. Strictly speaking, the default for this option is deinterlacing disabled, but the ``auto`` case is needed if ``yadif`` was added to the filter chain manually with ``--vf``. Then the core shouldn't disable deinterlacing just because the ``--deinterlace`` was not set. ``--demuxer=<[+]name>`` Force demuxer type. Use a '+' before the name to force it; this will skip some checks. Give the demuxer name as printed by ``--demuxer=help``. ``--demuxer-lavf-analyzeduration=`` Maximum length in seconds to analyze the stream properties. ``--demuxer-lavf-probescore=<1-100>`` Minimum required libavformat probe score. Lower values will require less data to be loaded (makes streams start faster), but makes file format detection less reliable. Can be used to force auto-detected libavformat demuxers, even if libavformat considers the detection not reliable enough. (Default: 26.) ``--demuxer-lavf-allow-mimetype=`` Allow deriving the format from the HTTP MIME type (default: yes). Set this to no in case playing things from HTTP mysteriously fails, even though the same files work from local disk. This is default in order to reduce latency when opening HTTP streams. ``--demuxer-lavf-format=`` Force a specific libavformat demuxer. ``--demuxer-lavf-genpts-mode=`` Mode for deriving missing packet PTS values from packet DTS. ``lavf`` enables libavformat's ``genpts`` option. ``no`` disables it. This used to be enabled by default, but then it was deemed as not needed anymore. Enabling this might help with timestamp problems, or make them worse. ``--demuxer-lavf-o==[,=[,...]]`` Pass AVOptions to libavformat demuxer. Note, a patch to make the *o=* unneeded and pass all unknown options through the AVOption system is welcome. A full list of AVOptions can be found in the FFmpeg manual. Note that some options may conflict with mpv options. .. admonition:: Example ``--demuxer-lavf-o=fflags=+ignidx`` ``--demuxer-lavf-probesize=`` 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. ``--demuxer-lavf-buffersize=`` Size of the stream read buffer allocated for libavformat in bytes (default: 32768). Lowering the size could lower latency. Note that libavformat might reallocate the buffer internally, or not fully use all of it. ``--demuxer-lavf-cryptokey=`` Encryption key the demuxer should use. This is the raw binary data of the key converted to a hexadecimal string. ``--demuxer-mkv-subtitle-preroll``, ``--mkv-subtitle-preroll`` Try harder to show embedded soft subtitles when seeking somewhere. Normally, it can happen that the subtitle at the seek target is not shown due to how some container file formats are designed. The subtitles appear only if seeking before or exactly to the position a subtitle first appears. To make this worse, subtitles are often timed to appear a very small amount before the associated video frame, so that seeking to the video frame typically does not demux the subtitle at that position. Enabling this option makes the demuxer start reading data a bit before the seek target, so that subtitles appear correctly. Note that this makes seeking slower, and is not guaranteed to always work. It only works if the subtitle is close enough to the seek target. Works with the internal Matroska demuxer only. Always enabled for absolute and hr-seeks, and this option changes behavior with relative or imprecise seeks only. See also ``--hr-seek-demuxer-offset`` option. This option can achieve a similar effect, but only if hr-seek is active. It works with any demuxer, but makes seeking much slower, as it has to decode audio and video data instead of just skipping over it. ``--mkv-subtitle-preroll`` is a deprecated alias. ``--demuxer-rawaudio-channels=`` Number of channels (or channel layout) if ``--demuxer=rawaudio`` is used (default: stereo). ``--demuxer-rawaudio-format=`` Sample format for ``--demuxer=rawaudio`` (default: s16le). ``--demuxer-rawaudio-rate=`` Sample rate for ``--demuxer=rawaudio`` (default: 44KHz). ``--demuxer-rawvideo-fps=`` Rate in frames per second for ``--demuxer=rawvideo`` (default: 25.0). ``--demuxer-rawvideo-w=``, ``--demuxer-rawvideo-h=`` Image dimension in pixels for ``--demuxer=rawvideo``. .. admonition:: Example Play a raw YUV sample:: mpv sample-720x576.yuv --demuxer=rawvideo \ --demuxer-rawvideo=w=720:h=576 ``--demuxer-rawvideo-format=`` Colorspace (fourcc) in hex or string for ``--demuxer=rawvideo`` (default: ``YV12``). ``--demuxer-rawvideo-mp-format=`` Colorspace by internal video format for ``--demuxer=rawvideo``. Use ``--demuxer-rawvideo-mp-format=help`` for a list of possible formats. ``--demuxer-rawvideo-codec=`` Set the video codec instead of selecting the rawvideo codec when using ``--demuxer=rawvideo``. This uses the same values as codec names in ``--vd`` (but it does not accept decoder names). ``--demuxer-rawvideo-size=`` Frame size in bytes when using ``--demuxer=rawvideo``. ``--demuxer-thread=`` Run the demuxer in a separate thread, and let it prefetch a certain amount of packets (default: yes). ``--demuxer-readahead-packets=N`` If ``--demuxer-thread`` is enabled, this controls how much the demuxer should buffer ahead. If the number of packets in the packet queue exceeds ``--demuxer-readahead-packets``, or the total number of bytes exceeds ``--demuxer-readahead-bytes``, the thread stops reading ahead. Note that if you set these options near the maximum, you might get a packet queue overflow warning. See ``--list-options`` for defaults and value range. ``--demuxer-readahead-bytes=N`` See ``--demuxer-readahead-packets``. ``--dump-stats=`` Write certain statistics to the given file. The file is truncated on opening. The file will contain raw samples, each with a timestamp. To make this file into a readable, the script ``TOOLS/stats-conv.py`` can be used (which currently displays it as a graph). This option is useful for debugging only. ``--dvbin-card=<1-4>`` Specifies using card number 1-4 (default: 1). ``--dvbin-file=`` Instructs mpv to read the channels list from ````. Default is ``~/.mpv/channels.conf.{sat,ter,cbl,atsc}`` (based on your card type) or ``~/.mpv/channels.conf`` as a last resort. ``--dvbin-timeout=<1-30>`` Maximum number of seconds to wait when trying to tune a frequency before giving up (default: 30). ``--dvd-device=`` Specify the DVD device or .iso filename (default: ``/dev/dvd``). You can also specify a directory that contains files previously copied directly from a DVD (with e.g. vobcopy). .. admonition:: Example ``mpv dvd:// --dvd-device=/path/to/dvd/`` ``--dvd-speed=`` Try to limit DVD speed (default: 0, no change). DVD base speed is 1385 kB/s, so an 8x drive can read at speeds up to 11080 kB/s. Slower speeds make the drive more quiet. For watching DVDs, 2700 kB/s should be quiet and fast enough. mpv resets the speed to the drive default value on close. Values of at least 100 mean speed in kB/s. Values less than 100 mean multiples of 1385 kB/s, i.e. ``--dvd-speed=8`` selects 11080 kB/s. .. note:: You need write access to the DVD device to change the speed. ``--dvd-angle=`` Some DVDs contain scenes that can be viewed from multiple angles. This option tells mpv which angle to use (default: 1). ``--edition=`` (Matroska files only) Specify the edition (set of chapters) to use, where 0 is the first. If set to ``auto`` (the default), mpv will choose the first edition declared as a default, or if there is no default, the first edition defined. ``--embeddedfonts``, ``--no-embeddedfonts`` Use fonts embedded in Matroska container files and ASS scripts (default: enabled). These fonts can be used for SSA/ASS subtitle rendering. ``--end=