摘 要:隨著互聯網技術的深入發展,在流媒體上實現數據的實時傳輸,已經成為當前信息技術領域研究的熱點問題。本文主要對基于RTSP的流媒體傳輸系統的相關設計進行了研究。
關鍵詞:RTSP;流媒體;傳輸系統
中圖分類號:TN919.8 文獻標識碼:A 文章編號:1674-7712 (2014) 16-0000-01
流媒體是一種新興的在線媒體播放技術,它是對影像和聲音等信息進行壓縮編碼處理,然后放到網絡服務器上,從而實現一邊下載一邊觀看的功能。目前主要有兩種信息傳輸方式:下載方式和流式傳輸。一般來說視頻文件都比較大,而且受網絡帶寬的影響,下載方式比較慢,花費的時間也比較長。而流式傳輸則是通過服務器向用戶連續的傳輸信息,用戶不必等到文件全部下載完成就可以觀看,所以它是目前主流的傳輸方案。而流式傳輸又可以分為順序流式傳輸、實時流失傳輸兩種。RTSP就是實時流媒體傳輸中的一種網絡協議,下面筆者就基于RTSP設計了一個流媒體傳輸系統,以供參考。
一、系統設計
(一)系統體系結構
本系統采用C/S模式,C/S模式是一種應答模式,具體來說就是由客戶端發出請求,服務器收到請求后進行回應的模式。這種模式的優點是可以減輕應用服務器的運行數據負荷。服務器開啟后就一直等待客戶端發來數據請求;當客戶端需要服務器中的數據時就會向服務器發出請求,服務器收到請求后就會將相應的數據傳輸到客戶端。這種模式可以將一些工作交給客戶端來完成,有效發揮客戶端的處理能力,從而減少服務器的工作量,減少運行數據負荷。
(二)總體框架設計
本系統主要包括以下三部分:前端采集編碼、服務器以及客戶端。其工作流程是前端采集編碼設備對已經采集到的數據進行壓縮編碼處理,然后傳輸到服務器上;服務器收到這些數據以后進行兩項工作:(1)把這些數據保存到磁盤中;(2)封裝成RTP(實時傳輸協議)包,并發送到網絡上,通過網絡進行傳輸;流媒體客戶端收到RTP包以后,對數據包進行重組分析,然后送入雙緩沖等待文件錄制或播放[1]。
(三)前端采集編碼
媒體流視頻采集就是通過采樣量化處理將采集來的信號圖像變成數字圖像,并保存到幀儲存器中的過程,它是視頻編碼和視頻傳輸工作的基礎。目前比較常用的視頻采集設備有PCI形式的PC采集卡和使用USB接口的采集卡。就二者來說,USB接口的采集卡在采集方式上顯得更加方便、靈活。音頻采集用麥克風采集現場的聲音,并把聲音傳入音頻編碼器進行壓縮編碼處理。
媒體流數據編碼的作用是壓縮編碼采集到的視頻、音頻數據,使其可以在網絡寬帶上進行順利的傳輸。目前視頻編碼方式有H.264、MPEG4、MJPEG等,音頻編碼有G.711、G723、AAC等[2]。
目前采集編碼主要有兩種解決方案。一種是視頻卡負責采集、CPU進行軟件編碼運輸;這是一種純軟件方式,編碼必須要通過電腦的CPU來進行運算處理,它的發展離不開CPU運算速度的提高,比如在電腦上用軟件解決方案DirectShow(它是一套由Microsoft提供的Windows媒體流處理開發包)。通過它可以方便快速的從采集卡上獲取數據信息,并進行數據的后期處理。但它屬于軟件編碼方式,要求CPU有較高的運算速度和處理速度,對配置一般的電腦而言,效果不是太好。另一種是采集和編碼全部由硬件完成。就是把編解碼器嵌入芯片之中,通過嵌入式的CPU進行編解碼運算,具有體積小、方便攜帶、獨立使用性強等特點。比如當前比較常用的ARM+DSP雙核架構處理器。它的硬編碼工作就是通過DSP自帶的編解碼協處理器實現的。與傳統的采集方案相比,這種方案具有可靠穩定、操作簡便、便于攜帶等特點,所以受到廣泛的使用。
(四)流媒體服務器
流媒體服務器受到前端設備的數據后,就進行RTP打包處理,經Socket發送到網絡上,再傳遞給客戶端。同時創建RTCP處理線程,對RR包和SR包進行處理,實現控制網絡擁塞的目的。除此之外,服務器還通過RTSP對客戶端的會話進行控制。首先由服務器搭建一個RTSP服務器,當客戶端接入時會創建RTP會話,并對從前端設備過來的幀數據進行RTP封包,然后將幀進行切分,并裝入RTP報文數據負載段,經過封裝發送到互聯網上[3]。
(五)流媒體客戶端
客戶端的作用就是對從互聯網上獲得數據包進行解析,然后進行解碼播放。首先客戶端要與服務器之間建立RTSP連接,然后客戶端通過用戶認證后,客戶端通過交互命令接受來自服務器的RTP包和發送者報告SR包,同時每隔一段時間就向服務器發送一次接受者報告RR包,使服務器不斷調整發送速率,實現最佳接收效果。
二、實驗驗證
(一)系統連接
(1)采用DM365 IPNC網絡攝像機作為前端設備;(2)將程序代碼在Linux中編寫成可執行文件,并將該文件嵌入IPNC網絡攝像機開發板中,作為流媒體服務器;(3)普通的PC機作為客戶端。
(二)流媒體服務器測試
用流媒體服務器對網絡請求進行監聽,通過RTSP交互認證后,負責傳輸媒體流,基于RTSP的服務器符合RTSP協議,可以通過客戶端上的VTC播放器接受測試。經測試流媒體服務器提供1080P、D1、720P、CIF。VLC的解碼延時約為0.4秒,畫質和音質良好,說明其工作正常。
(三)流媒體客戶端測試
在客戶端輸入IP地址、用戶名、密碼等信息后、點擊“開始”按鈕便可順利接受實時碼流;點擊“碼流轉發”就能對客戶端RTP包的轉發進行控制。經測試客戶端的畫面平滑流暢,沒有頓卡現象,而且畫面延遲較小,達到了預期效果。
三、結束語
RTSP又稱實時流傳輸協議,它既可以對流媒體數據在IP網絡上的發送進行控制,又可以提供遠程控制功能,是一種非常具有應用前景的網絡技術。本文基于RTSP構建了一個流媒體傳輸系統,對系統中的前端采集編碼、服務器以及客戶端三大模塊進行了詳細介紹并通過實驗驗證,證明了該系統的合理性和科學性。
參考文獻:
[1]陳鋒鋒.基于RTSP的流媒體傳輸系統的應用開發[D].南京郵電大學,2013(04):17-33.
[2]劉大紅.基于RTSP流媒體服務器的設計與實現[D].西安電子科技大學,2013(07):04-19.
[3]龍舟.基于RTSP的智能視頻監控系統的研究與實現[D].中南大學,2013(06):20-36.