mirror of https://github.com/mpv-player/mpv
584 lines
21 KiB
Plaintext
584 lines
21 KiB
Plaintext
SLAVE MODE PROTOCOL
|
|
-------------------
|
|
|
|
The -slave option switches on slave mode, in which MPlayer works as a backend
|
|
for other programs. Instead of intercepting keyboard events, MPlayer will read
|
|
commands separated by a newline (\n) from stdin.
|
|
|
|
To try slave mode out by hand, run
|
|
|
|
mplayer -slave -quiet <movie>
|
|
|
|
and type slave commands into the console window.
|
|
|
|
You can also use a fifo file (named pipe):
|
|
|
|
mkfifo </tmp/fifofile>
|
|
mplayer -slave -input file=</tmp/fifofile> <movie>
|
|
|
|
Most slave mode commands are equivalent to command line options, though not
|
|
necessarily under the same name. Detailed descriptions can be found in the
|
|
man page.
|
|
|
|
All commands can be prefixed with one of "pausing ", "pausing_keep ", or
|
|
"pausing_toggle ". "pausing " tells MPlayer to pause as soon as possible
|
|
after processing the command. "pausing_keep " tells MPlayer to do so only if
|
|
it was already in paused mode. "pausing_toggle " tells MPlayer to do so
|
|
only if it was not already in paused mode. Please note that "as soon as
|
|
possible" can be before the command is fully executed.
|
|
As a temporary hack, there is also the _experimental_ "pausing_keep_force "
|
|
prefix, with which MPlayer will not exit the pause loop at all.
|
|
Like this you can avoid the "frame stepping" effect of "pausing_keep "
|
|
but most commands will either not work at all or behave in unexpected ways.
|
|
For "set_mouse_pos" and "key_down_event", "pausing_keep_force" is the default
|
|
since other values do not make much sense for them.
|
|
|
|
|
|
Various tips and tricks (please help expand it!):
|
|
|
|
- Try using something like
|
|
pausing_keep_force pt_step 1
|
|
get_property pause
|
|
to switch to the next file. It avoids audio playback starting to play
|
|
the old file for a short time before switching to the new one.
|
|
- To ensure the user can't control MPlayer "behind your back" use
|
|
something like -input nodefault-bindings -noconfig all
|
|
|
|
|
|
Available commands ('mplayer -input cmdlist' will print a list):
|
|
|
|
af_add <filter_arguments_list> (comma separated list of audio filters with parameters)
|
|
(experimental) Load the given list of audio filters.
|
|
|
|
af_clr
|
|
(experimental) Unload all loaded audio filters.
|
|
|
|
af_del <filter_name_list> (comma separated list of audio filter's names)
|
|
(experimental) Unload the first occurrence of the filters, if loaded.
|
|
|
|
af_switch <filter_arguments_list> (comma separated list of audio filters with parameters)
|
|
(experimental) Remove all the audio filters and replace them with the given list.
|
|
|
|
alt_src_step <value> (ASX playlist only)
|
|
When more than one source is available it selects the next/previous one.
|
|
|
|
audio_delay <value> [abs]
|
|
Set/adjust the audio delay.
|
|
If [abs] is not given or is zero, adjust the delay by <value> seconds.
|
|
If [abs] is nonzero, set the delay to <value> seconds.
|
|
|
|
[brightness|contrast|gamma|hue|saturation] <value> [abs]
|
|
Set/adjust video parameters.
|
|
If [abs] is not given or is zero, modifies parameter by <value>.
|
|
If [abs] is non-zero, parameter is set to <value>.
|
|
<value> is in the range [-100, 100].
|
|
|
|
change_rectangle <val1> <val2>
|
|
Change the position of the rectangle filter rectangle.
|
|
<val1>
|
|
Must be one of the following:
|
|
0 = width
|
|
1 = height
|
|
2 = x position
|
|
3 = y position
|
|
<val2>
|
|
If <val1> is 0 or 1:
|
|
Integer amount to add/subtract from the width/height.
|
|
Positive values add to width/height and negative values
|
|
subtract from it.
|
|
If <val1> is 2 or 3:
|
|
Relative integer amount by which to move the upper left
|
|
rectangle corner. Positive values move the rectangle
|
|
right/down and negative values move the rectangle left/up.
|
|
|
|
dvb_set_channel <channel_number> <card_number>
|
|
Set DVB channel.
|
|
|
|
dvdnav <button_name>
|
|
Press the given dvdnav button.
|
|
up
|
|
down
|
|
left
|
|
right
|
|
menu
|
|
select
|
|
prev
|
|
mouse
|
|
|
|
edl_mark
|
|
Write the current position into the EDL file.
|
|
|
|
frame_drop [value]
|
|
Toggle/set frame dropping mode.
|
|
|
|
get_audio_bitrate
|
|
Print out the audio bitrate of the current file.
|
|
|
|
get_audio_codec
|
|
Print out the audio codec name of the current file.
|
|
|
|
get_audio_samples
|
|
Print out the audio frequency and number of channels of the current file.
|
|
|
|
get_file_name
|
|
Print out the name of the current file.
|
|
|
|
get_meta_album
|
|
Print out the 'Album' metadata of the current file.
|
|
|
|
get_meta_artist
|
|
Print out the 'Artist' metadata of the current file.
|
|
|
|
get_meta_comment
|
|
Print out the 'Comment' metadata of the current file.
|
|
|
|
get_meta_genre
|
|
Print out the 'Genre' metadata of the current file.
|
|
|
|
get_meta_title
|
|
Print out the 'Title' metadata of the current file.
|
|
|
|
get_meta_track
|
|
Print out the 'Track Number' metadata of the current file.
|
|
|
|
get_meta_year
|
|
Print out the 'Year' metadata of the current file.
|
|
|
|
get_percent_pos
|
|
Print out the current position in the file, as integer percentage [0-100).
|
|
|
|
get_property <property>
|
|
Print out the current value of a property.
|
|
|
|
get_sub_visibility
|
|
Print out subtitle visibility (1 == on, 0 == off).
|
|
|
|
get_time_length
|
|
Print out the length of the current file in seconds.
|
|
|
|
get_time_pos
|
|
Print out the current position in the file in seconds, as float.
|
|
|
|
get_vo_fullscreen
|
|
Print out fullscreen status (1 == fullscreened, 0 == windowed).
|
|
|
|
get_video_bitrate
|
|
Print out the video bitrate of the current file.
|
|
|
|
get_video_codec
|
|
Print out the video codec name of the current file.
|
|
|
|
get_video_resolution
|
|
Print out the video resolution of the current file.
|
|
|
|
screenshot <value>
|
|
Take a screenshot. Requires the screenshot filter to be loaded.
|
|
0 Take a single screenshot.
|
|
1 Start/stop taking screenshot of each frame.
|
|
|
|
gui_[about|loadfile|loadsubtitle|play|playlist|preferences|skinbrowser|stop]
|
|
GUI actions
|
|
|
|
key_down_event <value>
|
|
Inject <value> key code event into MPlayer.
|
|
|
|
loadfile <file|url> <append>
|
|
Load the given file/URL, stopping playback of the current file/URL.
|
|
If <append> is nonzero playback continues and the file/URL is
|
|
appended to the current playlist instead.
|
|
|
|
loadlist <file> <append>
|
|
Load the given playlist file, stopping playback of the current file.
|
|
If <append> is nonzero playback continues and the playlist file is
|
|
appended to the current playlist instead.
|
|
|
|
loop <value> [abs]
|
|
Adjust/set how many times the movie should be looped. -1 means no loop,
|
|
and 0 forever.
|
|
|
|
menu <command>
|
|
Execute an OSD menu command.
|
|
up Move cursor up.
|
|
down Move cursor down.
|
|
ok Accept selection.
|
|
cancel Cancel selection.
|
|
hide Hide the OSD menu.
|
|
|
|
set_menu <menu_name>
|
|
Display the menu named <menu_name>.
|
|
|
|
mute [value]
|
|
Toggle sound output muting or set it to [value] when [value] >= 0
|
|
(1 == on, 0 == off).
|
|
|
|
osd [level]
|
|
Toggle OSD mode or set it to [level] when [level] >= 0.
|
|
|
|
osd_show_progression
|
|
Show the progression bar, the elapsed time and the total duration of the
|
|
movie on the OSD.
|
|
|
|
osd_show_property_text <string> [duration] [level]
|
|
Show an expanded property string on the OSD, see -playing-msg for a
|
|
description of the available expansions. If [duration] is >= 0 the text
|
|
is shown for [duration] ms. [level] sets the minimum OSD level needed
|
|
for the message to be visible (default: 0 - always show).
|
|
|
|
osd_show_text <string> [duration] [level]
|
|
Show <string> on the OSD.
|
|
|
|
panscan <-1.0 - 1.0> | <0.0 - 1.0> <abs>
|
|
Increase or decrease the pan-and-scan range by <value>, 1.0 is the maximum.
|
|
Negative values decrease the pan-and-scan range.
|
|
If <abs> is != 0, then the pan-and scan range is interpreted as an
|
|
absolute range.
|
|
|
|
pause
|
|
Pause/unpause the playback.
|
|
|
|
frame_step
|
|
Play one frame, then pause again.
|
|
|
|
pt_step <value> [force]
|
|
Go to the next/previous entry in the playtree. The sign of <value> tells
|
|
the direction. If no entry is available in the given direction it will do
|
|
nothing unless [force] is non-zero.
|
|
|
|
pt_up_step <value> [force]
|
|
Similar to pt_step but jumps to the next/previous entry in the parent list.
|
|
Useful to break out of the inner loop in the playtree.
|
|
|
|
quit [value]
|
|
Quit MPlayer. The optional integer [value] is used as the return code
|
|
for the mplayer process (default: 0).
|
|
|
|
radio_set_channel <channel>
|
|
Switch to <channel>. The 'channels' radio parameter needs to be set.
|
|
|
|
radio_set_freq <frequency in MHz>
|
|
Set the radio tuner frequency.
|
|
|
|
radio_step_channel <-1|1>
|
|
Step forwards (1) or backwards (-1) in channel list. Works only when the
|
|
'channels' radio parameter was set.
|
|
|
|
radio_step_freq <value>
|
|
Tune frequency by the <value> (positive - up, negative - down).
|
|
|
|
seek <value> [type]
|
|
Seek to some place in the movie.
|
|
0 is a relative seek of +/- <value> seconds (default).
|
|
1 is a seek to <value> % in the movie.
|
|
2 is a seek to an absolute position of <value> seconds.
|
|
|
|
seek_chapter <value> [type]
|
|
Seek to the start of a chapter.
|
|
0 is a relative seek of +/- <value> chapters (default).
|
|
1 is a seek to chapter <value>.
|
|
|
|
switch_angle <value>
|
|
Switch to the angle with the ID [value]. Cycle through the
|
|
available angles if [value] is omitted or negative.
|
|
|
|
set_mouse_pos <x> <y>
|
|
Tells MPlayer the coordinates of the mouse in the window.
|
|
This command doesn't move the mouse!
|
|
|
|
set_property <property> <value>
|
|
Set a property.
|
|
|
|
set_property_osd <property> <value>
|
|
Same as above, but show the new value on the OSD in the standard
|
|
manner defined for that property (if any).
|
|
|
|
speed_incr <value>
|
|
Add <value> to the current playback speed.
|
|
|
|
speed_mult <value>
|
|
Multiply the current speed by <value>.
|
|
|
|
speed_set <value>
|
|
Set the speed to <value>.
|
|
|
|
step_property <property> [value] [direction]
|
|
Change a property by value, or increase by a default if value is
|
|
not given or zero. The direction is reversed if direction is less
|
|
than zero.
|
|
|
|
step_property_osd <property> [value] [direction]
|
|
Same as above, but show the new value on the OSD in the standard
|
|
manner defined for that property (if any).
|
|
|
|
stop
|
|
Stop playback.
|
|
|
|
sub_alignment [value]
|
|
Toggle/set subtitle alignment.
|
|
0 top alignment
|
|
1 center alignment
|
|
2 bottom alignment
|
|
|
|
sub_delay <value> [abs]
|
|
Adjust the subtitle delay by +/- <value> seconds or set it to <value>
|
|
seconds when [abs] is nonzero.
|
|
|
|
sub_load <subtitle_file>
|
|
Loads subtitles from <subtitle_file>.
|
|
|
|
sub_log
|
|
Logs the current or last displayed subtitle together with filename
|
|
and time information to ~/.mplayer/subtitle_log. Intended purpose
|
|
is to allow convenient marking of bogus subtitles which need to be
|
|
fixed while watching the movie.
|
|
|
|
sub_pos <value> [abs]
|
|
Adjust/set subtitle position.
|
|
|
|
sub_remove [value]
|
|
If the [value] argument is present and non-negative, removes the subtitle
|
|
file with index [value]. If the argument is omitted or negative, removes
|
|
all subtitle files.
|
|
|
|
sub_select [value]
|
|
Display subtitle with index [value]. Turn subtitle display off if
|
|
[value] is -1 or greater than the highest available subtitle index.
|
|
Cycle through the available subtitles if [value] is omitted or less
|
|
than -1. Supported subtitle sources are -sub options on the command
|
|
line, VOBsubs, DVD subtitles, and Ogg and Matroska text streams.
|
|
This command is mainly for cycling all subtitles, if you want to set
|
|
a specific subtitle, use sub_file, sub_vob, or sub_demux.
|
|
|
|
sub_source [source]
|
|
Display first subtitle from [source]. Here [source] is an integer:
|
|
SUB_SOURCE_SUBS (0) for file subs
|
|
SUB_SOURCE_VOBSUB (1) for VOBsub files
|
|
SUB_SOURCE_DEMUX (2) for subtitle embedded in the media file or DVD subs.
|
|
If [source] is -1, will turn off subtitle display. If [source] less than -1,
|
|
will cycle between the first subtitle of each currently available sources.
|
|
|
|
sub_file [value]
|
|
Display subtitle specifid by [value] for file subs. The [value] is
|
|
corresponding to ID_FILE_SUB_ID values reported by '-identify'.
|
|
If [value] is -1, will turn off subtitle display. If [value] less than -1,
|
|
will cycle all file subs.
|
|
|
|
sub_vob [value]
|
|
Display subtitle specifid by [value] for vobsubs. The [value] is
|
|
corresponding to ID_VOBSUB_ID values reported by '-identify'.
|
|
If [value] is -1, will turn off subtitle display. If [value] less than -1,
|
|
will cycle all vobsubs.
|
|
|
|
sub_demux [value]
|
|
Display subtitle specifid by [value] for subtitles from DVD or embedded
|
|
in media file. The [value] is corresponding to ID_SUBTITLE_ID values
|
|
reported by '-identify'. If [value] is -1, will turn off subtitle display.
|
|
If [value] less than -1, will cycle all DVD subs or embedded subs.
|
|
|
|
sub_scale <value> [abs]
|
|
Adjust the subtitle size by +/- <value> or set it to <value> when [abs]
|
|
is nonzero.
|
|
|
|
vobsub_lang
|
|
This is a stub linked to sub_select for backwards compatibility.
|
|
|
|
sub_step <value>
|
|
Step forward in the subtitle list by <value> steps or backwards if <value>
|
|
is negative.
|
|
|
|
sub_visibility [value]
|
|
Toggle/set subtitle visibility.
|
|
|
|
forced_subs_only [value]
|
|
Toggle/set forced subtitles only.
|
|
|
|
switch_audio [value] (currently MPEG*, AVI, Matroska and streams handled by libavformat)
|
|
Switch to the audio track with the ID [value]. Cycle through the
|
|
available tracks if [value] is omitted or negative.
|
|
|
|
switch_angle [value] (DVDs only)
|
|
Switch to the DVD angle with the ID [value]. Cycle through the
|
|
available angles if [value] is omitted or negative.
|
|
|
|
switch_ratio [value]
|
|
Change aspect ratio at runtime. [value] is the new aspect ratio expressed
|
|
as a float (e.g. 1.77778 for 16/9).
|
|
There might be problems with some video filters.
|
|
|
|
switch_title [value] (DVDNAV only)
|
|
Switch to the DVD title with the ID [value]. Cycle through the
|
|
available titles if [value] is omitted or negative.
|
|
|
|
switch_vsync [value]
|
|
Toggle vsync (1 == on, 0 == off). If [value] is not provided,
|
|
vsync status is inverted.
|
|
|
|
teletext_add_digit <value>
|
|
Enter/leave teletext page number editing mode and append given digit to
|
|
previously entered one.
|
|
0..9 - Append apropriate digit. (Enables editing mode if called from normal
|
|
mode, and switches to normal mode when third digit is entered.)
|
|
- - Delete last digit from page number. (Backspace emulation, works only
|
|
in page number editing mode.)
|
|
|
|
teletext_go_link <1-6>
|
|
Follow given link on current teletext page.
|
|
|
|
tv_start_scan
|
|
Start automatic TV channel scanning.
|
|
|
|
tv_step_channel <channel>
|
|
Select next/previous TV channel.
|
|
|
|
tv_step_norm
|
|
Change TV norm.
|
|
|
|
tv_step_chanlist
|
|
Change channel list.
|
|
|
|
tv_set_channel <channel>
|
|
Set the current TV channel.
|
|
|
|
tv_last_channel
|
|
Set the current TV channel to the last one.
|
|
|
|
tv_set_freq <frequency in MHz>
|
|
Set the TV tuner frequency.
|
|
|
|
tv_step_freq <frequency offset in MHz>
|
|
Set the TV tuner frequency relative to current value.
|
|
|
|
tv_set_norm <norm>
|
|
Set the TV tuner norm (PAL, SECAM, NTSC, ...).
|
|
|
|
tv_set_brightness <-100 - 100> [abs]
|
|
Set TV tuner brightness or adjust it if [abs] is set to 0.
|
|
|
|
tv_set_contrast <-100 -100> [abs]
|
|
Set TV tuner contrast or adjust it if [abs] is set to 0.
|
|
|
|
tv_set_hue <-100 - 100> [abs]
|
|
Set TV tuner hue or adjust it if [abs] is set to 0.
|
|
|
|
tv_set_saturation <-100 - 100> [abs]
|
|
Set TV tuner saturation or adjust it if [abs] is set to 0.
|
|
|
|
use_master
|
|
Switch volume control between master and PCM.
|
|
|
|
vo_border [value]
|
|
Toggle/set borderless display.
|
|
|
|
vo_fullscreen [value]
|
|
Toggle/set fullscreen mode.
|
|
|
|
vo_ontop [value]
|
|
Toggle/set stay-on-top.
|
|
|
|
vo_rootwin [value]
|
|
Toggle/set playback on the root window.
|
|
|
|
volume <value> [abs]
|
|
Increase/decrease volume or set it to <value> if [abs] is nonzero.
|
|
|
|
|
|
The following commands are really only useful for OSD menu console mode:
|
|
|
|
help
|
|
Displays help text, currently empty.
|
|
|
|
exit
|
|
Exits from OSD menu console. Unlike 'quit', does not quit MPlayer.
|
|
|
|
hide
|
|
Hides the OSD menu console. Clicking a menu command unhides it. Other
|
|
keybindings act as usual.
|
|
|
|
run <value>
|
|
Run <value> as shell command. In OSD menu console mode stdout and stdin
|
|
are through the video output driver.
|
|
|
|
|
|
Available properties:
|
|
|
|
name type min max get set step comment
|
|
=================================================================
|
|
|
|
osdlevel int 0 3 X X X as -osdlevel
|
|
speed float 0.01 100 X X X as -speed
|
|
loop int -1 X X X as -loop
|
|
pause flag 0 1 X 1 if paused, use with pausing_keep_force
|
|
filename string X file playing wo path
|
|
path string X file playing
|
|
demuxer string X demuxer used
|
|
stream_pos pos 0 X X position in stream
|
|
stream_start pos 0 X start pos in stream
|
|
stream_end pos 0 X end pos in stream
|
|
stream_length pos 0 X (end - start)
|
|
stream_time_pos time 0 X present position in stream (in seconds)
|
|
chapter int 0 X X X select chapter
|
|
chapters int X number of chapters
|
|
angle int 0 X X X select angle
|
|
length time X length of file in seconds
|
|
percent_pos int 0 100 X X X position in percent
|
|
time_pos time 0 X X X position in seconds
|
|
metadata str list X list of metadata key/value
|
|
metadata/* string X metadata values
|
|
volume float 0 100 X X X change volume
|
|
balance float -1 1 X X X change audio balance
|
|
mute flag 0 1 X X X
|
|
audio_delay float -100 100 X X X
|
|
audio_format int X
|
|
audio_codec string X
|
|
audio_bitrate int X
|
|
samplerate int X
|
|
channels int X
|
|
switch_audio int -2 255 X X X select audio stream
|
|
switch_angle int -2 255 X X X select DVD angle
|
|
switch_title int -2 255 X X X select DVD title
|
|
fullscreen flag 0 1 X X X
|
|
deinterlace flag 0 1 X X X
|
|
ontop flag 0 1 X X X
|
|
rootwin flag 0 1 X X X
|
|
border flag 0 1 X X X
|
|
framedropping int 0 2 X X X 1 = soft, 2 = hard
|
|
gamma int -100 100 X X X
|
|
brightness int -100 100 X X X
|
|
contrast int -100 100 X X X
|
|
saturation int -100 100 X X X
|
|
hue int -100 100 X X X
|
|
panscan float 0 1 X X X
|
|
vsync flag 0 1 X X X
|
|
video_format int X
|
|
video_codec string X
|
|
video_bitrate int X
|
|
width int X "display" width
|
|
height int X "display" height
|
|
fps float X
|
|
aspect float X
|
|
switch_video int -2 255 X X X select video stream
|
|
switch_program int -1 65535 X X X (see TAB default keybind)
|
|
sub int -1 X X X select subtitle stream
|
|
sub_source int -1 2 X X X select subtitle source
|
|
sub_file int -1 X X X select file subtitles
|
|
sub_vob int -1 X X X select vobsubs
|
|
sub_demux int -1 X X X select subs from demux
|
|
sub_delay float X X X
|
|
sub_pos int 0 100 X X X subtitle position
|
|
sub_alignment int 0 2 X X X subtitle alignment
|
|
sub_visibility flag 0 1 X X X show/hide subtitles
|
|
sub_forced_only flag 0 1 X X X
|
|
sub_scale float 0 100 X X X subtitles font size
|
|
tv_brightness int -100 100 X X X
|
|
tv_contrast int -100 100 X X X
|
|
tv_saturation int -100 100 X X X
|
|
tv_hue int -100 100 X X X
|
|
teletext_page int 0 799 X X X
|
|
teletext_subpage int 0 64 X X X
|
|
teletext_mode flag 0 1 X X X 0 - off, 1 - on
|
|
teletext_format int 0 3 X X X 0 - opaque,
|
|
1 - transparent,
|
|
2 - opaque inverted,
|
|
3 - transp. inv.
|
|
teletext_half_page int 0 2 X X X 0 - off, 1 - top half,
|
|
2- bottom half
|