A. 請問如何通過python編程發出如 pause stop 等命令來網路控制192.168.100上vlc的播放呢
這個應該得看VLC有沒有開放相關的介面吧。
B. 如何在ubuntu16.04上安裝vlc
最簡單的方法,打開軟體中心或新立得,直接搜vlc,找到後安裝。
稍微難一點的方法,打開終端,輸入命令
1
sudo apt-get install vlc
我沒有命令行安裝過vlc,不知道軟體庫里還是不是vlc,如果不是一般可以這樣解決
1
sudo apt-get install vlc*
最難的方法,下載源碼自己編譯安裝。
********************************************************
插件那個安裝,建議先安裝新立得(建議必裝)
sudo apt-get install synaptic
用sudo許可權打開後直接查找相關的插件名,然後安裝。
或者用上面的方法
sudo apt-get install vlc*
除了vlc之外還會顯示很多可用插件,選擇你需要的,安裝即可,例如
sudo apt-get install vlc vlc-dash-plugin
上面命令我瞎編的不能信,具體看你終端里的反饋。
C. 急!!怎麼用python程序代碼打開vlc播放器,接收伺服器發送過來的視頻數據,達到實時顯示視頻的目的
去vlc的wiki上看看,應該是使用命令行參數,python這里只是起到一個配置命令行的作用。當然,vlc也支持作為activex組件使用,具體的看vlc wiki上的例子,那樣就可以把視頻顯示到你指定的窗口上了。不知道你的詳細需求是什麼?
D. 如何在沒有安裝vlc的ubuntu上運行vlc的程序
最簡單的方法,打開軟體中心或新立得,直接搜vlc,找到後安裝。
稍微難一點的方法,打開終端,輸入命令
1
sudo apt-get install vlc
我沒有命令行安裝過vlc,不知道軟體庫里還是不是vlc,如果不是一般可以這樣解決
1
sudo apt-get install vlc*
最難的方法,下載源碼自己編譯安裝。
********************************************************
插件那個安裝,建議先安裝新立得(建議必裝)
sudo apt-get install synaptic
用sudo許可權打開後直接查找相關的插件名,然後安裝。
或者用上面的方法
sudo apt-get install vlc*
除了vlc之外還會顯示很多可用插件,選擇你需要的,安裝即可,例如
sudo apt-get install vlc vlc-dash-plugin
上面命令我瞎編的不能信,具體看你終端里的反饋。
E. 如何使用vlc發送rtsp命令
1
打開「媒體——流」選項
2
點擊「添加」按鈕選擇流媒體文件,然後點擊「串流」按鈕
3
點擊「下一個」後,在「目標設置」界面選擇「RTSP」,然後點擊添加 + 按鈕
4
填上目標ip地址,並在「轉碼選項」中選擇相應的編碼類型(這個視情況而定),目標IP地址就是PC機器本機的IP地址
5
客戶端操作
點擊「媒體——打開網路串流」,在彈出的框中輸入「rtsp://192.168.1.2:1234/tcp1」,點擊「播放」按鈕即可。
F. 求助,VLC打不開,命令行下執行vlc的結果
我的arch就是前天裝的,昨天才發現vlc根本開不了。我原來的筆記本上的許久之前裝的arch(系統更新到最新)的vlc就能用。
G. 調用vlc api,怎麼關閉vlc的命令行窗口
需要用到API函數SetWindowPos,還是以記事本為例:
Option Explicit
Private Declare Function ShowWindow Lib "user32" (ByVal HWnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal HWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal <a href="https://www..com/s?wd=cy&tn=44039180_cpr&fenlei=-GCpyw9Uz4Bmy-bIi4WUvYETgN-" target="_blank" class="-highlight">cy</a> As Long, ByVal wFlags As Long) As Long
H. 是否有任何命令暫停,停止和命令行關閉VLC播放器
在「運行」窗口中輸入shutdown -a ,確實即可停止命令行中的關機命令。
I. 如何在命令行中使用VLC將MP4轉換為MP3文件
首先下載VCL,去網路應用下載吧,看圖
J. 命令行下怎樣遠程式控制制VLC播放
開宗明義,在Headless ( i.e. without a monitor or input device)的伺服器(例如,各類嵌入式「玩具板子」)上如果架起VLC進行多媒體播放,怎樣才是最方便的控制方式?
同時,因為希望是可以腳本控制,所以最好是可以做到非互動式的指令。
如下是簡單的步驟:
使能VLC的Remote Control介面
VLC實際上擁有靈活強大的控制方式,由於我們上來就限定了Headless,那麼命令行顯然是先決條件,VLC文檔中已經列出了支持的幾種Remote方式:
rc interface
ncurses interface
telnet interface
考慮到三者中rc應該是最強大和靈活的(ncurses需要configure,telnet更多的是互動型,何況rc本身就可以支持telnet訪問),我們就focus在rc 介面上。
使能方法非常簡單,調用vlc的時候,用:
cvlc -I rc --rc-fake-tty --rc-host <ip>:<port>
選項
意義
'-I rc' 啟動rc介面;
'--rc-fake-tty' 強迫將標准輸入當做tty
'--rc-host' 選定的監聽地址和埠
注意:如果需要區域網內訪問,請填寫本機ip,如果只要本機訪問,用localhost就可以了
得到如下信息(忽略那些錯誤吧,畢竟Headless么,很多介面對VLC來說都缺失,但是不影響使用)
cvlc -I rc --rc-fake-tty --rc-host localhost:8888
VLC media player 2.0.3 Twoflower (revision 2.0.2-93-g77aa89e)
[0x11eed70] inhibit interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[0x11eed70] main interface error: no suitable interface mole
[0x11eed70] main interface error: no suitable interface mole
[0x10858f0] main libvlc error: interface "globalhotkeys,none" initialization failed
[0x11eed70] [cli] lua interface: Listening on host "localhost:8888".
RC 介面指令
直接藉助幫助文件, 可見還是非常強大的:
+----[ CLI commands ]
| add XYZ . . . . . . . . . . . . . . . . . . . . add XYZ to playlist
| enqueue XYZ . . . . . . . . . . . . . . . . . queue XYZ to playlist
| playlist . . . . . . . . . . . . . show items currently in playlist
| search [string] . . search for items in playlist (or reset search)
| sort key . . . . . . . . . . . . . . . . . . . . . sort the playlist
| sd [sd] . . . . . . . . . . . . . show services discovery or toggle
| play . . . . . . . . . . . . . . . . . . . . . . . . . . play stream
| stop . . . . . . . . . . . . . . . . . . . . . . . . . . stop stream
| next . . . . . . . . . . . . . . . . . . . . . . next playlist item
| prev . . . . . . . . . . . . . . . . . . . . previous playlist item
| goto, gotoitem . . . . . . . . . . . . . . . . . goto item at index
| repeat [on|off] . . . . . . . . . . . . . . toggle playlist repeat
| loop [on|off] . . . . . . . . . . . . . . . . toggle playlist loop
| random [on|off] . . . . . . . . . . . . . . toggle playlist random
| clear . . . . . . . . . . . . . . . . . . . . . clear the playlist
| status . . . . . . . . . . . . . . . . . . . current playlist status
| title [X] . . . . . . . . . . . . . . set/get title in current item
| title_n . . . . . . . . . . . . . . . . next title in current item
| title_p . . . . . . . . . . . . . . previous title in current item
| chapter [X] . . . . . . . . . . . . set/get chapter in current item
| chapter_n . . . . . . . . . . . . . . next chapter in current item
| chapter_p . . . . . . . . . . . . previous chapter in current item
|
| seek X . . . . . . . . . . . seek in seconds, for instance `seek 12'
| pause . . . . . . . . . . . . . . . . . . . . . . . . toggle pause
| fastforward . . . . . . . . . . . . . . . . . . set to maximum rate
| rewind . . . . . . . . . . . . . . . . . . . . . set to minimum rate
| faster . . . . . . . . . . . . . . . . . . faster playing of stream
| slower . . . . . . . . . . . . . . . . . . slower playing of stream
| normal . . . . . . . . . . . . . . . . . . normal playing of stream
| rate [playback rate] . . . . . . . . . . set playback rate to value
| frame . . . . . . . . . . . . . . . . . . . . . play frame by frame
| fullscreen, f, F [on|off] . . . . . . . . . . . . toggle fullscreen
| info . . . . . . . . . . . . . information about the current stream
| stats . . . . . . . . . . . . . . . . show statistical information
| get_time . . . . . . . . . seconds elapsed since stream's beginning
| is_playing . . . . . . . . . . . . 1 if a stream plays, 0 otherwise
| get_title . . . . . . . . . . . . . the title of the current stream
| get_length . . . . . . . . . . . . the length of the current stream
|
| volume [X] . . . . . . . . . . . . . . . . . . set/get audio volume
| volup [X] . . . . . . . . . . . . . . . raise audio volume X steps
| voldown [X] . . . . . . . . . . . . . . lower audio volume X steps
| adev [X] . . . . . . . . . . . . . . . . . . . set/get audio device
| achan [X] . . . . . . . . . . . . . . . . . set/get audio channels
| atrack [X] . . . . . . . . . . . . . . . . . . . set/get audio track
| vtrack [X] . . . . . . . . . . . . . . . . . . . set/get video track
| vratio [X] . . . . . . . . . . . . . . . set/get video aspect ratio
| vcrop, crop [X] . . . . . . . . . . . . . . . . set/get video crop
| vzoom, zoom [X] . . . . . . . . . . . . . . . . set/get video zoom
| vdeinterlace [X] . . . . . . . . . . . . . set/get video deintelace
| vdeinterlace_mode [X] . . . . . . . . set/get video deintelace mode
| snapshot . . . . . . . . . . . . . . . . . . . . take video snapshot
| strack [X] . . . . . . . . . . . . . . . . . set/get subtitles track
|
| vlm . . . . . . . . . . . . . . . . . . . . . . . . . load the VLM
| description . . . . . . . . . . . . . . . . . describe this mole
| help, ? [pattern] . . . . . . . . . . . . . . . . . a help message
| longhelp [pattern] . . . . . . . . . . . . . . a longer help message
| lock . . . . . . . . . . . . . . . . . . . . lock the telnet prompt
| logout . . . . . . . . . . . . . . exit (if in a socket connection)
| quit . . . . . . . . quit VLC (or logout if in a socket connection)
| shutdown . . . . . . . . . . . . . . . . . . . . . . . shutdown VLC
+----[ end of help ]
如何訪問:
實際上,在一些討論中看到,如果只是需要本機訪問,更高效的辦法是藉助一個unix socket文件,從而通過socket文件來訪問,簡單說就是將上面提到的-rc-host選項變成-rc-unix然後用一個文件作為輸入;
這樣可以用類似於形如下面指令的方法來模擬socket訪問 (作者以OSX為例,應當是沒有問題的):
echo normal | nc -U /Users/vlc.sock
我的例子,Debian中,nc似乎是不適用,更多人推薦用socat (需要安裝)
echo 「pause」 | socat – UNIX-CONNECT:/Users/vlc.sock
上面可以理解成將管道化之後的ECHO字元向這個Unix的Socket發送。可是在我這里死活都會遇到文件connection refused,作為菜鳥,實在無力解決,特別是看到有強者遇到類似問題交叉比較得出可能和特定版本的kernel stock存在bug有關之後,不管看不看得懂,我都理直氣壯的放棄了——直接轉向了上面提到的host:port的方案。
所以:
OSX
如果是互動式,直接 nc <host> <port>,就可以進入這個介面界面了:
$ nc 192.168.199.105 8888
VLC media player 2.0.3 Twoflower
Command Line Interface initialized. Type `help' for help.
$ status
( new input: file:///home/user/test.mp3 )
( audio volume: 256 )
( state playing )
$ info
+----[ Stream 0 ]
|
| Bitrate: 160 kb/s
| Type: Audio
| Channels: Stereo
| Sample rate: 44100 Hz
| Codec: MPEG Audio layer 1/2/3 (mpga)
|
+----[ end of stream info ]
如果不需要互動:
參考上節:
echo status | nc -w 0 <ip> <port>
-w是指示說該命令之後,立刻退出,實際上OSX下並不一定需要,只是為了和下面Linux對照一下。
LINUX
大致相同,區別只是在非互動式下,
echo status | nc -q 0 <ip> <port>
兩者區別只是一個用了' wait'之意,另外一個是' quit'罷了,想想還挺風趣....風趣個妹啊,這不是折騰跨平台用戶嗎?!
結論
至此,該問題解決,不論是想在遠程式控制制無輸入(顯示)設備上的播放,還是想用腳本對其他線程的VLC播放進行自動化的干預控制,都不成問題了。