mplayer slave 模式文檔

來源:互聯網
上載者:User

關於slave模式,MPlayer為後台運行其他程式。不再截獲鍵盤事件,MPlayer會從標準輸入讀一個分行符號(/n)分隔開的命令。

要動手嘗試slave模式,運行

  mplayer -slave -quiet <movie>

並在控制台視窗輸入slave命令。

您也可以使用一個fifo檔案(具名管道):

  mkfifo /tmp/fifofile
  mplayer -slave -input file=/tmp/fifofile <movie>

大多數slave模式命令相當於命令列選項,但並非一定要在相同的名稱。詳細說明中可以在手冊中找到

所有命令都可以以“pausing”,“pausing_keep”,或“pausing_toggle”為首碼。“pausing”告訴MPlayer暫停正在處理的命令。 “pausing_keep”告訴MPlayer暫停保持只要它已在暫停模式。“pausing_toggle”告訴MPlayer暫停保持只要它尚未暫停模式。請注意,“儘可能“可以在命令完全執行之前。
作為一項臨時駭客,也有個實驗性“pausing_keep_force”首碼,與之MPlayer不退出了所有的暫停迴圈。
這樣你能避免“frame stepping”由於“pausing_keep”的影響。但大多數命令將要麼不執行或是按照令人意外的方式。
對於“set_mouse_pos”和“key_down_event”,“pausing_keep_force”是預設
因為其他值不為他們作出多大的意義。

各種提示和技巧(協助擴充!):

- 嘗試使用例如
    pausing_keep_force pt_step 1
    get_property pause
  切換到下一個檔案。它避免在轉換到新的音頻檔案之前舊檔案播放一小段時間

可用的命令('mplayer -input cmdlist的'會列印出一份清單):

注意,因為Mplayer是通過分行符號("/n")來分隔不同的命令,所以我們在編程中不管是寫入到管道檔案還是寫入到QT的進程中在命令後面一定要加入分行符號("/n"),這樣Mplayer才能辨別。

還有一點我們要通過給Mplayer發送多個命令來擷取到當前視頻播放的資訊,如何來擷取到這些資訊呢?

在我們通過管道或進程的標準輸入通道給Mplayer發送命令,如“get_video_resolution”(注意是底線),Mplayer就會響應,會在標準輸出中輸出視頻的解析度如:ANS_VIDEO_RESOLUTION='352x288',所以為了獲得影片的解析度,我們還需要將擷取到的資訊進行解析,取到352x288.其他的資訊擷取方法也是差不多的。

alt_src_step <value> (ASX playlist only)
    當有一個以上的源可以有選擇下一個/前一個。

audio_delay <value> [abs]
    設定/調整音頻延遲。
    如果[abs]不提供或為零,調整遲延<value>秒。
    如果[abs]不為零,將延遲到<value>秒。

[brightness|contrast|gamma|hue|saturation] <value> [abs]
    設定/調整視頻參數。
    如果[abs]不提供或為零,修改參數為<value>。
    如果[abs]不為零,參數設定為<value>。
    <value>的範圍是[-100,100]。

change_rectangle <val1> <val2>
    更改矩形濾波器矩形的座標。
        <val1>
            必須是下列之一:
                0 =寬度
                1 =高度
                2 = x座標
                3 = y座標
        <val2>
            如果<val1>為0或1:
                整數加/減去寬/高。
                正值寬度/高度和負值減去它。
            如果<val1>是2或3:
                相對矩形左上方的整數值。正值移動矩形向右/向下和負值移動矩形向左/向上。

dvb_set_channel <channel_number> <card_number>
    設定的DVB通道。

dvdnav <button_name>
     給定dvdnav按鈕。
        up
        down
        left
        right
        menu
        select
        prev
        mouse

edl_mark
    將當前位置寫入EDL檔案。

frame_drop [value]
    切換/設定幀的模式。

get_audio_bitrate
    列印出當前檔案音頻位元速率。

get_audio_codec
    列印出的音頻當前檔案的轉碼器的名稱。

get_audio_samples
    列印出的音頻和當前檔案的聲道數。

get_file_name
    列印出當前檔案名稱。

get_meta_album
    列印出當前檔案的'專輯'的中繼資料。

get_meta_artist
    列印出當前檔案的'藝術家'的中繼資料。

get_meta_comment
    列印出當前檔案的'評論'的中繼資料。

get_meta_genre
    列印出當前檔案的'流派'的中繼資料。

get_meta_title
    列印出當前檔案的'標題'的中繼資料。

get_meta_track
    列印出當前檔案的'音軌的數量'的中繼資料。

get_meta_year
    列印出當前檔案的'年份'的中繼資料。

get_percent_pos
    列印出檔案中的當前位置為整數百分比[0-100)。

get_property <property>
    列印出的屬性的當前值。

get_sub_visibility
    列印出字幕能見度(1 ==開啟,0 ==關閉)。

get_time_length
    列印出當前檔案的長度用秒錶示。

get_time_pos
    列印出在檔案的當前位置用秒錶示,採用浮點數。

get_vo_fullscreen
    全屏狀態列印出來(1 == 全屏,0 ==視窗)。

get_video_bitrate
    列印出當前檔案的視頻位元速率。

get_video_codec
    列印出當前視頻檔案的轉碼器的名稱。

get_video_resolution
    列印出當前檔案的視頻解析度。

screenshot <value>
    截屏。要求螢幕過濾器載入。
        0以一個單獨的。
        1啟動/停止服用,每幀畫面。

gui_[about|loadfile|loadsubtitle|play|playlist|preferences|skinbrowser|stop]
    圖形化使用者介面行動

key_down_event <value>
    注入<value>到MPlayer的關鍵代碼的事件。

loadfile <file|url> <append>
    載入給定的檔案/網址,停止當前檔案的播放/網址。
    如果是<append>非零繼續播放和檔案/網址
    追加到當前播放清單代替。

loadlist <file> <append>
    載入給定的播放清單檔案,停止當前檔案的播放。
    如果<append>是非零和繼續播放檔案,檔案追加到當前播放清單。

loop <value> [abs]
    調整/設定怎樣的電影應該是迴圈多次。 -1代表不迴圈,永遠的0。

功能表命令>
    執行上顯示OSD功能表命令。
        up 移動游標向上。
        down 移動游標向下。
        ok 接受的選擇。
        cancel 取消選擇。
        hide 隱藏的OSD菜單。

set_menu <menu_name>
    顯示菜單命名<menu_name>。

mute [value]
    切換聲音輸出靜音或將其設定為[value](value>=0)
    (1 ==開啟,0 ==關閉)。

osd [level]
    切換OSD模式或將其設定為[level]在[level]>= 0。

osd_show_property_text <string> [duration] [level]
    顯示一項關於OSD擴充屬性的字串,看到-playing-msg 用於描述可用的擴充。如果[duration]>=0,顯示為[duration]ms。 [level]設定所需的最低水平OSD該訊息可見(預設是:0 -始終顯示)。

osd_show_text <string> [duration] [level]
    查看OSD的<string>。

panscan <-1.0 - 1.0> | <0.0 - 1.0> <abs>
    增加或減少pan-and-scan的<value>的範圍,1.0是最高的。
    負值降低pan-and-scan範圍。
    如果<abs>!= 0,那麼pan-and-scan範圍被解釋為絕對的範圍。

pause
    暫停/取消暫停播放。

frame_step
    播放一幀,然後暫停。

pt_step <value> [force]
    轉到下一個/上的播放樹項。標誌的<value>講述
    該方向。如果沒有項目可在給定的方向不會做任何事,除非[force]不為零。

pt_up_step <value>[force]
    類似pt_step,但跳轉到下一個/父列表中的前一個項目。
    有助於擺脫在播放樹內部迴圈。

quit [value]
    退出MPlayer。可選的整數[value]的值作為傳回碼
    為mplayer的進程(預設值:0)。

radio_set_channel <channel>
    切換到<channel>。在‘channel’的廣播參數需要設定。

radio_set_freq <frequency in MHz>
    設定廣播頻率調諧器。

radio_step_channel <-1|1>
    步向前(1)或向後(-1頻道列表)。只有當'channel'的廣播參數設定。

radio_step_freq <value>
    調整頻率的<value>(正數 - 向上,負數 - 向下)。

seek <value> [type]
    定位電影的某些地方。
        0 是一個相對定位+/- <value>(預設值)。
        1 是定位<value>%在電影裡。
        2 是尋求一個絕對位置的<value>秒。

seek_chapter <value> [type]
    定位一章的開始。
        0 是一個相對尋求+/- <value>章節(預設)。
        1 定位到<value>章。

switch_angle <value>
    轉換ID為角度[value]。通過迴圈如果用角度[value]省略或負數。

set_mouse_pos<X> <y>
    告訴MPlayer的視窗中滑鼠座標。
    此命令不移動滑鼠!

set_property <property> <value>
    設定屬性。

speed_incr <value>
    增加<value>當前回放速度。

speed_mult <value>
    目前速度乘以<value>。

speed_set <value>
    設定速度為<value>。

step_property <property> [value] [direction]
    通過value來改變屬性,或者,如果沒給定或為0則增加預設值。如果小於零,方向是相反的方向。

stop
    停止播放。

sub_alignment [value]
    切換/設定對齊字幕。
        0 頂部對齊
        1 置中對齊
        2 底部對齊

sub_delay <value> [abs]
    調整了字幕延遲+/- <value>秒或將其設定<value>
    秒時[abs]不為零。

sub_load <subtitle_file>
    從<subtitle_file>載入字幕。

sub_log
    當前日誌上顯示的字幕或連同檔案名稱和時間資訊的〜/.mplayer/subtitle_log。

sub_pos <value> [abs]
    調整/設定字幕的位置。

sub_remove [value]
    如果[value]參數是當前和非負,並取消了字幕檔案的[value]索引。如果參數省略或負,除去
    所有的字幕檔案。

sub_select [value]
    顯示字幕的索引[value]。關閉字幕顯示,如果關閉[value]的值為-1或比更高可用的字幕指數更大。
    可用的字幕周期,如果[value]省略或低於-1。支援字幕來源是 -sub 選項在命令列,VOBsubs,DVD字幕和Ogg和Matroska文字資料流。
    這主要是迴圈所有字幕命令,如果要設定一個特定的字幕,使用sub_file,sub_vob,或sub_demux。

sub_source [source]
    顯示第一個字幕,從[source]。這裡[source]是一個整數:
    SUB_SOURCE_SUBS(0)用於檔案字幕
    SUB_SOURCE_VOBSUB(1) VOBSub檔案
    SUB_SOURCE_DEMUX(2)在媒體檔案或DVD嵌入字幕。
    如果[source]為-1,將關閉字幕顯示。如果[source]低於-1,將迴圈每個之間的現有資源第一個字幕。

sub_file [value]
    顯示字幕specifid由[value]的檔案subs。在[value]的值
    通過相應的ID_FILE_SUB_ID'-identify'報告的值。
    如果[value]的值-1,將關閉字幕顯示。如果[value]小於-1,
    將迴圈的所有檔案subs。

sub_vob [value]
    顯示字幕specifid由[value]的vobsubs。在[value]的值
    通過相應的ID_VOBSUB_ID'-identify'報告的值。
    如果[value]的值-1,將關閉字幕顯示。如果[value]小於-1,
    將迴圈的所有vobsubs。

sub_demux [value]
    顯示字幕specifid由[value]從DVD字幕或嵌入在媒體檔案。在[value]的值對應ID_SUBTITLE_ID值'-identify',。如果[value]的值-1,將關閉字幕顯示。
    如果[value]小於-1,將迴圈所有的DVD字幕或嵌入字幕。

sub_scale <value> [abs]
    調整字幕大小+/- <value>或將其設定為<value>時,[abs]
    不為零。

vobsub_lang
    這是與sub_select為了向後相容。

sub_step<value>
    在字幕列表前進<value>步,如果<value>
    是為負,倒退<value>步。

sub_visibility [value]
    切換/設定字幕。

forced_subs_only [value]
    強制切換/設定字幕。

switch_audio [value](目前的MPEG*,AVI,的Matroska和libav庫處理流)
    切換到音頻檔案通過ID[value]。迴圈
    歌曲,如果[value]省略或負數。

switch_angle [value](DVD光碟片只)
    切換到DVD的角度通過ID[value]。迴圈
    如果可用角度,如果[value]省略或負數。

switch_ratio [value]
    在運行時改變長寬比。 [value]是表示新的長寬比
    作為浮動16 / 9(例如1.77778)。
    這可能與某些視頻過濾器的問題。

switch_title [value](DVDNAV only)
    切換到DVD標題通過ID[value]。迴圈可用標題,如果[value]的值省略或負數。

switch_vsync [value]
    切換場同步(1 ==開啟,0 ==關閉)。如果[value]的值沒有提供,重新整理同步狀態反轉。

teletext_add_digit <value>
    進入/離開字幕的頁面號編輯模式,並追加提供的以前輸入的數字。
    0 .. 9 - 附加apropriate數字。 (啟用編輯模式,如果從一般要求模式,並切換到正常模式時。)
      -     - 刪除最後的頁碼數字。 (退格模擬,只能在頁碼編輯模式。)

teletext_go_link <1-6>
    按照目前的字幕的頁面給出連結。

tv_start_scan
    電視頻道開始自動掃描。

tv_step_channel <channel>
    選擇下一個/上一個電視頻道。

tv_step_norm
    更改電視制式。

tv_step_chanlist
    改變頻道列表。

tv_set_channel <channel>
    設定當前的電視頻道。

tv_last_channel
    設定當前電視頻道到最後一個。

tv_set_freq <frequency in MHz>
    設定電視調諧器的頻率。

tv_step_freq <frequency offset in MHz>
    設定電視調諧器的頻率相對於當前值。

tv_set_norm <norm>
    電視調諧器設定規範(包括PAL,SECAM,NTSC制式,...).

tv_set_brightness <-100 - 100> [abs]
    設定電視調諧器的亮度或調整,如[abs]設定為0。

tv_set_contrast <-100 -100> [abs]
    設定電視調諧器的對比或調整,如[abs]設定為0。

tv_set_hue <-100 - 100> [abs]
    設定電視調諧器色調或調整,如[abs]設定為0。

tv_set_saturation <-100 - 100> [abs]
    設定電視調諧器飽和或調整,如[abs]設定為0。

use_master
    主之間切換和PCM音量控制。

vo_border [value]
    切換/設定邊界顯示。

vo_fullscreen [value]
    切換/設定全螢幕模式。

vo_ontop [value]
    切換/設定保持在最上層。

vo_rootwin [value]
    切換/設定在根視窗播放。

volume <value> [abs]
    增大/減小音量,或將其設定為<value>,如果[abs]不為零。

下面的命令,實際上只可用於OSD菜單控制台模式:

help
    協助文本顯示,目前還是空的。

exit
    從OSD菜單退出控制台。不像'quit',不退出MPlayer的。

hide
    隱藏了OSD菜單控制台。點擊功能表命令unhides它。其他按鍵綁定的行為一切如常。

run <value>
    運行<value>的shell命令。在OSD菜單控制台模式標準輸出和標準輸入
    是通過視頻輸出

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/liangkaiming/archive/2010/08/05/5790893.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.