diff options
Diffstat (limited to 'DOCS/OUTDATED-tech/slave.txt')
-rw-r--r-- | DOCS/OUTDATED-tech/slave.txt | 586 |
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 |