vlc的應用:用vlc做單播,組播及點播伺服器
原文地址: http://jeremiah.blog.51cto.com/539865/161876
還是前兩天幫“豬小妹”考慮畢業設計的時候,想了想vlc能不能作為vod的伺服器,替代上一篇部落格裡面的live555 media server,因為live555 media server做的確實不是太好。查了些資料,在vlc群裡面亂問了一通,終於解決了。好東西啊,大家共享。
在這感謝vlc研究群“櫻木”童鞋提供的幫助。
1. 所需軟體
vlc-0.9.9或vlc-0.8.6i,主要測試的是比較新的0.9.9版本的。
putty:一款集telnet,ssh遠端登陸的非常好的軟體。下載地址:http://wrc.gro.clinux.org/putty/putty.exe
vlc-0.9.9或vlc-0.8.6i,主要測試的是比較新的0.9.9版本的。
putty:一款集telnet,ssh遠端登陸的非常好的軟體。下載地址:http://wrc.gro.clinux.org/putty/putty.exe
2. 命令列啟動vlc,並開啟後臺資訊顯示,有助於觀察後臺資訊
開啟cmd,並cd到vlc的目錄,執行
開啟cmd,並cd到vlc的目錄,執行
vlc -vv --extraintf=logger
3. 開啟vlc的telnet服務
vlc-0.9.9在介面上選擇工具->介面->telnet控制檯
後臺dos視窗會有反應,顯示
vlc-0.9.9在介面上選擇工具->介面->telnet控制檯
後臺dos視窗會有反應,顯示
[00000403] main interface debug: looking for interface module: 1 candidate
[00000403] main interface debug: creating VLM
[00000405] main vlm daemon debug: thread 5112 (vlm thread) created at priority 0
(../../src/input/vlm.c:112)
[00000405] main vlm daemon debug: thread started
[00000403] telnet interface: using the VLM interface plugin...
[00000403] main interface debug: net: listening to 127.0.0.1 port 4212
[00000403] telnet interface: telnet interface started on interface 127.0.0.1 421
2
[00000403] main interface debug: using interface module "telnet"
[00000403] main interface debug: TIMER module_Need() : 19.000 ms - Total 19.000
ms / 1 intvls (Avg 19.000 ms)
[00000403] main interface debug: thread 5136 (interface) created at priority 0 (
../../src/interface/interface.c:168)
[00000403] main interface debug: thread started
[00000403] main interface debug: creating VLM
[00000405] main vlm daemon debug: thread 5112 (vlm thread) created at priority 0
(../../src/input/vlm.c:112)
[00000405] main vlm daemon debug: thread started
[00000403] telnet interface: using the VLM interface plugin...
[00000403] main interface debug: net: listening to 127.0.0.1 port 4212
[00000403] telnet interface: telnet interface started on interface 127.0.0.1 421
2
[00000403] main interface debug: using interface module "telnet"
[00000403] main interface debug: TIMER module_Need() : 19.000 ms - Total 19.000
ms / 1 intvls (Avg 19.000 ms)
[00000403] main interface debug: thread 5136 (interface) created at priority 0 (
../../src/interface/interface.c:168)
[00000403] main interface debug: thread started
注意觀察main interface debug:
net: listening to 127.0.0.1 port 4212這句話,說明vlc現在的telnet監聽的是127.0.0.1這個地址和4212這個埠。如果沒有顯示ip的話,一般用127.0.0.1是沒有問題的。127.0.0.1就表示的本機,與localhost是同一個意義。
4. 啟動putty.exe
主機名稱(或ip)輸入:127.0.0.1
埠:4212
連線型別:選Telnet
點開啟。
如果沒有出現"Password:"字樣,點開啟就關閉了,那就說明沒有telnet上。(這個時候可以在cmd裡面輸入telnet 127.0.0.1 4212,看結果應該是正在連線到127.0.0.1...不能開啟到主機的連線, 在埠 4212: 連線失敗,或者是與主機失去連線。不用cmd的telnet連線的主要原因是過會輸入命令的時候看不到。)這個時候,請關閉防火牆,防毒軟體及一切相關軟體,不過中毒了別找我哎。(*^__^*) 嘻嘻……繼續繼續。
如果沒有出現以上問題,在Password:後面輸入"admin",沒有明文回顯。登入成功後會顯示:Welcome, Master。
主機名稱(或ip)輸入:127.0.0.1
埠:4212
連線型別:選Telnet
點開啟。
如果沒有出現"Password:"字樣,點開啟就關閉了,那就說明沒有telnet上。(這個時候可以在cmd裡面輸入telnet 127.0.0.1 4212,看結果應該是正在連線到127.0.0.1...不能開啟到主機的連線, 在埠 4212: 連線失敗,或者是與主機失去連線。不用cmd的telnet連線的主要原因是過會輸入命令的時候看不到。)這個時候,請關閉防火牆,防毒軟體及一切相關軟體,不過中毒了別找我哎。(*^__^*) 嘻嘻……繼續繼續。
如果沒有出現以上問題,在Password:後面輸入"admin",沒有明文回顯。登入成功後會顯示:Welcome, Master。
5. 架設點播服務vod
分別輸入:
分別輸入:
new vod1 vod enabled
setup vod1 input d:/01.avi
解釋下:setup vod1 input d:/01.avi
new了一個名字叫vod1的vod,設定vod1的input為d:/01.avi。
驗證:開啟另一個vlc,開啟rtsp://127.0.0.1/vod1。應該就可以播放了。127.0.0.1可以換成自己的ip。
6. 架設組播伺服器
繼續輸入:
繼續輸入:
new ch1 broadcast enabled
setup ch1 input d:/02.avi [loop]
setup ch1 output #duplicate{dst=rtp{dst=226.0.0.6,mux=ts,port=1234}}
control ch1 play
setup ch1 input d:/02.avi [loop]
setup ch1 output #duplicate{dst=rtp{dst=226.0.0.6,mux=ts,port=1234}}
control ch1 play
解釋下:
new了一個名字叫ch1的broadcast。設定ch1的input為d:/02.avi,loop可選,表示迴圈播放。設定ch1的output為#duplicate{dst=rtp{dst=226.0.0.6,mux=ts,port=1234}},表示rtp協議的ts流傳送到組播地址為226.0.0.6,埠1234。控制ch1播放。
擴充:
1) output後面可以跟sout引數。具體可以參考vlc->媒體->流->流輸出介面的已生成的流輸出字串。
2) control ch1後面還可以加stop,pause,seek 百分比。表示停止,暫停和跳轉到百分之幾的位置。
new了一個名字叫ch1的broadcast。設定ch1的input為d:/02.avi,loop可選,表示迴圈播放。設定ch1的output為#duplicate{dst=rtp{dst=226.0.0.6,mux=ts,port=1234}},表示rtp協議的ts流傳送到組播地址為226.0.0.6,埠1234。控制ch1播放。
擴充:
1) output後面可以跟sout引數。具體可以參考vlc->媒體->流->流輸出介面的已生成的流輸出字串。
2) control ch1後面還可以加stop,pause,seek 百分比。表示停止,暫停和跳轉到百分之幾的位置。
驗證:開啟一個vlc,開啟rtp://226.0.0.6:1234。應該就可以播放了。
7. 架設單播伺服器
第6步裡面的output換成單播的地址就行了。其他的都一樣的。注意不要new重名了。
第6步裡面的output換成單播的地址就行了。其他的都一樣的。注意不要new重名了。
8. 儲存剛才操作
繼續輸入
繼續輸入
save d:/01.cfg
將剛才操作儲存到了d:/01.cfg裡面,除了control。可以通過記事本等文字編輯器檢視一下里面的內容。
如果重新開啟了vlc,則可以輸入
如果重新開啟了vlc,則可以輸入
load d:/01.cfg
將剛才儲存的操作讀入進來,繼續操作或控制。
通過這樣的配置,一個vlc的例項可以提供多個服務,包括單播,組播和點播。確實強大啊。
這樣上一篇部落格的流媒體伺服器可以替換為vlc了。跟上一篇日誌結合作個簡單的流媒體服務的網站或者類似於pplive的客戶端,就不是太有技術難度的事情了。
相關文章
- vlc的應用:用vlc串流攝像頭
- 單播、多播(組播)和廣播的區別
- 用VLC做流媒體伺服器伺服器
- 組播和廣播的區別
- Java 基於UDP 實現單播、組播、廣播 Socket 程式設計JavaUDP程式設計
- IP組播
- 組播地址
- C#實現任意源組播與特定源組播C#
- 小程式輪播圖應用——技巧篇
- HCNP Routing&Switching之組播技術-組播地址
- IPSec組播概要
- 在Windows防火牆設定中,允許單播響應(Unicast Response)是一個控制選項,用於允許或禁止系統對多播或廣播網路流量的單播響應。讓我詳細解釋一下允許和禁止單播響應的區別:Windows防火牆AST
- IP組播基礎及工作原理——1
- 培訓的螢幕廣播網路應用
- HCNP Routing&Switching之組播技術-組播基礎
- HCNP Routing&Switching之組播技術-組播分發
- Swift應用案例 1.無限輪播Swift
- 影片豪橫時代,應用如何快速構建影片點播能力?
- java傳送接收組播(多播)資料包(UDP包)JavaUDP
- HACMP常用命令及要點點播ACM
- vlc簡單搭建流媒體伺服器伺服器
- zigbee無線傳播的例子 應用層
- 組播協議詳解協議
- 一個簡單而美觀的跨平臺播客應用程式
- 啟用函式、正向傳播、反向傳播及softmax分類器,一篇就夠了!函式反向傳播
- HCNP Routing&Switching之組播技術-組播協議IGMP協議
- HCNP Routing&Switching之組播技術-組播路由協議PIM路由協議
- 用廣播 BroadcastReceiver 更新 UI 介面真的好嗎?全方位解析廣播ASTUI
- 用張量廣播機制實現神經網路反向傳播神經網路反向傳播
- 正向傳播和反向傳播反向傳播
- 用RecyclerView打造一個輪播圖View
- 如 何 用 API 播 放 CD (轉)API
- 組播推流工具有接單的小夥伴不?
- C#實現組播源及客戶端C#客戶端
- 華為 組播理論知識
- 組播地址Multicase address
- jQuery輪播圖之上下輪播jQuery
- 直播轉點播實踐