Some options support passing values in a more structured way instead of flat strings, and can avoid the suboption parsing mess.For example, to avoid the need for filename escaping.Usage examples to get you started quickly can be found at the end of this man page. The suboption parser puts several options into a single string, and passes them to a component at once, instead of using multiple options on the level of the command line.mpv has a fully configurable, command-driven control layer which allows you to control mpv using keyboard, mouse, or remote control (there is no LIRC support - configure remotes as input devices instead). The suboption parser can quote strings with to the command line (but without shell processing of the string).The shell is not involved here, but option values still need to be quoted as a whole if it contains certain characters like spaces.A config entry can be quoted with ) mentioned before.Both libraries are developed in parallel, but libdvdnav is intended to support more sophisticated DVD features such as menus and multi-angle playback.
The syntax of the configuration files is This is done like with command line options.
(This is a mess and should probably be changed at some point.) You can also write file-specific configuration files.
If you wish to have a configuration file for a file called 'video.avi', create a file named 'conf' with the file-specific options in it and put it in # normal top-level option fullscreen=yes # a profile that can be enabled with --profile=big-cache [big-cache] cache=123400 demuxer-readahead-secs=20 [slow] profile-desc="some profile name" # reference a builtin profile profile=gpu-hq [fast] vo=vdpau # using a profile again extends it [slow] framedrop=no # you can also include other profiles profile=big-cache will be saved in the working directory, using the first available number - no files will be overwritten.
Most latency is actually caused by inconvenient timing behavior. If the demuxer cache is enabled, these can be skipped manually.
You can disable this with , but it will likely break, unless the stream has no audio, and the input feeds data to the player at a constant rate. The experimental command can be used to discard any buffered data, though it's very disruptive.