標籤:android style http color os 使用 io ar 資料
在視頻會議系統的研發當中,我們的音、視頻資料必須要有相應的可靠性作為保障,因為視頻會議系統是一個即時性非常強的系統,如果其資料在網路不太好的情況下,有可能會出現丟包、資料延遲、資料堵塞等現象,出現這些現象都會影響資料的可靠性,從而導致視頻會議系統音、視頻品質的下降。那我們怎樣現實資料的即時性,但又能保證資料的可靠性呢?我們在前面文章“視頻會議傳輸模組的開發選擇”裡面已經提到如果選擇視頻會議的傳輸庫,而在這裡我們詳細地講一下UDT庫(UDP-based Data Transfer LibraryUDT 高效能的資料轉送協議)。
UDT庫是一位留美博士在校期間寫的開來源資料傳輸庫,其協議是建立在UDP協議的基礎上,通過資料重發、資料校正、資料還原處理等技術,實現資料高效的傳輸,並能保證資料的可靠傳輸。UDT庫和其他的可靠傳輸庫一樣,都是在UDP協議上進行資料的封裝,實現可靠的傳輸傳輸,為什麼我們會推薦使用UDT作為視頻會議開發的資料轉送庫呢?
1、跨平台性
UDT的開發是基於C語言,其跨平台性較好,除了支援windows系統外,還能支援一些移動終端的作業系統,如Android、IOS等,因此如果我們的視頻會議系統要在主流的移動終端上進行運行,我們可以選擇UDT庫來進行資料的傳輸。而在移動終端平台上使用UDT庫也非常容易,我們可以把UDT庫加入到我們的代碼裡面,或者把UDT編譯成動態連結程式庫,然後通過介面來調用相應的UDT函數。
2、可靠性
UDT的可靠性並不像TCP進行三向交握和重發來實現,如果在網路堵塞較為嚴重的時候,TCP還是會一直重發資料,這樣會導致網路更為堵塞,而UDT除了採用不可靠的UDP資料轉送外,還利用控制通道對資料進行監測,如果在網路條件比較好的情況下,UDT資料會進行重新傳輸資料來保證資料的可靠性,而當網路條件較差的情況下,UDT會採用減少資料的發送量來實現資料轉送的穩定性,從而保證資料的可靠即時。
3、支援海量資料即時傳輸
UDT不僅能實現資料的可靠傳輸,還能進行海量的資料即時傳輸,一般的TCP協議或者UDP協議,很難在網路上進行大資料的傳輸,而UDT在傳輸過程中建立了用於資料即時傳輸的緩衝區和特有的滑動視窗協議,因此UDT能在網路上,傳輸海量的即時傳輸資料。
4、支援點對點的串連
所謂的點對點傳輸,就是資料不通過伺服器的轉寄,直接由發送方發送到接收方的一種傳輸方式。這種方式解決的內網傳輸的問題,如在不同的內網中,如果需要相互傳輸資料必須要通過伺服器的中轉或者通過NAT轉換來實現不同內網的資料轉送,而利用UDT可以實現不同內網的資料連線與傳輸。因此使用UDT傳輸庫,可以用很小代價來實現內網的點對點資料連線與傳輸,因此UDT的點對點方式也非常適合於在視頻會議系統使用。
由此可見,UDT庫能為視頻會議系統提供跨平台、資料的即時性、海量資料轉送、點對點傳輸的支援,是一個值得我們關注並使用的高效即時傳輸庫。
高效即時的網路會議資料轉送庫—UDT