System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請的實施例涉及多路語音解碼,特別涉及一種多路實時媒體流數據的還原方法和裝置。
技術介紹
1、隨著移動網通信技術的不斷演進和發展,在網絡中傳輸的語音媒體編碼格式越來越多,媒體質量越來越高清,數據量越來越大。如何針對多路會話、動態編碼格式的實時語音媒體數據流的解碼還原是一個復雜且具有挑戰的難題。
2、現階段的媒體語音流還原算法主要是針對單路實時媒體流做優化,主要流程是根據sdp消息,把rtp承載的媒體數據,按照媒體傳輸格式進行媒體語音流逐幀轉換,從而還原出指定編碼格式的語音媒體文件。這種方式存在的問題如下:1.只能提取還原單一格式的媒體語音數據,如果媒體流數據編碼格式發生變化,可能導致媒體流數據還原失敗。2.只能支持單路實時媒體流解碼,無法應用在多路會話實時媒體流解碼還原場景中。3.在出現新的媒體格式無法解碼的情況下,未做數據留存,造成數據丟失。
技術實現思路
1、有鑒于此,本申請的實施例提出了一種多路實時媒體流數據的還原方法和裝置,旨在對多路的媒體語音流進行準確的還原。
2、為實現上述目的,本申請的實施例提供了一種多路實時媒體流數據的還原方法,包括:獲取實時媒體流數據;根據分流標識對所述實時媒體流數據進行分流,得到各單路數據流;逐幀判斷各所述單路數據流中數據幀的數據類型;若判斷所述數據類型為sdp消息,則解析所述sdp消息得到媒體參數信息,基于所述媒體參數信息構建媒體類型映射關系,并向預構建的哈希表更新所述媒體類型映射關系,其中,所述媒體類型映射關系包括媒
3、可選地,所述根據分流標識對所述實時媒體流數據進行分流,得到各單路數據流,包括:獲取第一分流標識和第二分流標識,其中,基于所述數據包的源ip地址和源端口確定所述第一分流標識,基于sdp消息獲取連接信息和媒體描述名稱地址,基于所述連接信息和所述媒體描述名稱地址確定所述第二分流標識;基于所述第一分流標識和所述第二分流標識,對所述實時媒體流數據進行分流,得到各所述單路數據流。
4、可選地,所述解析所述sdp消息得到媒體參數信息,基于所述媒體參數信息構建媒體類型映射關系,包括:解析所述sdp消息得到sdp描述信息;基于所述sdp描述信息得到sdp屬性信息,其中,所述sdp屬性信息包括媒體類型編碼數值、媒體類型編碼名稱、編碼率和編碼器名稱;基于所述媒體類型編碼數值、所述媒體類型編碼名稱、所述編碼率和所述編碼器構建所述媒體類型映射關系。
5、可選地,所述基于所述負載類型匹配所述哈希表,得到與所述媒體類型映射關系中存儲的所述媒體類型編碼數值適配的所述編碼器,并基于所述編碼器得到對應的解碼器,包括:獲取所述rtp數據幀中存儲的所述負載類型,其中,所述負載類型包括多個音頻媒體類型編碼數值和多個視頻媒體類型編碼數值;基于所述多個音頻媒體類型編碼數值和/或多個視頻媒體類型編碼數值匹配所述哈希表中存儲的所述媒體類型映射關系,得到適配的所述媒體類型編碼數值;基于適配的所述媒體類型編碼數值確定所述媒體類型編碼名稱和所述編碼器;基于所述媒體類型編碼名稱和所述編碼器確定對應的所述解碼器。
6、可選地,在所述基于所述多個音頻媒體類型編碼數值和/或多個視頻媒體類型編碼數值匹配所述哈希表中存儲的所述媒體類型映射關系之后,所述多路實時媒體流數據的還原方法還包括:若得不到適配的所述媒體類型編碼數值,則向臨時文件緩存所述rtp數據幀。
7、可選地,在所述解析所述sdp消息得到媒體參數信息之前,所述多路實時媒體流數據的還原方法還包括:根據所述rtp數據幀中的幀頭屬性判斷所述rtp數據幀是否損壞,若所述rtp數據幀否損壞,則利用靜音幀填充各所述數據幀。
8、可選地,在所述向預構建的哈希表更新所述媒體類型映射關系之后,所述多路實時媒體流數據的還原方法還包括:基于所述rtp數據幀的時間戳和序號標識對緩存的所述rtp數據幀和實時的所述rtp數據幀進行去重和排序操作。
9、可選地,在所述對緩存的所述rtp數據幀和實時的所述rtp數據幀進行去重和排序操作之后,所述多路實時媒體流數據的還原方法還包括:計算相鄰的兩個所述rtp數據幀的相對時間戳差值,得到幀差值;利用所述幀差值除以標準時間間隔,得到靜音幀數,在相鄰的兩個所述rtp數據幀之間插入與所述靜音幀數相等的靜音幀,其中,所述標準時間間隔根據所述媒體類型編碼數值確定。
10、可選地,所述利用所述解碼器處理所述rtp數據幀,得到目標媒體語音流,包括:獲取所述rtp數據幀的媒體類型編碼名稱;基于所述解碼器的初始化接口和所述媒體類型編碼名稱初始化所述解碼器的提取接口;利用所述解碼器的所述提取接口提取所述rtp數據幀,并調用所述解碼器的解碼接口解碼所述rtp數據幀;利用所述解碼器解碼所述rtp數據,得到所述目標媒體語音流。
11、為實現上述目的,本申請的實施例還提供了一種多路實時媒體流數據的還原方法,包括:獲取模塊,用于獲取實時媒體流數據;分流模塊,用于根據分流標識對所述實時媒體流數據進行分流,得到各單路數據流;判斷模塊,用于逐幀判斷各所述單路數據流中數據幀的數據類型;第一執行模塊,用于若判斷所述數據類型為sdp消息,則解析所述sdp消息得到媒體參數信息,基于所述媒體參數信息構建媒體類型映射關系,并向預構建的哈希表更新所述媒體類型映射關系,其中,所述媒體類型映射關系包括媒體類型編碼數值和編碼器;第二執行模塊,用于若判斷所述數據類型為rtp數據幀,則解析所述rtp數據幀得到負載類型,基于所述負載類型匹配所述哈希表,得到與所述媒體類型映射關系中存儲的所述媒體類型編碼數值適配的所述編碼器,并基于所述編碼器得到對應的解碼器;輸出模塊,用于利用所述解碼器處理所述rtp數據幀,得到目標媒體語音流。
12、本申請的實施例提出的多路實時媒體流數據的還原方法和裝置,通過獲取實時媒體流數據;根據分流標識對實時媒體流數據進行分流,得到各單路數據流;判斷各單路數據流中數據的數據類型;若判斷數據類型為sdp消息,則解析sdp消息得到媒體參數信息,基于媒體參數信息構建媒體類型映射關系,并向預構建的哈希表更新媒體類型映射關系,其中,媒體類型映射關系包括媒體類型編碼數值和編碼器;若判斷數據類型為rtp數據幀,則解析rtp數據幀得到負載類型,基于負載類型匹配哈希表,得到與媒體類型映射關系中存儲的媒體類型編碼數值適配的編碼器,并基于編碼器得到對應的解碼器;利用解碼器處理rtp數據幀,得到目標媒體語音流,實現了根據實時媒體流數據得到單路數據流,然后利用存儲于哈希表中的媒體類型映射關系來與每個rtp數據幀中存儲的負載類型匹配,在匹配中利用媒體類型編碼數值得到對應的編碼器,根據編碼器得本文檔來自技高網...
【技術保護點】
1.一種多路實時媒體流數據的還原方法,其特征在于,包括:
2.根據權利要求1所述的多路實時媒體流數據的還原方法,其特征在于,所述根據分流標識對所述實時流數據進行分流,得到各單路數據流,包括:
3.根據權利要求2所述的多路實時媒體流數據的還原方法,其特征在于,所述解析所述SDP消息得到媒體參數信息,基于所述媒體參數信息構建媒體類型映射關系,包括:
4.根據權利要求3所述的多路實時媒體流數據的還原方法,其特征在于,所述基于所述負載類型匹配所述哈希表,得到與所述媒體類型映射關系中存儲的所述媒體類型編碼數值適配的所述編碼器,并基于所述編碼器得到對應的解碼器,包括:
5.根據權利要求4所述的多路實時媒體流數據的還原方法,其特征在于,在所述基于所述多個音頻媒體類型編碼數值和/或多個視頻媒體類型編碼數值匹配所述哈希表中存儲的所述媒體類型映射關系之后,所述多路實時媒體流數據的還原方法還包括:
6.根據權利要求1所述的多路實時媒體流數據的還原方法,其特征在于,所述利用所述解碼器處理所述RTP數據幀,得到目標媒體語音流,包括:
8.根據權利要求7所述的多路實時媒體流數據的還原方法,其特征在于,在所述基于所述RTP數據幀的時間戳和序號標識對緩存的所述RTP數據幀和實時的所述RTP數據幀進行去重和排序操作之后,所述多路實時媒體流數據的還原方法還包括:
9.根據權利要求7所述的多路實時媒體流數據的還原方法,其特征在于,在基于所述RTP數據幀的時間戳和序號標識對緩存的所述RTP數據幀和實時的所述RTP數據幀進行去重和排序操作之后,所述多路實時媒體流數據的還原方法還包括:
10.一種多路實時媒體流數據的還原裝置,其特征在于,包括:
...【技術特征摘要】
1.一種多路實時媒體流數據的還原方法,其特征在于,包括:
2.根據權利要求1所述的多路實時媒體流數據的還原方法,其特征在于,所述根據分流標識對所述實時流數據進行分流,得到各單路數據流,包括:
3.根據權利要求2所述的多路實時媒體流數據的還原方法,其特征在于,所述解析所述sdp消息得到媒體參數信息,基于所述媒體參數信息構建媒體類型映射關系,包括:
4.根據權利要求3所述的多路實時媒體流數據的還原方法,其特征在于,所述基于所述負載類型匹配所述哈希表,得到與所述媒體類型映射關系中存儲的所述媒體類型編碼數值適配的所述編碼器,并基于所述編碼器得到對應的解碼器,包括:
5.根據權利要求4所述的多路實時媒體流數據的還原方法,其特征在于,在所述基于所述多個音頻媒體類型編碼數值和/或多個視頻媒體類型編碼數值匹配所述哈希表中存儲的所述媒體類型映射關系之后,所述多路實時媒體流數據的還原方法還包括:
【專利技術屬性】
技術研發人員:王存林,徐小民,尹述峰,王喬翊,郭力,印鑫,陳卓,劉建波,
申請(專利權)人:電信科學技術第十研究所有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。