rtsp協議之dss服務器與vlc服務器比較

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

rtsp協議之dss服務器與vlc服務器比較

一、dss服務器,vlc客戶端播放視頻。

通過命令參數指定TCP或udp傳輸媒體數據。

rtsp協議之dss服務器與vlc服務器比較

1:TCP傳輸媒體數據

在vlc的命令行參數裡面加入以下選項即可:

--rtsp-tcp

即用TCP方式訪問服務器應該用如下命令:

vlc rtsp://192.168.1.198/test --rtsp-tcp

這是其中的一個RTP數據包:

我們可以看到,通過這種方式的RTP數據包是基於TCP實現的。因為dds服務默認端口是80,所以上面地址不用輸入端口。如果不是默認端口,就需要指定端口。比如:vlc
rtsp://192.168.1.198:8554/test --rtsp-tcp

2:UDP傳輸媒體數據

雖然在和DSS的交互中vlc默認是用UDP進行媒體數據的傳輸的,但我們也要考慮如果換成其它流媒體服務的情況,所以可以加上如下參數進行限制:

--no-rtsp-tcp

即用UDP方式訪問服務器應該用如下命令:

vlc rtsp://192.168.1.198 /test --no-rtsp-tcp


二、vlc服務器,vlc客戶端播放視頻。

通過命令參數指定TCP或udp傳輸媒體數據。

rtsp協議之dss服務器與vlc服務器比較

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


分享到:


相關文章: