通過vlc搭建rtsp流媒體服務(wù)器,vlc支持RTSP over TCP的方式,數(shù)據(jù)流傳輸時(shí)只支持RTP over UDP。而DarwinStreamingServer(簡稱dss)服務(wù)器能自適應(yīng)客戶端發(fā)起的數(shù)據(jù)傳輸請求是用TCP方式,還是用UDP方式,如果是UDP方式,交互命令是RTSP over TCP,數(shù)據(jù)傳輸是RTP over UDP,如果是TCP方式,交互命令是RTSP over TCP,數(shù)據(jù)傳輸是RTP over TCP。

一、dss服務(wù)器,vlc客戶端播放視頻。
通過命令參數(shù)指定TCP或udp傳輸媒體數(shù)據(jù)。

1:TCP傳輸媒體數(shù)據(jù)
在vlc的命令行參數(shù)里面加入以下選項(xiàng)即可:
--rtsp-tcp
即用TCP方式訪問服務(wù)器應(yīng)該用如下命令:
vlc rtsp://192.168.1.198/test --rtsp-tcp
這是其中的一個(gè)RTP數(shù)據(jù)包:
我們可以看到,通過這種方式的RTP數(shù)據(jù)包是基于TCP實(shí)現(xiàn)的。因?yàn)閐ds服務(wù)默認(rèn)端口是80,所以上面地址不用輸入端口。如果不是默認(rèn)端口,就需要指定端口。比如:vlc rtsp://192.168.1.198:8554/test --rtsp-tcp
2:UDP傳輸媒體數(shù)據(jù)
雖然在和DSS的交互中vlc默認(rèn)是用UDP進(jìn)行媒體數(shù)據(jù)的傳輸?shù)模覀円惨紤]如果換成其它流媒體服務(wù)的情況,所以可以加上如下參數(shù)進(jìn)行限制:
--no-rtsp-tcp
即用UDP方式訪問服務(wù)器應(yīng)該用如下命令:
vlc rtsp://192.168.1.198 /test --no-rtsp-tcp
二、vlc服務(wù)器,vlc客戶端播放視頻。
通過命令參數(shù)指定TCP或udp傳輸媒體數(shù)據(jù)。

無論是vlc rtsp://192.168.1.198:8554/test --rtsp-tcp 或 rtsp://192.168.1.198:8554/test --rtsp-tcp命令,vlc服務(wù)器實(shí)際上走的是RTSP over TCP的方式,數(shù)據(jù)流傳輸時(shí)只支持RTP over UDP。