本技術(shù)涉及通信,特別涉及一種數(shù)據(jù)傳輸方法以及系統(tǒng)。
背景技術(shù):
1、隨著物聯(lián)網(wǎng)發(fā)展,智能物聯(lián)網(wǎng)場(chǎng)景應(yīng)用越來(lái)越多,一些場(chǎng)景中會(huì)涉及多通道設(shè)備,如多目相機(jī)通過(guò)多個(gè)攝像頭捕捉圖像,模擬人眼的雙目視覺(jué),圍繞感知、判斷、動(dòng)作三大層面集監(jiān)控和智能于一體;網(wǎng)絡(luò)硬盤錄像機(jī)(network?video?recorder,nvr)提供多個(gè)網(wǎng)絡(luò)攝像機(jī)。而這些應(yīng)用場(chǎng)景離不開(kāi)實(shí)時(shí)音視頻、智能事件和流媒體傳輸技術(shù)。
2、家庭網(wǎng)絡(luò)通常使用無(wú)線網(wǎng)絡(luò)(wi-fi)或蜂窩傳輸,無(wú)線信號(hào)覆蓋范圍不足或存在信號(hào)干擾,無(wú)法保證多通道視頻傳輸?shù)膫鬏斮|(zhì)量,容易出現(xiàn)出流不同步。
3、相關(guān)技術(shù)中,通過(guò)增加緩存提高抗網(wǎng)絡(luò)波動(dòng)能力。然而,緩存增加無(wú)法提高多通道出流速度,且會(huì)導(dǎo)致數(shù)據(jù)增多。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供了一種數(shù)據(jù)傳輸方法以及系統(tǒng),用以提高多通道實(shí)時(shí)流業(yè)務(wù)的出流速度和出流同步性。
2、第一方面,本技術(shù)實(shí)施例提供了第一種數(shù)據(jù)傳輸方法,應(yīng)用于發(fā)送端,該方法包括:
3、基于各待傳輸數(shù)據(jù)以及對(duì)應(yīng)的時(shí)間信息得到媒體幀,并將所述媒體幀傳輸至對(duì)應(yīng)的邏輯通道;
4、按照所述時(shí)間信息的順序,從所有邏輯通道中依次選擇媒體幀傳輸至目標(biāo)鏈路中,通過(guò)所述目標(biāo)鏈路將所述媒體幀發(fā)送至接收端,以使所述接收端在收到所述媒體幀后,基于所述媒體幀的時(shí)間信息以及對(duì)應(yīng)的邏輯通道,重構(gòu)各邏輯通道對(duì)應(yīng)的數(shù)據(jù)流。
5、一些可選的實(shí)施方式中,在基于各待傳輸數(shù)據(jù)以及對(duì)應(yīng)的時(shí)間信息得到媒體幀之前,還包括:
6、響應(yīng)于所述接收端發(fā)送的建鏈請(qǐng)求,與所述接收端之間建立所述目標(biāo)鏈路,并將所述建鏈請(qǐng)求對(duì)應(yīng)的邏輯通道映射至所述目標(biāo)鏈路;
7、其中,所述建鏈請(qǐng)求是所述接收端在媒體業(yè)務(wù)開(kāi)始時(shí)確定所述目標(biāo)鏈路不存在時(shí)觸發(fā)的。
8、一些可選的實(shí)施方式中,在基于各待傳輸數(shù)據(jù)以及對(duì)應(yīng)的時(shí)間信息得到媒體幀之前,還包括:
9、響應(yīng)于所述接收端發(fā)送的映射請(qǐng)求,將所述映射請(qǐng)求對(duì)應(yīng)的邏輯通道映射至所述目標(biāo)鏈路;
10、其中,所述映射請(qǐng)求是所述接收端在媒體業(yè)務(wù)開(kāi)始時(shí)確定所述目標(biāo)鏈路存在時(shí)觸發(fā)的。
11、一些可選的實(shí)施方式中,還包括:
12、響應(yīng)于所述接收端發(fā)送的通道修改請(qǐng)求,調(diào)整邏輯通道與所述目標(biāo)鏈路之間的映射。
13、一些可選的實(shí)施方式中,還包括:
14、若所有邏輯通道中的媒體幀的數(shù)量大于預(yù)設(shè)數(shù)量,則基于所述時(shí)間信息從所述邏輯通道中選擇目標(biāo)媒體幀,并將所述目標(biāo)媒體幀丟棄。
15、第二方面,本技術(shù)實(shí)施例提供了第二種數(shù)據(jù)傳輸方法,應(yīng)用于接收端,該方法包括:
16、從目標(biāo)鏈路接收媒體幀;其中,所述目標(biāo)鏈路映射多個(gè)邏輯通道,所述目標(biāo)鏈路中的媒體幀是發(fā)送端基于各待傳輸數(shù)據(jù)以及對(duì)應(yīng)的時(shí)間信息得到媒體幀,將所述媒體幀傳輸至對(duì)應(yīng)的邏輯通道后,按照所述時(shí)間信息的順序依次從所有邏輯通道中選擇并傳輸至所述目標(biāo)鏈路中的;
17、基于所述媒體幀的時(shí)間信息以及對(duì)應(yīng)的邏輯通道,重構(gòu)各邏輯通道對(duì)應(yīng)的數(shù)據(jù)流。
18、一些可選的實(shí)施方式中,在從目標(biāo)鏈路接收媒體幀之前,還包括:
19、在媒體業(yè)務(wù)開(kāi)始時(shí),確定與所述發(fā)送端之間是否存在所述目標(biāo)鏈路;
20、若是,則向所述接收端發(fā)送映射請(qǐng)求,以使所述發(fā)送端基于所述映射請(qǐng)求將對(duì)應(yīng)的邏輯通道映射至所述目標(biāo)鏈路;
21、否則,向所述接收端發(fā)送建鏈請(qǐng)求,以使所述發(fā)送端基于所述建鏈請(qǐng)求與所述接收端之間建立所述目標(biāo)鏈路,并將所述建鏈請(qǐng)求對(duì)應(yīng)的邏輯通道映射至所述目標(biāo)鏈路。
22、一些可選的實(shí)施方式中,基于所述媒體幀的時(shí)間信息以及對(duì)應(yīng)的邏輯通道,重構(gòu)各邏輯通道對(duì)應(yīng)的數(shù)據(jù)流,包括:
23、針對(duì)任一邏輯通道,將所述邏輯通道對(duì)應(yīng)的所有媒體幀按照所述時(shí)間信息的順序,生成所述邏輯通道對(duì)應(yīng)的數(shù)據(jù)流。
24、一些可選的實(shí)施方式中,還包括:
25、響應(yīng)于通道修改指令,向所述接收端發(fā)送通道修改請(qǐng)求,以使所述發(fā)送端基于所述通道修改請(qǐng)求調(diào)整邏輯通道與所述目標(biāo)鏈路之間的映射。
26、一些可選的實(shí)施方式中,重構(gòu)各邏輯通道對(duì)應(yīng)的數(shù)據(jù)流之后,還包括:
27、針對(duì)任一邏輯通道,通過(guò)應(yīng)用層對(duì)所述邏輯通道的媒體幀進(jìn)行解碼播放。
28、第三方面,本技術(shù)實(shí)施例提供了一種數(shù)據(jù)傳輸系統(tǒng),該數(shù)據(jù)傳輸系統(tǒng)包括發(fā)送端、目標(biāo)鏈路以及接收端;其中:
29、發(fā)送端,用于基于各待傳輸數(shù)據(jù)以及對(duì)應(yīng)的時(shí)間信息得到媒體幀,并將所述媒體幀傳輸至對(duì)應(yīng)的邏輯通道;
30、發(fā)送端,還用于按照所述時(shí)間信息的順序,從所有邏輯通道中依次選擇媒體幀傳輸至目標(biāo)鏈路中,通過(guò)所述目標(biāo)鏈路將所述媒體幀發(fā)送至接收端;
31、接收端,用于基于所述媒體幀的時(shí)間信息以及對(duì)應(yīng)的邏輯通道,重構(gòu)各邏輯通道對(duì)應(yīng)的數(shù)據(jù)流。
32、一些可選的實(shí)施方式中,接收端還用于:
33、在媒體業(yè)務(wù)開(kāi)始時(shí),確定與所述發(fā)送端之間是否存在所述目標(biāo)鏈路;
34、若是,則向所述接收端發(fā)送映射請(qǐng)求;否則,向所述接收端發(fā)送建鏈請(qǐng)求;
35、發(fā)送端還用于:
36、響應(yīng)于所述接收端發(fā)送的建鏈請(qǐng)求,與所述接收端之間建立所述目標(biāo)鏈路,并將所述建鏈請(qǐng)求對(duì)應(yīng)的邏輯通道映射至所述目標(biāo)鏈路;
37、響應(yīng)于所述接收端發(fā)送的映射請(qǐng)求,將所述映射請(qǐng)求對(duì)應(yīng)的邏輯通道映射至所述目標(biāo)鏈路。
38、一些可選的實(shí)施方式中,接收端還用于:
39、響應(yīng)于通道修改指令,向所述接收端發(fā)送通道修改請(qǐng)求;
40、發(fā)送端還用于:
41、響應(yīng)于所述接收端發(fā)送的通道修改請(qǐng)求,調(diào)整邏輯通道與所述目標(biāo)鏈路之間的映射。
42、一些可選的實(shí)施方式中,發(fā)送端還用于:
43、若所有邏輯通道中的媒體幀的數(shù)量大于預(yù)設(shè)數(shù)量,則基于所述時(shí)間信息從所述邏輯通道中選擇目標(biāo)媒體幀,并將所述目標(biāo)媒體幀丟棄。
44、一些可選的實(shí)施方式中,接收端具體用于:
45、針對(duì)任一邏輯通道,將所述邏輯通道對(duì)應(yīng)的所有媒體幀按照所述時(shí)間信息的順序,生成所述邏輯通道對(duì)應(yīng)的數(shù)據(jù)流。
46、一些可選的實(shí)施方式中,接收端還用于:
47、針對(duì)任一邏輯通道,通過(guò)應(yīng)用層對(duì)所述邏輯通道的媒體幀進(jìn)行解碼播放。
48、第四方面,本技術(shù)實(shí)施例提供了第一種數(shù)據(jù)傳輸裝置,應(yīng)用于發(fā)送端,該裝置包括:
49、緩存模塊,用于基于各待傳輸數(shù)據(jù)以及對(duì)應(yīng)的時(shí)間信息得到媒體幀,并將所述媒體幀傳輸至對(duì)應(yīng)的邏輯通道;
50、傳輸模塊,用于按照所述時(shí)間信息的順序,從所有邏輯通道中依次選擇媒體幀傳輸至目標(biāo)鏈路中,通過(guò)所述目標(biāo)鏈路將所述媒體幀發(fā)送至接收端,以使所述接收端在收到所述媒體幀后,基于所述媒體幀的時(shí)間信息以及對(duì)應(yīng)的邏輯通道,重構(gòu)各邏輯通道對(duì)應(yīng)的數(shù)據(jù)流。
51、一些可選的實(shí)施方式中,還包括第一建立模塊,用于:
52、在緩存模塊基于各待傳輸數(shù)據(jù)以及對(duì)應(yīng)的時(shí)間信息得到媒體幀之前,響應(yīng)于所述接收端發(fā)送的建鏈請(qǐng)求,與所述接收端之間建立所述目標(biāo)鏈路,并將所述建鏈請(qǐng)求對(duì)應(yīng)的邏輯通道映射至所述目標(biāo)鏈路;
53、其中,所述建鏈請(qǐng)求是所述接收端在媒體業(yè)務(wù)開(kāi)始時(shí)確定所述目標(biāo)鏈路不存在時(shí)觸發(fā)的。
54、一些可選的實(shí)施方式中,還包括第一建立模塊,用于:
55、在緩存模塊基于各待傳輸數(shù)據(jù)以及對(duì)應(yīng)的時(shí)間信息得到媒體幀之前,響應(yīng)于所述接收端發(fā)送的映射請(qǐng)求,將所述映射請(qǐng)求對(duì)應(yīng)的邏輯通道映射至所述目標(biāo)鏈路;
56、其中,所述映射請(qǐng)求是所述接收端在媒體業(yè)務(wù)開(kāi)始時(shí)確定所述目標(biāo)鏈路存在時(shí)觸發(fā)的。
57、一些可選的實(shí)施方式中,還包括第一建立模塊,用于:
58、響應(yīng)于所述接收端發(fā)送的通道修改請(qǐng)求,調(diào)整邏輯通道與所述目標(biāo)鏈路之間的映射。
59、一些可選的實(shí)施方式中,緩存模塊,還用于:
60、若所有邏輯通道中的媒體幀的數(shù)量大于預(yù)設(shè)數(shù)量,則基于所述時(shí)間信息從所述邏輯通道中選擇目標(biāo)媒體幀,并將所述目標(biāo)媒體幀丟棄。
61、第五方面,本技術(shù)實(shí)施例提供了第二種數(shù)據(jù)傳輸裝置,應(yīng)用于接收端,該裝置包括:
62、接收模塊,用于從目標(biāo)鏈路接收媒體幀;其中,所述目標(biāo)鏈路映射多個(gè)邏輯通道,所述目標(biāo)鏈路中的媒體幀是發(fā)送端基于各待傳輸數(shù)據(jù)以及對(duì)應(yīng)的時(shí)間信息得到媒體幀,將所述媒體幀傳輸至對(duì)應(yīng)的邏輯通道后,按照所述時(shí)間信息的順序依次從所有邏輯通道中選擇并傳輸至所述目標(biāo)鏈路中的;
63、重構(gòu)模塊,用于基于所述媒體幀的時(shí)間信息以及對(duì)應(yīng)的邏輯通道,重構(gòu)各邏輯通道對(duì)應(yīng)的數(shù)據(jù)流。
64、一些可選的實(shí)施方式中,還包括第二建立模塊,用于:
65、在接收模塊從目標(biāo)鏈路接收媒體幀之前,在媒體業(yè)務(wù)開(kāi)始時(shí),確定與所述發(fā)送端之間是否存在所述目標(biāo)鏈路;
66、若是,則向所述接收端發(fā)送映射請(qǐng)求,以使所述發(fā)送端基于所述映射請(qǐng)求將對(duì)應(yīng)的邏輯通道映射至所述目標(biāo)鏈路;
67、否則,向所述接收端發(fā)送建鏈請(qǐng)求,以使所述發(fā)送端基于所述建鏈請(qǐng)求與所述接收端之間建立所述目標(biāo)鏈路,并將所述建鏈請(qǐng)求對(duì)應(yīng)的邏輯通道映射至所述目標(biāo)鏈路。
68、一些可選的實(shí)施方式中,重構(gòu)模塊,具體用于:
69、針對(duì)任一邏輯通道,將所述邏輯通道對(duì)應(yīng)的所有媒體幀按照所述時(shí)間信息的順序,生成所述邏輯通道對(duì)應(yīng)的數(shù)據(jù)流。
70、一些可選的實(shí)施方式中,還包括第二建立模塊,用于:
71、響應(yīng)于通道修改指令,向所述接收端發(fā)送通道修改請(qǐng)求,以使所述發(fā)送端基于所述通道修改請(qǐng)求調(diào)整邏輯通道與所述目標(biāo)鏈路之間的映射。
72、一些可選的實(shí)施方式中,還包括播放模塊,用于:
73、在重構(gòu)模塊重構(gòu)各邏輯通道對(duì)應(yīng)的數(shù)據(jù)流之后,針對(duì)任一邏輯通道,通過(guò)應(yīng)用層對(duì)所述邏輯通道的媒體幀進(jìn)行解碼播放。
74、第六方面,本技術(shù)實(shí)施例提供一種發(fā)送端,包括至少一個(gè)處理器以及至少一個(gè)存儲(chǔ)器,其中,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)所述程序被所述處理器執(zhí)行時(shí),使得所述處理器執(zhí)行上述第一方面任一所述的數(shù)據(jù)傳輸方法。
75、第七方面,本技術(shù)實(shí)施例提供一種接收端,包括至少一個(gè)處理器以及至少一個(gè)存儲(chǔ)器,其中,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)所述程序被所述處理器執(zhí)行時(shí),使得所述處理器執(zhí)行上述第二方面任一所述的數(shù)據(jù)傳輸方法。
76、第八方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)有可由處理器執(zhí)行的計(jì)算機(jī)程序,當(dāng)所述程序在所述處理器上運(yùn)行時(shí),使得所述處理器執(zhí)行上述第一方面或第二方面任一所述的數(shù)據(jù)傳輸方法。
77、本技術(shù)實(shí)施例,通過(guò)多通道分組建鏈,一個(gè)目標(biāo)鏈接建鏈完成,映射多個(gè)邏輯通道,即多通道傳輸共享該目標(biāo)鏈路,即使出現(xiàn)網(wǎng)絡(luò)波動(dòng),也能保證不同通道的媒體幀在傳輸時(shí)的同步性,提高多通道出流速度和出流同步性;通過(guò)發(fā)送端添加待傳輸數(shù)據(jù)的時(shí)間信息,進(jìn)行時(shí)鐘源對(duì)齊,保證傳輸畫(huà)面數(shù)據(jù)的同步性,提高畫(huà)面出流速度,提高畫(huà)面時(shí)間同步性。