專利名稱:一種流媒體支持tcp和udp傳送的自適應的方法
技術領域:
本發明涉及流媒體數據傳輸領域,特別是涉及一種基于流媒體支持TCP和UDP傳送的自適應的方法。
背景技術:
隨著針對流媒體技術研究的不斷深入,簡單的流媒體實現已經不能滿足人們日益增長的網絡文化需求。即使在寬帶條件下,當網絡用戶達到一定限額時,簡單的流媒體技術將面臨著網絡擁塞、丟包等常見的網絡問題。因此,如何在網絡出現異常的情況下,依然保證客戶端音視頻享受的最大化,針對軟件、設備和數據傳輸速度上的差別,用戶以不同帶寬瀏覽音視頻內容,就成為現在研究的熱點。目前一種解決方法是服務器減少發送給客戶端的數據從而阻止再次緩沖,在RealSystem 5.0中,這種方法稱為“視頻流瘦化”。這種方法的限制是Real Video文件必須是一種數據速率設計,結果可通過抽取內部幀,使其擴展到更低速率,導致質量較低,離原始數據速率越遠,質量越差。另一種解決方法是根據不同連接速率創建多個文件,根據用戶連接,服務器發送相應文件,這種方法帶來制作和管理上的困難,而且,用戶連接是動態變化的,服務器也無法實時協調。
發明內容
本發明所要解決的技術問題是提供一種流媒體支持TCP和UDP傳送的自適應的方法,以減少現有流媒體技術在網絡擁塞等狀況時,依然要保證客戶音視頻瀏覽使用正常、更好體驗等服務時所帶來的弊端。為實現上述發明目的,本發明提供一種基于流媒體支持的TCP和UDP傳送的自適應的方法,包括網絡帶寬、擁塞狀況、丟包率等的分析方法和相應的底層傳輸協議UDP或者是TCP的判斷和切換;
所述網絡帶寬、擁塞狀況、丟包率的分析方法,用于:根據協議,流媒體服務器定時發送相關的測試分析包,獲取客戶端和服務器之間的一些網絡參數,估測基本網絡狀況,并以此選擇相應的網絡傳輸協議,使客戶端獲得最佳觀看效果;
所述相應的底層傳輸協議UDP或者是TCP的切換,用于:如果上述獲取的網絡參數反映客戶端反饋良好,即丟包率在可承受范圍之內,并且在規定時間內到達,那么就認為客戶端同服務器之間的網絡狀況良好,可以采用RTP over TCP的方式發送數據。由于TCP沒有丟包(其自身具有重傳機制),網絡狀況又屬于良好,因此客戶端將有較高的視聽享受。如果網絡狀況并不理想,則應該考慮切換到RTP over UDP的方式發送數據。本發明還提供一種基于流媒體支持的TCP和UDP協議的判斷的方法,包括:
根據協議,可以在客戶端與流媒體服務器端定時發送一些網絡狀況的分析包,從而獲取客戶端與流媒體服務器之間的一些網絡參數,通過對網絡狀況的估測,以丟包率等作為TCP和UDP之間傳輸策略的判定條件。優選的有,上述方法中,還包括:可以通過計算端到端的可用帶寬估計值和擁塞控制機制下允許發送端的最大發送速率,將這兩個值作為激發TCP和UDP之間傳輸策略切換的判定條件。本發明還提供一種基于流媒體支持的TCP和UDP協議的切換的方法,包括:
根據協議包對網絡狀況的判斷,如果客戶端反饋良好,即丟包率在可承受范圍之內,
并且在規定時間內到達,那么就認為客戶端同服務器之間的網絡狀況良好,可以采用RTPover TCP的方式發送數據;否則,如果網絡狀況并不理想,則應該考慮切換到RTP over UDP的方式發送數據。本發明還提供一種基于流媒體的TCP或者UDP不同中斷方式的處理方法,包括:根據基于流媒體支持的TCP和UDP協議的判斷和切換,流媒體服務器可以中斷處理當前的流媒體數據包的發送,可以以一個壓棧的過程來記錄保存當前的發送狀態,然后再切換到合適的底層傳輸協議后,再以出棧的方式重新給流媒體客戶端發送流媒體數據包。由上述方案可以看出,本發明中對于底層傳輸協議的自適應的選擇,可以很好地解決傳輸層通信協議TCP和UDP都不能滿足流媒體傳輸的QOS要求。如TCP協議采用滑動窗口控制機制,數據傳送隨著控制窗口動態的啟動和關閉,難以滿足流媒體實時和等時的傳送要求。UDP協議的無連接特點能夠提高傳輸速率,雖然可以在某種程度上滿足流媒體的實時性要求,但是由于其本身的不可靠性,也無法滿足流媒體傳輸的需要。對于TCP和UDP傳輸協議的自適應的選擇和切換方法,則能夠有效地兼容兩者之間的優缺點,使得流媒體視頻可以給用戶帶來更好的體驗。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明實施例中系統結構示意 圖2為本發明實施例中系統處理信息流程示意 圖3為本發明實施例中協議棧示意圖。
具體實施例方式為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖和具體實施方式
對本發明作進一步詳細的說明。顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。實施例中,參見圖1、圖2和圖3。本發明提供一種基于流媒體的TCP和UDP傳送的自適應的方法,可以通過協議的內容進行自動判斷,進行相應的TCP或者UDP的傳送。包括TCP和UDP傳送的自適應的方法、TCP和UDP協議的判斷的方法、TCP或UDP切換的方法、TCP或UDP的不同中斷方式的處理方法。其中:
由圖(3)可知本實施實例使用的協議棧是基于TCP或UDP為底層傳輸協議的。具體的底層傳輸協議的切換則由本基于流媒體的TCP和UDP傳送的自適應的方法所決定。本實例在具體實施過程中,包括網絡帶寬、擁塞狀況、丟包率等的分析方法和相應的底層傳輸協議m)P或者是TCP的判斷和切換;
由圖(I)可知本實施實例的具體系統結構,流媒體服務器與相應的流媒體接收客戶端形成這樣一個結構。在本實施實例中的方法可由圖(2)體現,具體是流媒體服務器會定時地根據協議發送一些測試包,獲取網絡的狀況,可以根據丟包率、端到端的可用帶寬估計值和擁塞控制機制下允許發送端的最大發送速率等來決定底層所使用的傳輸協議。首先是網絡帶寬、擁塞狀況、丟包率的分析方法,用于:根據協議,流媒體服務器定時發送相關的測試分析包,獲取客戶端和服務器之間的一些網絡參數,估測基本網絡狀況,并以此選擇相應的網絡傳輸協議,使客戶端獲得最佳觀看效果;
其次是相應的底層傳輸協議UDP或者是TCP的切換,用于:如果上述獲取的網絡參數反映客戶端反饋良好,即丟包率在可承受范圍之內,并且在規定時間內到達,那么就認為客戶端同服務器之間的網絡狀況良好,可以采用RTP over TCP的方式發送數據。由于TCP沒有丟包(其自身具有重傳機制),網絡狀況又屬于良好,因此客戶端將有較高的視聽享受。如果網絡狀況并不理想,則應該考慮切換到RTP over UDP的方式發送數據。由上可見,本發明提供的一種基于流媒體的TCP和UDP傳送的自適應的方法,有以下優點。(I)便于部署,降低成本
本發明可以很好地考慮到客戶端用戶軟件、設備和數據傳輸速度上的差別,只需要在流媒體服務器端與流媒體客戶端之間定時做一些簡單的交互,為特定的網絡狀況選擇合適的底層傳輸協議,不需要針對不同的狀況而改變硬件、帶寬等條件,這大大降低了部署和使用成本;
網絡用戶達到一定限額時,簡單的流媒體技術將面臨著網絡擁塞、丟包等常見的網絡問題。因此,如何在網絡出現異常的情況下,依然保證客戶端音視頻享受的最大化,針對軟件、設備和數據傳輸速度上的差別,用戶以不同帶寬瀏覽音視頻內容。(2)可以最大化提供客戶端的首視頻孕受:
網絡用戶達到一定限額時,簡單的流媒體技術將面臨著網絡擁塞、丟包等常見的網絡問題。在網絡出現異常的情況下,通過基于流媒體的TCP和UDP傳送的自適應的方法,可以自主選擇合適的底層傳輸協議,依然保證客戶端音視頻享受的最大化。(3)智能化管理,解決目前一些方案的不足
一種解決方法是服務器減少發送給客戶端的數據從而阻止再次緩沖,在Real System
5.0中,這種方法稱為“視頻流瘦化”。這種方法的限制是Real Video文件必須是一種數據速率設計,結果可通過抽取內部幀,使其擴展到更低速率,導致質量較低,離原始數據速率越遠,質量越差。另一種解決方法是根據不同連接速率創建多個文件,根據用戶連接,服務器發送相應文件,這種方法帶來制作和管理上的困難,而且,用戶連接是動態變化的,服務器也無法實時協調。
而基于流媒體的TCP和UDP傳送的自適應的方法,既可以自適應地保證視頻的質量,又很好地減輕了流媒體服務器需要制作不同連接速度的流媒體文件而帶來的制作與管理的難題。通過以上的方法實施例的描述,所屬領域的技術人員可以清楚地了解到本發明對于底層傳輸協議的自適應的選擇,可以很好地解決傳輸層通信協議TCP和UDP都不能滿足流媒體傳輸的QOS要求。如TCP協議采用滑動窗口控制機制,數據傳送隨著控制窗口動態的啟動和關閉,難以滿足流媒體實時和等時的傳送要求。M)P協議的無連接特點能夠提高傳輸速率,雖然可以在某種程度上滿足流媒體的實時性要求,但是由于其本身的不可靠性,也無法滿足流媒體傳輸的需要。對于TCP和UDP傳輸協議的自適應的選擇和切換方法,則能夠有效地兼容兩者之間的優缺點,使得流媒體視頻可以給用戶帶來更好的體驗。以上所述僅是本發明的具體實施方式
,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。
權利要求
1.一種流媒體支持TCP和UDP傳送的自適應的方法,其特征在于,可以通過協議的內容進行自動判斷,進行相應的TCP或者UDP的傳送。
2.一種流媒體支持TCP和UDP傳送的自適應的方法,其特征在于,包括,TCP和UDP傳送的自適應的方法; 包括網絡帶寬、擁塞狀況、丟包率等的分析方法和相應的底層傳輸協議M)P或者是TCP的判斷和切換; 所述網絡帶寬、擁塞狀況、丟包率的分析方法,用于:根據協議,流媒體服務器定時發送相關的測試分析包,獲取客戶端和服務器之間的一些網絡參數,估測基本網絡狀況,并以此選擇相應的網絡傳輸協議,使客戶端獲得最佳觀看效果; 所述相應的底層傳輸協議UDP或者是TCP的切換,用于:如果上述獲取的網絡參數反映客戶端反饋良好,即丟包率在可承受范圍之內,并且在規定時間內到達,那么就認為客戶端同服務器之間的網絡狀況良好,可以采用RTP over TCP的方式發送數據;由于TCP沒有丟包(其自身具有重傳機制),網絡狀況又屬于良好,因此客戶端將有較高的視聽享受;如果網絡狀況并不理想,則應該考慮切換到RTP over UDP的方式發送數據。
3.根據權利要求2所述的方法,其特征在于,還包括:TCP和UDP協議的判斷的方法;包括:根據協議,可以在客戶端與流媒體服務器端定時發送一些網絡狀況的分析包,從而獲取客戶端與流媒體服務器之間的一些網絡參數。
4.根據權利要求2所述的方法,其特征在于,還包括:TCP和UDP協議的切換的方法;通過對網絡狀況的估測,如果客戶端反饋良好,即丟包率在可承受范圍之內,并且在規定時間內到達,那么就認為客戶端同服務器之間的網絡狀況良好,可以采用RTP over TCP的方式發送數據;否則,如果網絡狀況并不理想,則應該考慮切換到RTP over UDP的方式發送數據。
5.一種流媒體支持TCP和UDP傳送的自適應的方法,其特征在于,包括:TCP或UDP不同中斷方式的處理方法;包括:不同中斷方式下,底層傳輸協議自適應的中斷處理與切換。
全文摘要
本發明公開了一種流媒體支持TCP和UDP傳送的自適應的方法,可以通過協議的內容進行自動判斷,進行相應的TCP或者UDP的傳送。包括TCP和UDP傳送的自適應的方法、TCP和UDP協議的判斷的方法、TCP或UDP切換的方法、TCP或UDP的不同中斷方式的處理方法。
文檔編號H04L29/06GK103078831SQ20111032866
公開日2013年5月1日 申請日期2011年10月26日 優先權日2011年10月26日
發明者汪剛, 梁海濤, 張少文 申請人:新太科技股份有限公司