[setting] name = hwdec file = mpv default = no filter = Video url = https://mpv.io/manual/master/#options-hwdec help = Specify the hardware video decoding API that should be used if possible. Whether hardware decoding is actually done depends on the video codec. If hardware decoding is not possible, mpv will fall back on software decoding.\n\nFor more information visit: option = no always use software decoding option = auto enable best hw decoder option = yes exactly the same as auto option = auto-copy enable best hw decoder with copy-back option = auto-safe enable any whitelisted hw decoder option = dxva2 requires vo=gpu with gpu-context=d3d11, gpu-context=angle or gpu-context=dxinterop (Windows only) option = dxva2-copy copies video back to system RAM (Windows only) option = d3d11va requires vo=gpu with gpu-context=d3d11 or gpu-context=angle (Windows 8+ only) option = d3d11va-copy copies video back to system RAM (Windows 8+ only) option = cuda requires vo=gpu (Any platform CUDA is available) option = cuda-copy copies video back to system RAM (Any platform CUDA is available) option = nvdec requires vo=gpu (Any platform CUDA is available) option = nvdec-copy copies video back to system RAM (Any platform CUDA is available) option = crystalhd copies video back to system RAM (Any platform supported by hardware) option = rkmpp requires vo=gpu (some RockChip devices only) [setting] name = gpu-api file = mpv default = auto filter = Video help = Controls which type of graphics APIs will be accepted. Auto uses d3d11, it should only be changed in case of problems, Vulkan is not recommended. option = auto Use any available API option = opengl Allow only OpenGL (requires OpenGL 2.1+ or GLES 2.0+) option = vulkan Allow only Vulkan (not recommended). option = d3d11 Allow only gpu-context=d3d11 [setting] name = gpu-context file = mpv default = auto filter = Video option = auto auto-select option = win Win32/WGL option = winvk VK_KHR_win32_surface option = angle Direct3D11 through the OpenGL ES translation layer ANGLE. This supports almost everything the win backend does (if the ANGLE build is new enough). option = dxinterop (experimental) Win32, using WGL for rendering and Direct3D 9Ex for presentation. Works on Nvidia and AMD. Newer Intel chips with the latest drivers may also work. option = d3d11 Win32, with native Direct3D 11 rendering. [setting] name = vo file = mpv default = gpu filter = Video help = Video output drivers to be used.\n\nFor more information visit: url = https://mpv.io/manual/master/#video-output-drivers-vo option = gpu General purpose, customizable, GPU-accelerated video output driver. It supports extended scaling methods, dithering, color management, custom shaders, HDR, and more. option = direct3d Video output driver that uses the Direct3D interface [setting] name = video-sync file = mpv default = audio filter = Video help = How the player synchronizes audio and video.\n\nFor more information visit: url = https://mpv.io/manual/master/#options-video-sync option = audio option = display-resample option = display-resample-vdrop option = display-resample-desync option = display-vdrop option = display-adrop option = display-desync option = desync [setting] name = scale file = mpv default = bilinear filter = Video help = The GPU renderer filter function to use when upscaling video. There are some more filters, but most are not as useful. For a complete list, pass help as value, e.g.: mpv --scale=help option = bilinear Bilinear hardware texture filtering (fastest, very low quality). option = spline36 Mid quality and speed. This is the default when using gpu-hq. option = lanczos Lanczos scaling. Provides mid quality and speed. Generally worse than spline36, but it results in a slightly sharper image which is good for some content types. The number of taps can be controlled with scale-radius, but is best left unchanged. (This filter is an alias for sinc-windowed sinc) option = ewa_lanczos Elliptic weighted average Lanczos scaling. Also known as Jinc. Relatively slow, but very good quality. The radius can be controlled with scale-radius. Increasing the radius makes the filter sharper but adds more ringing. (This filter is an alias for jinc-windowed jinc) option = ewa_lanczossharp A slightly sharpened version of ewa_lanczos, preconfigured to use an ideal radius and parameter. If your hardware can run it, this is probably what you should use by default. option = mitchell Mitchell-Netravali. The B and C parameters can be set with scale-param1 and scale-param2. This filter is very good at downscaling (see dscale). option = oversample A version of nearest neighbour that (naively) oversamples pixels, so that pixels overlapping edges get linearly interpolated instead of rounded. This essentially removes the small imperfections and judder artifacts caused by nearest-neighbour interpolation, in exchange for adding some blur. This filter is good at temporal interpolation, and also known as "smoothmotion" (see tscale). [setting] name = cscale file = mpv default = bilinear filter = Video help = As scale, but for interpolating chroma information. If the image is not subsampled, this option is ignored entirely. option = bilinear Bilinear hardware texture filtering (fastest, very low quality). option = spline36 Mid quality and speed. This is the default when using gpu-hq. option = lanczos Lanczos scaling. Provides mid quality and speed. Generally worse than spline36, but it results in a slightly sharper image which is good for some content types. The number of taps can be controlled with scale-radius, but is best left unchanged. (This filter is an alias for sinc-windowed sinc) option = ewa_lanczos Elliptic weighted average Lanczos scaling. Also known as Jinc. Relatively slow, but very good quality. The radius can be controlled with scale-radius. Increasing the radius makes the filter sharper but adds more ringing. (This filter is an alias for jinc-windowed jinc) option = ewa_lanczossharp A slightly sharpened version of ewa_lanczos, preconfigured to use an ideal radius and parameter. If your hardware can run it, this is probably what you should use by default. option = mitchell Mitchell-Netravali. The B and C parameters can be set with scale-param1 and scale-param2. This filter is very good at downscaling (see dscale). option = oversample A version of nearest neighbour that (naively) oversamples pixels, so that pixels overlapping edges get linearly interpolated instead of rounded. This essentially removes the small imperfections and judder artifacts caused by nearest-neighbour interpolation, in exchange for adding some blur. This filter is good at temporal interpolation, and also known as "smoothmotion" (see tscale). [setting] name = dscale file = mpv default = filter = Video help = Like scale, but apply these filters on downscaling instead. \nIf no option is selected, it will keep the same with the upscaler. option = bilinear Bilinear hardware texture filtering (fastest, very low quality). option = spline36 Mid quality and speed. This is the default when using gpu-hq. option = lanczos Lanczos scaling. Provides mid quality and speed. Generally worse than spline36, but it results in a slightly sharper image which is good for some content types. The number of taps can be controlled with scale-radius, but is best left unchanged. (This filter is an alias for sinc-windowed sinc) option = ewa_lanczos Elliptic weighted average Lanczos scaling. Also known as Jinc. Relatively slow, but very good quality. The radius can be controlled with scale-radius. Increasing the radius makes the filter sharper but adds more ringing. (This filter is an alias for jinc-windowed jinc) option = ewa_lanczossharp A slightly sharpened version of ewa_lanczos, preconfigured to use an ideal radius and parameter. If your hardware can run it, this is probably what you should use by default. option = mitchell Mitchell-Netravali. The B and C parameters can be set with scale-param1 and scale-param2. This filter is very good at downscaling (see dscale). option = oversample A version of nearest neighbour that (naively) oversamples pixels, so that pixels overlapping edges get linearly interpolated instead of rounded. This essentially removes the small imperfections and judder artifacts caused by nearest-neighbour interpolation, in exchange for adding some blur. This filter is good at temporal interpolation, and also known as "smoothmotion" (see tscale). [setting] name = dither-depth file = mpv default = no filter = Video help = Set dither target depth to N. Note that the depth of the connected video display device cannot be detected. Often, LCD panels will do dithering on their own, which conflicts with this option and leads to ugly output. option = no Disable any dithering done by mpv. option = auto Automatic selection. If output bit depth cannot be detected, 8 bits per component are assumed. option = 8 Dither to 8 bit output. option = 10 Dither to 10 bit output. [setting] name = correct-downscaling file = mpv default = no filter = Video help = When using convolution based filters, extend the filter size when downscaling. Increases quality, but reduces performance while downscaling.\n\nThis will perform slightly sub-optimally for anamorphic video (but still better than without it) since it will extend the size to match only the milder of the scale factors between the axes. option = yes option = no [setting] name = sigmoid-upscaling file = mpv default = no filter = Video help = When upscaling, use a sigmoidal color transform to avoid emphasizing ringing artifacts. This also implies linear-scaling. option = yes option = no [setting] name = deband file = mpv default = no filter = Video help = Enable the debanding algorithm. This greatly reduces the amount of visible banding, blocking and other quantization artifacts, at the expense of very slightly blurring some of the finest details. In practice, it's virtually always an improvement - the only reason to disable it would be for performance. option = yes option = no [setting] name = d3d11va-zero-copy file = mpv default = no filter = Video help = By default, when using hardware decoding with --gpu-api=d3d11, the video image will be copied (GPU-to-GPU) from the decoder surface to a shader resource. Set this option to avoid that copy by sampling directly from the decoder image. This may increase performance and reduce power usage, but can cause the image to be sampled incorrectly on the bottom and right edges due to padding, and may invoke driver bugs, since Direct3D 11 technically does not allow sampling from a decoder surface (though most drivers support it.) option = yes option = no [setting] name = hdr-compute-peak file = mpv default = auto filter = Video help = Compute the HDR peak and frame average brightness per-frame instead of relying on tagged metadata. These values are averaged over local regions as well as over several frames to prevent the value from jittering around too much. This option basically gives you dynamic, per-scene tone mapping. Requires compute shaders, which is a fairly recent OpenGL feature, and will probably also perform horribly on some drivers, so enable at your own risk. The special value auto (default) will enable HDR peak computation automatically if compute shaders and SSBOs are supported. option = auto option = yes option = no [setting] name = volume file = mpv filter = Audio help = Set the startup volume. 0 means silence, 100 means no volume reduction or amplification. Negative values can be passed for compatibility, but are treated as 0. Since mpv 0.18.1, this always controls the internal mixer (aka "softvol"). Default: 100 [setting] name = remember-volume file = mpvnet default = yes filter = Audio help = Save volume and mute on exit and restore it on start. (mpv.net specific setting) option = yes option = no [setting] name = alang file = mpv filter = Audio type = string help = 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.\n\nExamples\n\nmpv dvd://1 alang=hu,en chooses the Hungarian language track on a DVD and falls back on English if Hungarian is not available.\n\nmpv alang=jpn example.mkv plays a Matroska file with Japanese audio. [setting] name = audio-file-auto file = mpv default = no filter = Audio help = Load additional audio files matching the video filename. The parameter specifies how external audio files are matched. option = no Don't automatically load external audio files. option = exact Load the media filename with audio file extension. option = fuzzy Load all audio files containing media filename. option = all Load all audio files in the current and audio-file-paths directories. [setting] name = audio-device file = mpv filter = Audio type = string url = https://mpv.io/manual/master/#options-audio-device help = Use the given audio device. This consists of the audio output name, e.g. alsa, followed by /, followed by the audio output specific device name. The default value for this option is auto, which tries every audio output in preference order with the default device.\nAvailable devices can be found in the mpv.net context menu under:\nView > Show Audio Devices [setting] name = slang file = mpv filter = Subtitle type = string help = Specify a priority list of subtitle languages to use. Different container formats employ different language codes. DVDs use ISO 639-1 two letter language codes, Matroska uses ISO 639-2 three letter language codes while OGM uses a free-form identifier. See also sid. [setting] name = sub-auto file = mpv default = exact filter = Subtitle help = Load additional subtitle files matching the video filename. The parameter specifies how external subtitle files are matched. exact is enabled by default. option = no Don't automatically load external subtitle files. option = exact Load the media filename with subtitle file extension. option = fuzzy Load all subs containing media filename. option = all Load all subs in the current and sub-file-paths directories. [setting] name = sub-font file = mpv filter = Subtitle type = string help = Specify font to use for subtitles that do not themselves specify a particular font. The default is sans-serif. [setting] name = sub-font-size file = mpv filter = Subtitle help = Specify the sub font size. The unit is the size in scaled pixels at a window height of 720. The actual pixel size is scaled with the window height: if the window height is larger or smaller than 720, the actual size of the text increases or decreases as well. Default: 55 [setting] name = sub-color file = mpv type = color filter = Subtitle help = Specify the color used for unstyled text subtitles.\n\nThe color is specified in the form r/g/b, where each color component is specified as number in the range 0.0 to 1.0. It's also possible to specify the transparency by using r/g/b/a, where the alpha value 0 means fully transparent, and 1.0 means opaque. If the alpha component is not given, the color is 100% opaque.\n\nPassing a single number to the option sets the sub to gray, and the form gray/a lets you specify alpha additionally.\n\nExamples\n\n1.0/0.0/0.0 set sub to opaque red\n1.0/0.0/0.0/0.75 set sub to opaque red with 75% alpha\n0.5/0.75 set sub to 50% gray with 75% alpha\n\nAlternatively, the color can be specified as a RGB hex triplet in the form #RRGGBB, where each 2-digit group expresses a color value in the range 0 (00) to 255 (FF). For example, #FF0000 is red. This is similar to web colors. Alpha is given with #AARRGGBB.\n\nExamples\n\n#FF0000 set sub to opaque red\n#C0808080 set sub to 50% gray with 75% alpha [setting] name = sub-border-color file = mpv type = color filter = Subtitle help = See sub-color. Color used for the sub font border. Ignored when sub-back-color is specified (or more exactly: when that option is not set to completely transparent). [setting] name = sub-back-color file = mpv type = color filter = Subtitle help = See sub-color. Color used for sub text background. You can use sub-shadow-offset to change its size relative to the text. [setting] name = fullscreen file = mpv default = no filter = Screen help = Start the player in fullscreen mode. option = yes option = no [setting] name = border file = mpv default = yes filter = Screen help = Show window with decoration (titlebar, border). option = yes option = no [setting] name = screen file = mpv filter = Screen help = <0-32> In multi-monitor configurations (i.e. a single desktop that spans across multiple displays), this option tells mpv which screen to display the video on. [setting] name = osd-playing-msg file = mpv width = 300 filter = Screen type = string help = Show a message on OSD when playback starts. The string is expanded for properties, e.g. osd-playing-msg='file: ${filename}' will show the message file: followed by a space and the currently played filename. For more information visit: url = https://mpv.io/manual/master/#property-expansion [setting] name = osd-font-size file = mpv filter = Screen help = Specify the OSD font size. See sub-font-size for details. Default: 55 [setting] name = osd-duration file = mpv filter = Screen help = Set the duration of the OSD messages in ms. Default: 1000 [setting] name = osd-scale-by-window file = mpv default = yes filter = Screen help = Whether to scale the OSD with the window size. If this is disabled, osd-font-size and other OSD options that use scaled pixels are always in actual pixels. The effect is that changing the window size won't change the OSD font size. option = yes option = no [setting] name = autofit file = mpv filter = Screen help = Initial window height in percent. Default: 60 [setting] name = autofit-smaller file = mpv filter = Screen help = Minimum window height in percent. Default: 10 [setting] name = autofit-larger file = mpv filter = Screen help = Maximum window height in percent. Default: 80 [setting] name = start-size file = mpvnet default = height-session filter = Screen help = Setting to remember the window size. (mpv.net specific setting) option = video Window size is set to video resolution option = width-session Width is remembered in the current session option = width-always Width is always remembered option = height-session Height is remembered in the current session option = height-always Height is always remembered option = always Size is always remembered [setting] name = keepaspect-window file = mpv default = yes filter = Screen help = keepaspect-window will lock the window size to the video aspect. Default: yes option = yes option = no [setting] name = start-threshold file = mpvnet filter = Screen help = Threshold in milliseconds to wait for libmpv returning the video resolution before the window is shown, otherwise default dimensions are used as defined by autofit and start-size. Default: 1500 (mpv.net specific setting) [setting] name = minimum-aspect-ratio file = mpvnet filter = Screen help = Minimum aspect ratio, if the AR is smaller than the defined value then the window AR is set to 16/9. This avoids a square window for Music with cover art. Default: 1.2 (mpv.net specific setting) [setting] name = remember-window-position file = mpvnet default = no filter = Screen help = Save the window position on exit. (mpv.net specific setting) option = yes option = no [setting] name = window-maximized file = mpv default = no filter = Screen help = Start with a maximized window. option = yes option = no [setting] name = screenshot-directory file = mpv width = 500 type = folder filter = Screen help = Store screenshots in this directory. This path is joined with the filename generated by screenshot-template. If the template filename is already absolute, the directory is ignored.\n\nIf the directory does not exist, it is created on the first screenshot. If it is not a directory, an error is generated when trying to write a screenshot. [setting] name = screenshot-format file = mpv default = jpg filter = Screen help = Set the image file type used for saving screenshots. option = jpg option = png [setting] name = screenshot-tag-colorspace file = mpv default = no filter = Screen help = Tag screenshots with the appropriate colorspace. Note that not all formats are supported. option = yes option = no [setting] name = screenshot-high-bit-depth file = mpv default = yes filter = Screen help = If possible, write screenshots with a bit depth similar to the source video. This is interesting in particular for PNG, as this sometimes triggers writing 16 bit PNGs with huge file sizes. This will also include an unused alpha channel in the resulting files if 16 bit is used. option = yes option = no [setting] name = screenshot-jpeg-source-chroma file = mpv default = yes filter = Screen help = Write JPEG files with the same chroma subsampling as the video. If disabled, the libjpeg default is used. option = yes option = no [setting] name = screenshot-template file = mpv filter = Screen type = string help = Specify the filename template used to save screenshots. The template specifies the filename without file extension, and can contain format specifiers, which will be substituted when taking a screenshot. By default, the template is mpv-shot%n, which results in filenames like mpv-shot0012.png for example.\n\nFind the full documentation here: url = https://mpv.io/manual/master/#options-screenshot-template [setting] name = screenshot-jpeg-quality file = mpv filter = Screen help = <0-100> Set the JPEG quality level. Higher means better quality. The default is 90. [setting] name = screenshot-png-compression file = mpv filter = Screen help = <0-9> Set the PNG compression level. Higher means better compression. This will affect the file size of the written screenshot file and the time it takes to write a screenshot. Too high compression might occupy enough CPU time to interrupt playback. The default is 7. [setting] name = screenshot-png-filter file = mpv filter = Screen help = <0-5> Set the filter applied prior to PNG compression. 0 is none, 1 is 'sub', 2 is 'up', 3 is 'average', 4 is 'Paeth', and 5 is 'mixed'. This affects the level of compression that can be achieved. For most images, 'mixed' achieves the best compression ratio, hence it is the default. [setting] name = taskbar-progress file = mpv default = yes filter = Playback help = Show progress in taskbar. option = yes option = no [setting] name = keep-open-pause file = mpv default = no filter = Playback help = If set to no, instead of pausing when keep-open is active, just stop at end of file and continue playing forward when you seek backwards until end where it stops again. option = yes option = no [setting] name = keep-open file = mpv default = yes filter = Playback help = Using no, mpv would terminate after the last file but mpv.net never terminates automatically. option = yes If the current file ends, go to the next file, keep the last file open. option = no If the current file ends, go to the next file. option = always Playback will never automatically advance to the next file. [setting] name = loop-file file = mpv filter = Playback help = Loop a single file N times. inf means forever, no means normal playback.\n\nThe difference to loop-playlist is that this doesn't loop the playlist, just the file itself. If the playlist contains only a single file, the difference between the two option is that this option performs a seek on loop, instead of reloading the file. loop is an alias for this option. [setting] name = save-position-on-quit file = mpv default = no filter = Playback help = Always save the current playback position on quit. When this file is played again later, the player will seek to the old playback position on start. This does not happen if playback of a file is stopped in any other way than quitting. For example, going to the next file in the playlist will not save the position, and start playback at beginning the next time the file is played.\n\nThis behavior is disabled by default, but is always available when quitting the player with Shift+Q. option = yes option = no [setting] name = watch-later-options file = mpv filter = Playback help = The options that are saved in "watch later" files if they have been changed since when mpv started. These values will be restored the next time the files are played. This is a string list option. For more information visit: url = https://mpv.io/manual/master/#options-watch-later-options [setting] name = hr-seek file = mpv default = absolute filter = Playback help = Select when to use precise seeks that are not limited to keyframes. Such seeks require decoding video from the previous keyframe up to the target position and so can take some time depending on decoding performance. For some video formats, precise seeks are disabled. This option selects the default choice to use for seeks; it is possible to explicitly override that default in the definition of key bindings and in input commands. option = yes Use precise seeks whenever possible. option = no Never use precise seeks. option = absolute Use precise seeks if the seek is to an absolute position in the file, such as a chapter seek, but not for relative seeks like the default behavior of arrow keys. option = always Same as yes (for compatibility). [setting] name = track-auto-selection file = mpv default = yes filter = Playback help = Enable the default track auto-selection. Enabling this will make the player select streams according to aid, alang, and others. If it is disabled, no tracks are selected. In addition, the player will not exit if no tracks are selected, and wait instead (this wait mode is similar to pausing, but the pause option is not set).\n\nThis is useful with lavfi-complex: you can start playback in this mode, and then set select tracks at runtime by setting the filter graph. Note that if lavfi-complex is set before playback is started, the referenced tracks are always selected. option = yes option = no [setting] name = loop-playlist file = mpv filter = Playback help = Loops playback N times. A value of 1 plays it one time (default), 2 two times, etc. inf means forever. no is the same as 1 and disables looping. If several files are specified on command line, the entire playlist is looped. The force mode is like inf, but does not skip playlist entries which have been marked as failing. This means the player might waste CPU time trying to loop a file that doesn't exist. But it might be useful for playing webradios under very bad network conditions. [setting] name = auto-load-folder file = mpvnet default = yes filter = Playback help = For single files automatically load the entire directory into the playlist. Can be suppressed via shift key. (mpv.net specific setting) option = yes option = no [setting] name = input-ar-delay file = mpv filter = Input help = Delay in milliseconds before we start to autorepeat a key (0 to disable). [setting] name = input-ar-rate file = mpv filter = Input help = Number of key presses to generate per second on autorepeat. [setting] name = update-check file = mpvnet default = no filter = General help = Daily check for new version. (requires PowerShell 5 and curl. mpv.net specific setting) option = yes option = no [setting] name = process-instance file = mpvnet default = single filter = General help = Defines if more then one mpv.net process is allowed. (mpv.net specific setting)\n\nTip: Whenever the control key is pressed when files or URLs are opened, the playlist is not cleared but the files or URLs are appended to the playlist. This not only works on process startup but in all mpv.net features that open files and URLs. option = multi Create a new process everytime the shell starts mpv.net option = single Force a single process everytime the shell starts mpv.net option = queue Force a single process and add files to playlist [setting] name = recent-count file = mpvnet filter = General help = Amount of recent files to be remembered. Default: 15 (mpv.net specific setting) [setting] name = video-file-extensions file = mpvnet filter = General width = 500 help = Video file extensions used to create file associations and used by the auto-load-folder feature. (mpv.net specific setting) [setting] name = audio-file-extensions file = mpvnet filter = General width = 500 help = Audio file extensions used to create file associations and used by the auto-load-folder feature. (mpv.net specific setting) [setting] name = image-file-extensions file = mpvnet filter = General width = 500 help = Image file extensions used to create file associations and used by the auto-load-folder feature. (mpv.net specific setting) [setting] name = debug-mode file = mpvnet default = no filter = General help = Enable this only when a developer asks for it. (mpv.net specific setting) option = yes option = no [setting] name = dark-mode file = mpvnet default = always filter = UI help = Changes between a light and dark theme.\nmpv.net must be restarted after a change.\nmpv.net specific setting. option = always option = system Available on Windows 10 or higher option = never [setting] name = dark-theme file = mpvnet filter = UI url = https://github.com/stax76/mpv.net/blob/master/docs/Manual.md#color-theme help = Color theme used in dark mode.\nmpv.net must be restarted after a change.\nmpv.net specific setting. Default: dark [setting] name = light-theme file = mpvnet filter = UI url = https://github.com/stax76/mpv.net/blob/master/docs/Manual.md#color-theme help = Color theme used in light mode.\nmpv.net must be restarted after a change.\nmpv.net specific setting. Default: light