RUTP協議是通過UDP數據包來實現數據可靠傳輸的協議,其協議是建立在無連接的UDP協議基礎上的應用層協議,主要通過發送確認包給接受者,然后對數據包進行丟包重發,實現數據的可靠傳輸。在視頻會議系統的開發當中,需要處理實時的音、視頻及其他的一些數據,RUTP協議怎樣用于我們的視頻會議系統的開發呢?首先,我們先要了解RUTP協議的特點,然后我們分析一下在網絡視頻會議系統中的哪些數據傳輸可以通過RUTP協議進行,最后我們列舉一下幾個重要的開源RUTP庫。

1、RUTP協議特點

RUTP協議主要是解決TCP協議和UDP協議存在的弊端,TCP協議是面對有連接的傳輸協議,其傳輸的數據通過三次握手和滑動窗口協議實現了數據的可靠傳輸,但TCP協議由于需要三次握手,因此其傳輸實時性比較差,很難應用于實時的數據傳輸;UDP協議剛好于TCP協議相反,UDP協議是面向無連接的傳輸協議,數據只是在不斷地進行發送,而沒有對數據進行丟包和排序處理,不能進行網絡的QOS保證,因此UDP協議不能保持數據的可靠性。而RUTP協議能在TCP協議和UDP協議中尋求了最好的平衡點,它主要是通過滑動窗口、丟包重發、擁塞控制等算法,實現數據的實時可靠傳輸,因此RUTP既能實現數據的實時傳輸,又能保證數據的可靠性。由此可見,在我們的視頻會議系統的開發過程中,使用RUTP協議進行數據傳輸,比我們直接單純用TCP協議或者UDP協議要好。

2、在視頻會議系統中的應用

RUTP協議有那么多好處,我們是不是在視頻會議系統的開發中,全部的數據都要用RUTP協議進行傳輸呢?答案是否定的,RUTP協議只是在TCP協議和UTP協議中尋求最好的平衡點,但其可靠性和實時性都處于兩者的中間,比如可靠性,RUTP的在正常的網絡條件下,數據是可靠的,但如果在極端的網絡條件下,其可靠性不如TCP協議的三次握手和滑動窗口協議;而在實時性方面,RUTP協議須要對數據進行帶外數據的控制,其實時性比無連接UDP協議要低許多。因此在視頻會議系統中,數據如果符合既要保持實時性和可靠性,才需要使用到RUTP協議,這些數據一般是音頻、視頻及屏幕共享等數據,而一些如控制信令、文本信息等數據,其數據只要求可靠性而不要求實時性,一般建議使用TCP協議來進行傳輸。

3、開源的RUTP

在開源的項目當中,有幾個非常值得我們關注的RUTP開源庫,利用這些RUTP庫,可以加快我們的視頻會議系統的開發進度,從而迅速實現音、視頻的實時可靠的傳輸。在RUTP開源庫中,最著名的是UDT開源庫,UDT傳輸庫主要是用RUTP協議來實現數據的實時可靠傳輸,它的數據傳輸效率非常高,在網絡條件較好的情況下能傳輸流量非常大的可靠性實時數據,但在網絡堵塞非常嚴重的情況下,UDP還會一直傳輸數據,會導致網絡越來越堵塞、數據可靠性不能保證的情況發送。因此我們需要對網絡進行判斷,如果出現網絡堵塞的情況下,就不再使用UDT庫進行數據傳輸,因此在網絡堵塞情況下,還采用它會造成網絡的更堵塞的情況。另外一個RUTP開源庫是Raknet,Raknet開源庫是一個游戲引擎,主要是應用于游戲中的音頻數據的實時傳輸,因此Raknet庫也非常適合于視頻會議系統的實時數據傳輸。但Raknet庫也存在一些問題,經過在不同的網絡條件下的測試,當在網絡條件比較差的情況下,其數據傳輸較慢,一些數據不能實時地達到接送方,而Raknet庫的版本較多,不同的版本其傳輸效率都不一樣,因此我們需要對這些庫進行實際的測試。綜合這兩個RUTP開源庫,它們在低帶寬的情況下,都存在數據越來越堵塞的情況下,因此我們在視頻會議系統中利用這些RUTP庫,需要了解這些庫的優點和缺點,在網絡條件較差的情況下,要及時進行數據流量控制,保證數據的實時可靠的傳輸。

 

相關文章:RTP協議在視頻會議系統的作用 視頻會議開發中協議的選擇


Powered by PageAdmin CMS