請移步https://higoge.github.io/,全部下載資料在那個博客都能找到。謝謝。 html
--------------------------------------------------------------------linux
仍是前兩天幫「豬×××」考慮畢業設計的時候,想了想vlc能不能做爲vod的服務器,替代上一篇博客裏面的live555 media server,由於live555 media server作的確實不是太好。查了些資料,在vlc羣裏面亂問了一通,終於解決了。好東西啊,你們共享。
在這感謝vlc研究羣「櫻木」童鞋提供的幫助。
git
1. 所需軟件
vlc-0.9.9或vlc-0.8.6i,主要測試的是比較新的0.9.9版本的。
putty:一款集telnet,ssh遠端登錄的很是好的軟件。下載地址:http://wrc.gro.clinux.org/putty/putty.exegithub
2. 命令行啓動vlc,並打開後臺信息顯示,有助於觀察後臺信息
開啓cmd,並cd到vlc的目錄,執行服務器
vlc -vv --extraintf=loggerssh
3. 開啓vlc的telnet服務
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 startedide
注意觀察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。oop
5. 架設點播服務vod
分別輸入:
new vod1 vod enabled
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
解釋下:
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重名了。
8. 保存剛纔操做
繼續輸入
save d:/01.cfg
將剛纔操做保存到了d:/01.cfg裏面,除了control。能夠經過記事本等文本編輯器查看一下里面的內容。
若是從新開啓了vlc,則能夠輸入
load d:/01.cfg
將剛纔保存的操做讀入進來,繼續操做或控制。
經過這樣的配置,一個vlc的實例能夠提供多個服務,包括單播,組播和點播。確實強大啊。
這樣上一篇博客的流媒體服務器能夠替換爲vlc了。跟上一篇日誌結合做個簡單的流媒體服務的網站或者相似於pplive的客戶端,就不是太有技術難度的事情了。
參考網址:http://www.videolan.org/doc/streaming-howto/en/ch05.html