用vlc搭建簡單流媒體服務器(UDP和TCP方式)


這段時間用到了流媒體數據傳輸的TCPUDP方式,感覺vlc可以做這方面的demo,這里總結下,也方便我以后查閱。

簡介

VLC主頁:http://www.videolan.org

VLC不僅僅是個播放器,也可以作為流媒體服務器使用。這個網上有相關的資料,我就不多說了。

聲明下本文用的VLC版本:2.0.3

VLC搭建基於UDP的流媒體服務器

流媒體服務器大多數是基於UDP的,這個在VLC中也有好幾種實現,我這里只列出我用到的幾個。

1UDPlegacy)傳統模式

服務端操作

打開“媒體——流”選項,如圖所示:

點擊“添加”按鈕選擇流媒體文件,然后點擊“串流”按鈕

點擊“下一個”后,在“目標設置”界面選擇“UDP (legacy)”,然后點擊添加按鈕

填上目標ip地址,並在“轉碼選項”中選擇相應的編碼類型(這個視情況而定)

可以點擊“下一個”進行相關設置,也可以點擊“串流”來完成服務端的設定。這里我點擊“串流”完成服務端的設定。

客戶端操作

點擊“媒體——打開網絡串流”,在彈出的框中輸入“udp://@1234,點擊“播放”按鈕即可。

通過界面操作比較簡單,但如果經常進行此類工作的話,腳本是比較靠譜的。

命令行操作方式

服務端(172.16.1.1):

vlc -vvv sample1.avi --sout udp:172.16.1.100:1234 --ttl 10

客戶端(172.16.1.100):

vlc udp://@:1234

2RTP方式

雖然有基於TCPRTP,但抓包發現,VLCRTP是基於UDP的。

 

服務端操作

前幾步和“UDPlegacy)傳統模式”類似,這里不再贅述。主要是在目標里面選擇“RTP / MPEG Transport Stream”這個選項,如圖所示:

IP,選端口:

點擊“串流”按鈕即可完成服務端操作。

客戶端操作

點擊“播放”按鈕即可。

命令行操作方式

服務端(172.16.1.1):

vlc -vvv sample1.avi --sout "#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{dst=172.16.1.100,port=5004,mux=ts,ttl=10}" 

客戶端(172.16.1.100):

vlc rtp://@:5004

3RTSP方式

RTSP方式是通過RTP進行流媒體數據的傳輸的,VLC的實現也是基於UDP的。這種方式網上的參考資料比較多,我就不截圖了,直接敘述命令行方式的操作。

命令行操作方式

服務端(172.16.1.1):

vlc -vvv sample1.avi --sout "#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/test}" 

客戶端(172.16.1.100):

vlc rtsp://172.16.1.1:8554/test

VLC搭建基於TCP的流媒體服務器

VLChttp方式搭建的流媒體服務器是用TCP方式進行數據傳輸的,這里就以這個為例子了。

HTTP方式

這個的界面操作和RTSP的類似,就不贅述。

命令行操作方式

服務端(172.16.1.1):

vlc -vvv sample1.avi --sout "#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:http{mux=ffmpeg{mux=flv},dst=:8080/test}" 

客戶端(172.16.1.100):

vlc http://172.16.1.1:8080/test

 好,就這些了,希望對你有幫助。 

本文github地址: 

https://github.com/mike-zhang/mikeBlogEssays/blob/master/2012/20120909_用vlc搭建簡單流媒體服務器(UDP和TCP方式).odt 

歡迎補充  

 

 

出處:https://www.cnblogs.com/MikeZhang/archive/2012/09/09/vlcStreamingServer20120909.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM