用vlc搭建簡單流媒體服務(wù)器(UDP和TCP方式)這段時間用到了流媒體數(shù)據(jù)傳輸?shù)?span style="font-family: 'Times New Roman', serif;">TCP和UDP方式,感覺vlc可以做這方面的demo,這里總結(jié)下,也方便我以后查閱。 簡介VLC主頁:http://www. VLC不僅僅是個播放器,也可以作為流媒體服務(wù)器使用。這個網(wǎng)上有相關(guān)的資料,我就不多說了。 聲明下本文用的VLC版本:2.0.3 用VLC搭建基于UDP的流媒體服務(wù)器流媒體服務(wù)器大多數(shù)是基于UDP的,這個在VLC中也有好幾種實(shí)現(xiàn),我這里只列出我用到的幾個。 1、UDP(legacy)傳統(tǒng)模式服務(wù)端操作 打開“媒體——流”選項(xiàng),如圖所示: 點(diǎn)擊“添加”按鈕選擇流媒體文件,然后點(diǎn)擊“串流”按鈕 點(diǎn)擊“下一個”后,在“目標(biāo)設(shè)置”界面選擇“UDP (legacy)”,然后點(diǎn)擊添加按鈕 填上目標(biāo)ip地址,并在“轉(zhuǎn)碼選項(xiàng)”中選擇相應(yīng)的編碼類型(這個視情況而定) 可以點(diǎn)擊“下一個”進(jìn)行相關(guān)設(shè)置,也可以點(diǎn)擊“串流”來完成服務(wù)端的設(shè)定。這里我點(diǎn)擊“串流”完成服務(wù)端的設(shè)定。 客戶端操作 點(diǎn)擊“媒體——打開網(wǎng)絡(luò)串流”,在彈出的框中輸入“udp://@1234”,點(diǎn)擊“播放”按鈕即可。 通過界面操作比較簡單,但如果經(jīng)常進(jìn)行此類工作的話,腳本是比較靠譜的。 命令行操作方式 服務(wù)端(172.16.1.1): vlc -vvv sample1.avi --sout udp:172.16.1.100:1234 --ttl 10 客戶端(172.16.1.100): vlc udp://@:1234 2、RTP方式雖然有基于TCP的RTP,但抓包發(fā)現(xiàn),VLC的RTP是基于UDP的。
服務(wù)端操作 前幾步和“UDP(legacy)傳統(tǒng)模式”類似,這里不再贅述。主要是在目標(biāo)里面選擇“RTP / MPEG Transport Stream”這個選項(xiàng),如圖所示: 填IP,選端口: 點(diǎn)擊“串流”按鈕即可完成服務(wù)端操作。 客戶端操作 點(diǎn)擊“播放”按鈕即可。 命令行操作方式 服務(wù)端(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 3、RTSP方式RTSP方式是通過RTP進(jìn)行流媒體數(shù)據(jù)的傳輸?shù)模?span style="font-family: 'Times New Roman', serif;">VLC的實(shí)現(xiàn)也是基于UDP的。這種方式網(wǎng)上的參考資料比較多,我就不截圖了,直接敘述命令行方式的操作。 命令行操作方式 服務(wù)端(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的流媒體服務(wù)器VLC的http方式搭建的流媒體服務(wù)器是用TCP方式進(jìn)行數(shù)據(jù)傳輸?shù)?,這里就以這個為例子了。 HTTP方式這個的界面操作和RTSP的類似,就不贅述。 命令行操作方式 服務(wù)端(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 好,就這些了,希望對你有幫助。 E-Mail : Mike_Zhang@live.com
|
|
來自: rookie > 《技術(shù)帖》