本公開涉及實時音視頻傳輸,具體涉及一種webrtc視頻服務的質量提升方法與裝置。
背景技術:
1、隨著5g網絡和音視頻技術的飛速發展,視頻交流已滲透至人們生活的方方面面。webrtc(web?real-time?communications,網頁實時通訊)是一項實時音視頻開源項目,可以以瀏覽器為載體,具備跨平臺性、低延時、高實時性、高安全性、可拓展性等優勢。webrtc可以為遠程會議、在線教育、遠程醫療、視頻直播、實時監控等領域提供技術支撐。
2、同時,作為開源項目,webrtc因為強大的編解碼、網絡傳輸、媒體協商、點對點等核心能力,被業界廣泛借鑒和使用,使得實時音視頻的發展邁上了新臺階。
3、但是變幻莫測的網絡情況,以及越來越高要求的視頻分辨率,使得通信時延、圖像質量下降和丟包卡頓成為了影響webrtc視頻質量的一大問題。
技術實現思路
1、有鑒于此,本公開一個或者多個實施方式提供了一種webrtc視頻服務的質量提升方法與裝置,能夠有效提升webrtc視頻服務的服務質量。
2、第一方面,本公開提供了一種webrtc視頻服務的質量提升方法,所述方法應用于webrtc服務器,所述方法包括:響應于webrtc客戶端發送的會話描述提議,向所述webrtc客戶端發送包含候選信息的會話描述應答,所述候選信息包括傳輸層協議類型參數和互聯網協議地址參數,所述傳輸層協議類型參數包括傳輸控制協議和用戶數據報協議;接收所述webrtc客戶端發送的會話穿越請求,并向所述webrtc客戶端發送會話穿越回復,與所述webrtc客戶端完成交互式連接建立;其中,所述會話穿越請求由所述webrtc客戶端根據所述候選信息確定;基于所述交互式連接建立,向所述webrtc客戶端發送媒體數據;接收所述webrtc客戶端反饋的針對所述媒體數據的統計信息,所述統計信息包括時延信息和丟包信息;根據所述統計信息,確定所述媒體數據的丟包變化趨勢,并基于所述丟包變化趨勢,調整所述媒體數據的發送碼率。
3、第二方面,本公開提供了一種webrtc視頻服務的質量提升方法,所述方法應用于webrtc客戶端,所述方法包括:向webrtc服務器發送會話描述提議,并接收所述webrtc服務器返回的包含候選信息的會話描述應答,所述候選信息包括傳輸層協議類型參數和互聯網協議地址參數,所述傳輸層協議類型參數包括傳輸控制協議和用戶數據報協議;根據所述候選信息,確定會話穿越請求,并發送所述會話穿越請求至所述webrtc服務器;接收所述webrtc服務器返回的會話穿越回復,與所述webrtc服務器完成交互式連接建立;基于所述交互式連接建立,接收所述webrtc服務器發送的媒體數據,并確定針對所述媒體數據的統計信息,所述統計信息包括時延信息和丟包信息;發送所述統計信息至所述webrtc服務器,以使得所述webrtc服務器根據所述統計信息,確定所述媒體數據的丟包變化趨勢,并基于所述丟包變化趨勢,調整所述媒體數據的發送碼率。
4、第三方面,本公開提供了一種webrtc視頻服務的質量提升裝置,所述裝置應用于webrtc服務器,所述裝置包括:會話描述響應單元,用于響應于webrtc客戶端發送的會話描述提議,向所述webrtc客戶端發送包含候選信息的會話描述應答,所述候選信息包括傳輸層協議類型參數和互聯網協議地址參數,所述傳輸層協議類型參數包括傳輸控制協議和用戶數據報協議;會話穿越響應單元,用于接收所述webrtc客戶端發送的會話穿越請求,并向所述webrtc客戶端發送會話穿越回復,與所述webrtc客戶端完成交互式連接建立;其中,所述會話穿越請求由所述webrtc客戶端根據所述候選信息確定;媒體數據發送單元,用于基于所述交互式連接建立,向所述webrtc客戶端發送媒體數據;統計信息接收單元,用于接收所述webrtc客戶端反饋的針對所述媒體數據的統計信息,所述統計信息包括時延信息和丟包信息;碼率調整單元,用于根據所述統計信息,確定所述媒體數據的丟包變化趨勢,并基于所述丟包變化趨勢,調整所述媒體數據的發送碼率。
5、第四方面,本公開提供了一種webrtc視頻服務的質量提升裝置,所述裝置應用于webrtc客戶端,所述裝置包括:會話描述請求單元,用于向webrtc服務器發送會話描述提議,并接收所述webrtc服務器返回的包含候選信息的會話描述應答,所述候選信息包括傳輸層協議類型參數和互聯網協議地址參數,所述傳輸層協議類型參數包括傳輸控制協議和用戶數據報協議;會話穿越請求單元,用于根據所述候選信息,確定會話穿越請求,并發送所述會話穿越請求至所述webrtc服務器;交互連接建立單元,用于接收所述webrtc服務器返回的會話穿越回復,與所述webrtc服務器完成交互式連接建立;媒體數據接收單元,用于基于所述交互式連接建立,接收所述webrtc服務器發送的媒體數據,并確定針對所述媒體數據的統計信息,所述統計信息包括時延信息和丟包信息;統計信息發送單元,用于發送所述統計信息至所述webrtc服務器,以使得所述webrtc服務器根據所述統計信息,確定所述媒體數據的丟包變化趨勢,并基于所述丟包變化趨勢,調整所述媒體數據的發送碼率。
6、第五方面,本公開提供了一種電子設備,所述電子設備包括存儲器和處理器,所述存儲器用于存儲計算機程序,所述計算機程序被所述處理器執行時,實現上述第一方面或者第二方面的webrtc視頻服務的質量提升方法。
7、第六方面,本公開提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質用于存儲計算機程序,所述計算機程序被處理器執行時,實現上述第一方面或者第二方面的webrtc視頻服務的質量提升方法。
8、本公開一個或者多個實施方式提供的技術方案,在進行會話描述交互過程中,webrtc服務器向webrtc客戶端發送的候選信息,不僅包括了互聯網協議地址參數,還包括了傳輸層協議類型參數,使得兩者之間可以根據實際網絡環境,靈活選用傳輸控制協議還是用戶數據報協議,完成媒體數據的傳輸。在此基礎上,設置了會話穿越交互,從而打通了webrtc服務器與webrtc客戶端之間的交互式連接建立,確保了媒體數據可以被準確、穩定地傳輸。根據webrtc客戶端反饋的針對所述媒體數據的統計信息,webrtc服務器可以確定媒體數據的丟包變化趨勢。webrtc服務器可以基于丟包變化趨勢,調整所述媒體數據的發送碼率,優化視頻服務質量。
9、本公開一個或者多個實施方式提供的技術方案,提出了基于傳輸控制協議的webrtc服務模型,設計了基于傳輸控制協議實現webrtc服務的可行技術方案,梳理了增加傳輸控制協議后,webrtc服務模型的數據交互流程。如此,可滿足webrtc服務器在用戶數據報協議網絡不適用狀況下的實時音視頻傳輸需求,拓展了不同網絡情況下webrtc視頻服務的全面性,從而提升了webrtc視頻服務的服務質量。
10、本公開一個或者多個實施方式提供的技術方案,通過增加分析丟包率趨勢變化狀態,改進了webrtc服務端的碼率預估算法。如此,視頻流的傳輸碼率能夠在網絡波動劇烈的情況下迅速反應,根據當前實時網絡可用帶寬的波動、系統的擁塞程度來進行自適應調整,從而提升webrtc視頻服務質量。
11、本公開一個或者多個實施方式提供的技術方案,改進的碼率預估算法可以直接在服務端進行,相較于單獨增加一個機器學習模型,沒有額外的資源消耗和時延。