summaryrefslogtreecommitdiffstats
path: root/DOCS/OUTDATED-tech/slave.txt
diff options
context:
space:
mode:
authorwm4 <wm4@mplayer2.org>2012-07-28 18:15:33 +0200
committerwm4 <wm4@mplayer2.org>2012-07-28 20:44:59 +0200
commit5368c46453223acf87de7ef89a35a37402c2d8eb (patch)
tree051bf39b80c5fbbb5212ecc93ef3531031194640 /DOCS/OUTDATED-tech/slave.txt
parentf606bb6d97cfdfb8f740259eb4ea683adddfd06b (diff)
downloadmpv-5368c46453223acf87de7ef89a35a37402c2d8eb.tar.bz2
mpv-5368c46453223acf87de7ef89a35a37402c2d8eb.tar.xz
Rename DOCS/tech/ to DOCS/OUTATED-tech/
While DOCS/tech/ contains lots of documentation about mplayer's internals, most of it seems outdated, and hasn't been touched in many years. On the other hand, there still might be useful things in there, but it's hard to tell which parts. Instead of deleting all it, rename the directory to "warn" potential developers that the documentation is completely outdated.
Diffstat (limited to 'DOCS/OUTDATED-tech/slave.txt')
-rw-r--r--DOCS/OUTDATED-tech/slave.txt586
1 files changed, 586 insertions, 0 deletions
diff --git a/DOCS/OUTDATED-tech/slave.txt b/DOCS/OUTDATED-tech/slave.txt
new file mode 100644
index 0000000000..6bb1dc53c4
--- /dev/null
+++ b/DOCS/OUTDATED-tech/slave.txt
@@ -0,0 +1,586 @@
+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.
+
+NOTE: the following paragraph is mostly obsolete; tricky pause handling
+was required in old MPlayer versions where all commands unpaused by default.
+Now running commands does not require leaving pause state any more, and
+the prefixes described here should not be required in normal use.
+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!):
+
+- 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_cmdline <filter_name> <filter_arguments>
+ (experimental) Send new command-line options to a filter with the given name.
+
+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].
+
+capturing [value]
+ Toggle/set capturing the primary stream like -dumpstream.
+ Requires the -capture parameter to be given.
+
+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 <each_frame> <full_window>
+ Take a screenshot. Requires the screenshot filter to be loaded.
+ each_frame:
+ 0 Take a single screenshot. (Default.)
+ 1 Start/stop taking screenshot of each frame.
+ full_window:
+ 0 Save the video image, in its original resolution. Typically without
+ OSD or subtitles. (Default.)
+ 1 Save the contents of the mplayer window. Typically with OSD and
+ subtitles. If not available (no VO support), this may act as if 0 was
+ passed.
+
+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.
+
+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 (use "set_property pause X" to set a particular
+ value regardless of whether the player is already paused or not).
+
+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).
+
+run <value>
+ Run <value> as shell command.
+
+seek <value> [type] [hr-seek]
+ Seek to some place in the movie.
+ type = 0 is a relative seek of +/- <value> seconds (default).
+ type = 1 is a seek to <value> % in the movie.
+ type = 2 is a seek to an absolute position of <value> seconds.
+ The hr-seek parameter controls whether to use precise seeks (not limited
+ to keyframe positions in video).
+ hr-seek = 0 means use default set with option -hr-seek (default).
+ hr-seek = 1 means force precise seek if possible.
+ hr-seek = -1 means force non-precise seek.
+
+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 (forward or backward respectively).
+ 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 [value] is omitted or less than -1, will cycle between the first subtitle
+ of each currently available source (forward or backward respectively).
+
+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] is omitted or less than -1, will cycle all file subs
+ (forward or backward respectively).
+
+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] is omitted or less than -1, will cycle all vobsubs
+ (forward or backward respectively).
+
+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] is omitted or less than -1, will cycle all DVD subs or embedded subs
+ (forward or backward respectively).
+
+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.
+
+
+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
+hr_seek string X X X as -hr-seek
+pts_association_mode string X X X as -pts-association-mode
+pause flag 0 1 X 1 if paused
+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
+capturing flag 0 1 X X X dump primary stream if enabled
+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
+colormatrix choice X X X as --colormatrix
+colormatrix_input_range choice X X X as --colormatrix-input-range
+colormatrix_output_range choice X X X as --colormatrix-output-range
+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
+ass_vsfilter_aspect_compat flag 0 1 X X X SSA/ASS aspect ratio correction
+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