Commits

Pavlo Shchelokovskyy committed be72856

added mplayer slave mode docs

  • Participants
  • Parent commits c81f232

Comments (0)

Files changed (1)

mplayer-slave.txt

+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.
+
+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.
+
+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.
+
+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)
+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