RTSP流媒體數據傳輸的兩種方式(TCP和UDP)

一般狀況下rtsp協議中數據傳輸的實現是UDP,因工做須要,想讓rtsp的數據傳輸部分用TCP實現。DarwinStreamingServer服務器能自適應客戶端發起的數據傳輸請求是用TCP方式,仍是用UDP方式,這裏惟一須要解決的是客戶端協議的發起問題,而vlc支持RTSP over TCP的方式。 html

剩下的問題就好辦了,讓vlcTCP的方式發起鏈接便可。 服務器

DSS的安裝配置我就不介紹了,不懂的朋友網上查下。 tcp

方式一:TCP傳輸媒體數據

我以前的文章(http://www.cnblogs.com/MikeZhang/archive/2012/09/09/vlcStreamingServer20120909.html )中提到過用vlc的命令行方式操做,並且還實現了用基於UDP媒體數據傳輸的RTSP協議。其實今天的這個需求只須要在vlc的命令行參數裏面加入如下選項便可: spa

--rtsp-tcp 命令行

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

vlc rtsp://172.16.1.1/test --rtsp-tcp blog

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

咱們能夠看到,經過這種方式的RTP數據包是基於TCP實現的。 test

方式二:UDP傳輸媒體數據

雖然在和DSS的交互中vlc默認是用UDP進行媒體數據的傳輸的,但咱們也要考慮若是換成其它流媒體服務的狀況,因此能夠加上以下參數進行限制: 配置

--no-rtsp-tcp

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

vlc rtsp://172.16.1.1/test –-no-rtsp-tcp

其中的一個數據包RTP包以下:

從圖上能夠看到,這裏的RTP是基於UDP實現的。

相關文章
相關標籤/搜索