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