Differences

This shows you the differences between two versions of the page.

Link to this comparison view

mplayer_slave_protocol [2013/06/28 15:59] (current)
beandog created
Line 1: Line 1:
 +====== mplayer slave protocol ======
  
 +This is an old copy of the slave.txt file (I'm guessing). ​ I remember it was always hard to find, so here's my old copy of what it was:
 +
 +<​code>​
 +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.
 +
 +
 +Available commands ('​mplayer -input cmdlist'​ will print a 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_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</​code>​

Navigation