音视频流传输方法、装置、相关设备和存储介质与流程
未命名
07-14
阅读:50
评论:0

1.本技术涉及网络通讯领域,尤其涉及一种音视频流传输方法、装置、相关设备和存储介质。
背景技术:
2.在需要通过网络将多路音视频流从一个局域网传输至另一个局域网的场景下,若每路音视频流间相互关联(例如进行远程会诊时,会议视频与医疗设备的视频相关联),那么,会对多路音视频流播放时的同步性存在较高要求。
3.理想情况下,当数据传输的带宽足够大、传输延迟为零时,从音视频源对应的局域网将多路音视频流传输到播放器对应的局域网的延迟会为零,能够保障多路音视频流播放时的同步性。然而,在实际传输的过程中,由于传输时延的存在,会导致多路音视频流播放时存在不同步的问题,并且随着时间累积,多路音视频流播放异步的现象会越来越明显。
技术实现要素:
4.为解决相关技术问题,本技术实施例提供一种音视频流传输方法、装置、相关设备和存储介质。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供一种音视频流传输方法,应用于发送端网关,包括:
7.获取待传输的n路音视频流;n为大于1的整数;
8.对于n路音视频流,分别基于预设时长进行切分;
9.利用切分后同一时间段的n路音视频流生成一个数据包;
10.对生成的数据包进行签名和加密处理;
11.将处理后的数据包发送至接收端网关。
12.上述方案中,所述对于n路音视频流,分别基于预设时长进行切分,利用切分后同一时间段的n路音视频数据生成一个数据包,包括:
13.针对n路音视频流的每路音视频流,将获取的音视频流进行缓存;
14.当到达所述预设时长对应的预设时刻时,利用缓存的同一时间段的n路音视频流的每路音视频流数据,生成对应的子包头信息;
15.利用缓存的同一时间段的每路音视频流数据和对应的子包头信息,生成n个子数据包;
16.利用n个子数据包,生成一个数据包。
17.上述方案中,所述方法还包括:
18.向接收端网关发送鉴权信息,所述鉴权信息用于验证应用层通信的权限;
19.接收所述接收端网关发送的验证结果;
20.在所述验证结果表征鉴权成功的情况下,获取待传输的n路音视频流。
21.上述方案中,所述方法还包括:
22.与所述接收端网关建立连接。
23.上述方案中,所述与所述接收端网关建立连接,包括:
24.与所述接收端网关进行身份认证;
25.身份认证成功后,与所述接收端网关协商用于加密的相关信息;
26.基于身份认证结果和所述相关信息,对生成的数据包进行签名和加密处理处理。
27.本技术实施例还提供一种音视频流传输方法,应用于接收端网关,包括:
28.接收发送端网关发送的数据包;
29.对接收的数据包进行解密和签名验证处理,得到处理后的数据包;
30.对处理后的数据包进行解析,得到切分后的同一时间段的n路音视频流的切分数据;n为大于1的整数;
31.利用每路音视频流的切分数据合成对应的音视频流。
32.上述方案中,所述对处理后的数据包进行解析,得到同一时间段的n路音视频流的切分数据,包括:
33.对处理后的数据包进行解析,得到n个子数据包;
34.利用n个子数据包的每个子数据包的子包头信息,得到同一时间段的一路的音视频流的切分数据。
35.上述方案中,所述方法还包括:
36.接收发送端网关发送的鉴权信息,所述鉴权信息用于验证应用层通信的权限;
37.利用所述鉴权信息,对应用层通信的权限进行验证,并将验证结果发送至所述发送端网关。
38.上述方案中,所述方法还包括:
39.与所述发送端网关建立连接。
40.上述方案中,所述与所述发送端网关建立连接,包括:
41.与所述发送端网关进行身份验证;
42.身份验证成功后,与所述发送端网关协商用于加密的相关信息;
43.基于身份验证结果和所述相关信息,对接收的数据包进行解密和签名验证处理。
44.本技术实施例还提供一种音视频流传输装置,设置在发送端网关上,包括:
45.获取单元,用于获取待传输的n路音视频流;n为大于1的整数;
46.切分单元,用于对于n路音视频流,分别基于预设时长进行切分;
47.第一处理单元,用于利用切分后同一时间段的n路音视频流生成一个数据包;
48.第二处理单元,用于对生成的数据包进行签名和加密处理;
49.发送单元,用于将处理后的数据包发送至接收端网关。
50.本技术实施例还提供一种音视频流传输装置,设置在接收端网关上,包括:
51.接收单元,用于接收发送端网关发送的数据包;
52.第三处理单元,用于对接收的数据包进行解密和签名验证处理,得到处理后的数据包;
53.第四处理单元,用于对处理后的数据包进行解析,得到切分后的同一时间段的n路音视频流的切分数据;n为大于1的整数;
54.合成单元,用于利用每路音视频流的切分数据合成对应的音视频流。
55.本技术实施例还提供一种发送端设备,包括:第一处理器和用于存储能够在处理器上运行的计算机程序的第一存储器,
56.其中,所述第一处理器用于运行所述计算机程序时,执行发送端网关侧任一项所述方法的步骤。
57.本技术实施例还提供一种接收端设备,包括:第二处理器和用于存储能够在处理器上运行的计算机程序的第二存储器,
58.其中,所述第二处理器用于运行所述计算机程序时,执行接收端网关侧任一项所述方法的步骤。
59.本技术实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述发送端网关侧任一项所述方法的步骤,或者实现接收端网关侧任一项所述方法的步骤。
60.本技术实施例提供的音视频流传输方法、装置、相关设备和存储介质,发送端网关获取待传输的n路音视频流;对于n路音视频流,分别基于预设时长进行切分;利用切分后同一时间段的n路音视频流生成一个数据包;对生成的数据包进行签名和加密处理;将处理后的数据包发送至接收端网关;接收端网关接收发送端网关发送的数据包;对接收的数据包进行解密和签名验证处理,得到处理后的数据包;对处理后的数据包进行解析,得到切分后的同一时间段的n路音视频流的切分数据;n为大于1的整数;利用每路音视频流的切分数据合成对应的音视频流。本技术实施例提供的方案,针对多路音视频流,发送端网关基于预设时长进行切分,并将切分后同一时间段的多路音视频流以数据包的形式发送给接收端网关,以使接收端网关能够将n路音视频流的切分数据合成对应的音视频流。上述方案中,由于切分后同一时间段的多路音视频流会在一个数据包中,每个数据包对应的多路音视频流具有相同的时间段,如此,能够保障在任何传输情况下,接收端网关接收的的多路音视频流会具有相同的网络延迟或丢包情况,进而保障了多路音视频流播放时的同步性。
附图说明
61.图1为本技术实施例多路音视频流传输的系统架构图;
62.图2为本技术实施例第一种音视频流传输的方法流程示意图;
63.图3为本技术实施例第二种音视频流传输的方法流程示意图;
64.图4为本技术实施例第三种音视频流传输的方法流程示意图;
65.图5为本技术应用实施例中多路音视频流传输的系统架构图;
66.图6为本技术应用实施例中多路音视频流传输的方法流程示意图;
67.图7为本技术应用实施例中对多路音视频流进行切分的结构示意图;
68.图8为本技术应用实施例中对切分后的多路音视频流进行解包的结构示意图;
69.图9为本技术实施例第一种音视频流传输装置结构示意图;
70.图10为本技术实施例第二种音视频流传输装置结构示意图;
71.图11为本技术实施例发送端网关结构示意图;
72.图12为本技术实施例接收端网关结构示意图;
73.图13为本技术实施例音视频流系统结构示意图。
具体实施方式
74.下面通过附图及具体实施例对本技术再作进一步详细的说明。
75.如图1所示,多路音视频流通过网络进行传输的系统包括音视频流生成端局域网和音视频流播放端局域网。其中,音视频流生成端局域网侧由多个音视频源产生多路音视频流,通过网络将产生的多路音视频流传输至音视频流播放端局域网,以供音视频流播放端局域网侧对多路音视频流进行播放。
76.上述多路音视频流传输的过程中,存在由竞争网络、网络自身抖动而导致的传输时延。由于这种传输时延对多路音视频流中每路音视频流的影响不同,会导致多路音视频流在音视频流播放端侧播放时,每路音视频流播放时间不同步。
77.针对上述问题,相关技术中,提出了一种基于时间戳来保障多路音视频流播放时同步性的方法。具体地,音视频流生成端局域网侧产生多路音视频流后,按照协议进行分包、分帧、分片,并打上时间戳,然后,通过网络发送至音视频流播放端局域网。音视频流播放端局域网侧接收到多路音视频流后,会按照时间戳来播放音视频流。上述方案中,一方面,打时间戳的操作依赖于音视频流生成端局域网侧时钟的稳定性,如果时钟由于外部或系统原因发生抖动或偏移时,那么,会导致时间戳的准确性降低,进而使得音视频流播放端局域网侧按照时间戳播放音视频流时,出现播放异步的情况。另一方面,针对加密的音视频流,音视频流生成端局域网侧无法按照协议对音视频流进行处理。相应地,音视频流播放端局域网侧也无法按照时间戳来播放多路音视频流,依然存在多路音视频流播放异步的情况。
78.基于此,在本技术的各种实施例中,发送端网关(也可以称为音视频流生成端局域网)获取多路音视频流后,基于预设时长对多路音视频流进行切分,并将切分后得到的同一时间段的多路音视频流通过数据包的形式发送至接收端网关(也可以称为音视频流播放端局域网)。由于切分后得到的每个数据包包含的多路音视频流具有相同的时间段,当接收端网关基于接收的数据包合成对应的多路音视频流时,每路音视频流能够具有相同的网络延迟,从而保障了多路音视频流播放的同步性。
79.本技术实施例提供一种音视频流传输方法,应用于发送端网关,如图2所示,所述方法包括:
80.步骤201:获取待传输的n路音视频流;n为大于1的整数;
81.步骤202:对于n路音视频流,分别基于预设时长进行切分;
82.步骤203:利用切分后同一时间段的n路音视频流生成一个数据包;
83.步骤204:对生成的数据包进行签名和加密处理;
84.步骤205:将处理后的数据包发送至接收端网关。
85.实际应用时,在步骤201之前,发送端网关可以与接收端网关建立安全连接,以便于与接收端网关进行鉴权操作。
86.基于此,在一实施例中,所述方法还可以包括:
87.与所述接收端网关建立连接。
88.这里,实际应用时,发送端网关可以与接收端网关相互进行身份认证,并基于身份认证结果来建立安全连接。
89.具体地,在一实施例中,所述与所述接收端网关建立连接,包括:
90.与所述接收端网关进行身份认证;
91.身份认证成功后,与所述接收端网关协商用于加密的相关信息;
92.基于身份认证结果和所述相关信息,对生成的数据包进行安全传输相关处理,即对生成的数据包进行签名和加密处理。
93.这里,发送端网关可以通过向接收端网关发送身份验证请求,来获取接收端网关的身份验证信息。基于接收端网关的身份验证信息,发送端网关能够与接收端网关进行身份验证;其中,所述身份验证信息可以包括接收端网关的安全证书、公钥以及数字签名等信息。本技术实施例对此不作限定。
94.针对接收端网关的安全证书,发送端网关可以利用本地存储的根证书来验证接收端网关的安全证书。具体地,发送端网关可以基于根证书对应的签发机构,来验证接收端网关的安全证书对应的签发机构。当根证书与接收端网关的安全证书对应的签发机构相匹配时,则可以认为接收端网关的安全证书验证成功。
95.针对接收端网关的公钥以及数字签名,发送端网关可以利用验证成功的接收端网关的安全证书来进行验证。具体地,发送端网关可以基于接收端网关的安全证书的类别,查找接收端网关的安全证书对应的签发机构的公钥,并利用所述签发机构的公钥对接收端网关的安全证书进行解密。这样,发送端网关能够从解密后的接收端网关的安全证书中得到对应的公钥。若得到的公钥与接收端网关的公钥相匹配,则可以认为接收端网关的公钥验证成功。另外,发送端网关还可以利用接收端网关的公钥对数字签名进行解密,若解密成功,则可以说明接收端网关的数字签名验证成功。
96.如此,发送端网关能够确定接收端网关的身份认证成功。否则,发送端网关可以向接收端网关发送用于提示身份认证失败的认证信息。
97.另外,发送端网关还可以响应接收端网关发送的身份验证请求,并返回发送端网关的身份验证信息,以供接收端网关进行身份认证;所述身份验证信息可以包括发送端网关的安全证书、公钥以及数字签名等信息。本技术实施例对此不作限定。
98.实际应用时,为了保障多路音视频流传输过程中的安全性,身份认证成功后,发送端网关和接收端网关还可以协商用于加密的相关信息,从而能够对生成的数据包进行签名和加密处理,再将处理后的数据包进行传输。
99.具体地,发送端网关可以向接收端网关发送自身所支持的加密算法列表,以供接收端网关从对称加密算法列表中选择一个加密算法,并将选择的加密算法信息返回给发送端网关;其中,所述加密算法可以包括对称加密算法,本技术实施例对选择的加密算法的类型不作限定。
100.上述过程中,接收端网关可以采用发送端网关的公钥对选择的加密算法信息进行加密,并将加密后的加密算法信息返回至发送端网关,以使发送端网关能够利用对应的私钥对接收的加密算法信息进行解密,得到选择的加密算法。然后,发送端网关能够生成与选择的加密算法对应的密钥对(包括公钥和私钥)。发送端网关可以利用选择的加密算法对应的私钥,对生成的数据包进行加密,以保障数据包传输过程中的安全性。同时,发送端网关还可以在利用接收端网关的公钥对选择的加密算法的公钥进行加密后,将加密后的选择的加密算法的公钥传输至接收端网关,以供接收端网关能够利用本地私钥,得到选择的加密算法的公钥,并利用选择的加密算法的公钥对接收的数据包进行解密处理。
101.实际应用时,在建立安全连接之后,发送端网关还可以对接收端网关进行应用层鉴权,以基于鉴权结果与接收端网关进行n路音视频流的传输。
102.具体地,在一实施例中,所述方法还可以包括:
103.向接收端网关发送鉴权信息,所述鉴权信息用于验证应用层通信的权限;
104.接收所述接收端网关发送的验证结果;
105.在所述验证结果表征鉴权成功的情况下,获取待传输的n路音视频流。
106.其中,所述鉴权信息可以包括网关标识(比如id)、访问用户名和密码等信息。
107.这里,发送端网关可以通过建立的安全连接,向接收端网关发送所述鉴权信息,以验证接收端网关侧应用层通信的权限。当发送端网关能够基于接收端网关发送的验证结果确定鉴权成功时,则获取待传输的n路音视频流。
108.具体地,发送端网关作为媒体网关,在与接收端网关建立安全连接,且确定鉴权成功后,可以实时对网络进行监听,以实时获取通过网络传输的n路音视频流。示例性地,发送端网关可以基于传输控制协议(tcp,tranmission control protocol)或用户数据包协议(udp,user datagram protocol),来获取n路音视频流;其中,n为大于1的整数。本技术实施例对音视频流的获取方式不作限定,且对n的取值也不作限定。
109.这里,在步骤202中,发送端网关会基于预设时长分别对n路音视频流进行切分。
110.相应地,在一实施例中,步骤203的具体实现可以包括:
111.针对n路音视频流的每路音视频流,将获取的音视频流进行缓存;
112.当到达所述预设时长对应的预设时刻时,利用缓存的同一时间段的n路音视频流的每路音视频流数据,生成对应的子包头信息;
113.利用缓存的同一时间段的每路音视频流数据和对应的子包头信息,生成n个子数据包;
114.利用n个子数据包,生成一个数据包。
115.其中,所述预设时刻可以根据n路音视频流对应的业务数据进行设置,比如3分钟;所述预设时长可以根据需要进行设置,比如5s。
116.这里,实际应用时,发送端网关获取n路音视频流,可以将n路音视频流分别缓存至对应的缓存区;也就是说,将每路音视频流缓存至一个缓存区中。
117.然后,当到达所述预设时刻时,发送端网关会基于预设时长,通过对缓存区中缓存的n路音视频流进行打包,从而达到对n路音视频流切分的目的,得到切分后同一时间段的n路音视频流。另外,发送端网关还会为切分后同一时间段的n路音视频流中每路音视频流生成对应的子包头信息;所述子包头信息用于指示相应路音视频流对应的数据信息;所述子包头信息具体可以包括音视频流id、子数据包大小和子数据包序列号等信息。其中,所述音视频流id表征切分后相应路音视频流的来源信息;所述子数据包大小用于指示切分后相应路音视频流的数据大小以及切分位置信息;所述子数据包序列号用于指示切分后相应路音视频流的传输顺序。
118.实际应用时,生成对应的子包头信息后,发送端网关会将切分后同一时间段的n路音视频流中的每路音视频流拼接在对应的子包头信息后,从而生成n个子数据包;也就是说,一个子数据包包含子包头信息和切分后同一时间段的一路音视频流。
119.接着,发送端网关利用n个子数据包,生成一个数据包。具体地,发送端网关可以将
n个子数据包进行拼接,以生成一个数据包,并为生成的数据包生成对应的数据包头;所述数据包头用于指示切分后n路音视频流对应的数据信息;所述数据包头可以包括数据包序列号、数据包大小和循环冗余校验(crc,cyclic redundancy check)信息等。其中,所述数据包序列号用于指示生成的数据包的传输顺序;所述数据包大小表征生成的数据包的数据大小;所述crc信息用于指示数据包传输的稳定性(即数据包的数据是否产生错误)。
120.实际应用时,在步骤204中,发送端网关能够基于拥有的私钥,对生成的数据包进行签名,以防止数据包在传输的过程中被篡改。另外,为了保障数据包传输过程中的安全性,发送端网关还可以利用与接收端网关协商的加密算法,对签名后的数据包进行加密操作,以减少传输过程中数据泄露的风险。
121.然后,发送端网关可以经过签名和加密处理后的数据包发送至接收端网关。
122.实际应用时,当发送端网关获取到待传输的n路音视频流,n的取值为1时,也可以采用上述步骤202至步骤205的方式对一路音视频流进行处理并传输。具体地,发送端网关可以先将一路音视频流进行缓存,确定达到预设时长对应的预设时刻时,利用缓存的一个时间段的一路音视频流生成一个数据包。通过对生成的数据包进行签名和加密处理后,将处理后的数据包发送至接收端网关。
123.相应地,本技术实施例还提供了一种音视频流传输方法,应用于接收端网关,如图3所示,所述方法包括:
124.步骤301:接收发送端网关发送的数据包;
125.步骤302:对接收的数据包进行解密和签名验证处理,得到处理后的数据包;
126.步骤303:对处理后的数据包进行解析,得到切分后的同一时间段的n路音视频流的切分数据;n为大于1的整数;
127.步骤304:利用每路音视频流的切分数据合成对应的音视频流。
128.实际应用时,在步骤301之前,接收端网关可以与发送端网关建立安全连接,以便于与发送端网关进行鉴权操作。
129.基于此,在一实施例中,所述方法还包括:
130.与所述发送端网关建立连接。
131.这里,实际应用时,接收端网关可以与发送端网关相互进行身份验证,并基于身份验证结果来建立安全连接。
132.具体地,在一实施例中,所述与所述发送端网关建立连接,包括:
133.与所述发送端网关进行身份验证;
134.身份验证成功后,与所述发送端网关协商用于加密的相关信息;
135.基于身份验证结果和所述相关信息,对接收的数据包进行安全传输相关处理,即对接收的数据包进行解密和签名验证处理。
136.这里,接收端网关可以通过向发送端网关发送身份验证请求,来获取发送端网关的身份验证信息。基于发送端网关的身份验证信息,接收端网关能够对发送端网关进行身份验证;其中,所述身份验证信息可以包括发送端网关的安全证书、公钥以及数据签名等信息。本技术实施例对此不作限定。
137.针对发送端网关的安全证书,接收端网关可以利用本地存储的根证书来验证发送端网关的安全证书。具体地,接收端网关可以基于根证书对应的签发机构,来验证发送端网
关的安全证书对应的签发机构。当根证书与发送端网关的安全证书对应的签发机构相匹配时,则可以认为发送端网关的安全证书验证成功。
138.针对发送端网关的公钥以及数字签名,接收端网关可以利用验证成功的发送端网关的安全证书进行验证。具体地,接收端网关可以基于发送端网关的安全证书的类别,查找发送端网关的安全证书对应的签发机构的公钥,并利用所述签发机构的公钥对发送端网关的安全证书进行解密。这样,接收端网关能够从解密后的发送端网关的安全证书中得到对应的公钥。若得到的公钥与发送端网关的公钥相匹配,则可以认为发送端网关的公钥验证成功。另外,接收端网关还可以利用发送端网关的公钥对数字签名进行解密,若解密成功,则可以说明发送端网关的数字签名验证成功。
139.如此,接收端网关能够确定发送端网关的身份认证成功。否则,接收端网关可以向发送端网关发送用于提示身份认证失败的认证信息。
140.实际应用时,为了保障多路音视频流传输过程中的安全性,身份认证成功后,接收端网关还可以与发送端网关协商用于加密的相关信息,以使发送端网关能够对待传输的数据包进行解密和签名验证处理。
141.具体地,接收端网关接收发送端网关发送的加密算法列表后,可以按照加密算法标准,从接收的对称加密算法列表中选择出加密强度满足需求的加密算法,并将选择的加密算法信息返回给发送端网关;其中,所述加密算法可以包括对称加密算法,本技术实施例对选择的加密算法的类型不作限定。
142.上述过程中,接收端网关可以采用发送端网关的公钥对选择的加密算法信息进行加密,并将加密后的加密算法信息返回至发送端网关,以使发送端网关能够利用对应的私钥对接收的加密算法信息进行解密,得到选择的加密算法。然后,发送端网关会生成与选择的加密算法对应的密钥对,并在对选择的加密算法的公钥进行加密后,返回给接收端网关。这样,接收端网关能够利用本地私钥进行解密,以得到选择的加密算法的公钥,进而能够对接收的数据包进行解密操作。
143.实际应用时,在与发送端网关建立安全连接后,为了避免发送端网关或接收端网关的密钥或证书被篡改而造成的安全风险,接收端网关还可以进行应用层鉴权操作。
144.具体地,在一实施例中,所述方法还包括:
145.接收发送端网关发送的鉴权信息,所述鉴权信息用于验证应用层通信的权限;
146.利用所述鉴权信息,对应用层通信的权限进行验证,并将验证结果发送至所述发送端网关。
147.其中,所述鉴权信息可以包括id、访问用户名和密码等信息。
148.这里,接收端网关可以通过建立的安全连接,来接收发送端网关发送的鉴权信息,并利用接收的id或访问用户名,结合密码进行身份验证操作。若验证成功,则可以说明鉴权成功,接收端网关可以向发送端网关返回表征鉴权成功的验证结果;若验证失败,则说明鉴权失败,接收端网关可以向发送端返回表征鉴权失败的验证结果。
149.实际应用时,在步骤301中,接收端网关在与发送端网关建立安全连接,且完成鉴权操作后,能够接收到发送端网关发送的数据包。
150.然后,接收端网关可以利用与发送端网关协商的加密算法,对接收的数据包进行解密处理,得到解密后的数据包。
151.接着,接收端网关还可以对解密后的数据包进行签名验证处理。若能够利用接收端网关拥有的发送端网关的公钥,对解密后的数据包的数据进行数字签名认证,则可以确定解密后的数据包签名验证成功。否则,接收端网关确定解密后的数据包签名验证失败,并可以将解密后的数据包进行丢弃。
152.实际应用时,针对处理后的数据包,发送端网关可以进行解析,以得到切分后的同一时间段的n路音视频流的切分数据。
153.具体地,在一实施例中,所述对处理后的数据包进行解析,得到同一时间段的n路音视频流的切分数据,包括:
154.对处理后的数据包进行解析,得到n个子数据包;
155.利用n个子数据包的每个子数据包的子包头信息,得到同一时间段的一路的音视频流的切分数据。
156.实际应用时,接收端网关通过处理后的数据包的包头信息,能够确定切分后同一时间段的n路音视频流的数据信息;所述包头信息可以包括数据包序列号、数据包大小和crc信息。其中,所述数据包序列号用于指示数据包的传输顺序;所述数据包大小表征数据包的数据大小;所述crc信息用于指示数据包传输的稳定性(即数据包的数据是否产生错误)。
157.这里,接收端网关可以对处理后的数据包进行验证。具体地,接收端网关利用包头信息中的数据包序列号,能够确定每个数据包的传输顺序,避免由于传输延迟而导致先发送的数据包后接收到的情况。另外,接收端网关利用包头信息中的crc信息,还能够确定每个数据包的切分数据的准确性,即数据包是否在传输过程中产生错误。
158.验证完成后,接收端网关会对处理后的数据包进行解析,得到同一时间段的n路音视频流对应的n个子数据包;其中,每个子数据包包含子数据包的子包头信息和每路音视频流的切分数据;所述子包头信息具体包括音视频流id、子数据包大小和子数据包序列号等信息;其中,所述音视频流id表征切分后相应路音视频流的来源信息;所述子数据包大小用于指示切分后相应路音视频流的数据大小以及切分位置信息;所述子数据包序列号用于指示切分后相应路音视频流的传输顺序。
159.通过每个子数据包的子包头信息,接收端网关能够确定同一时间段的n路音视频流中每路音视频流的切分数据,并将每路音视频流的切分数据进行缓存,存入对应的缓存区。具体地,接收端网关可以基于子包头信息中的音视频流id,将一路音视频流的切分数据缓存至对应的缓存区。
160.实际应用时,接收端网关可以按照子包头信息中子数据包序列号所指示的传输顺序,将缓存的每路音视频流的切分数据合成对应的音视频流,进而能够得到对应的n路音视频流。
161.然后,接收端网关可以将合成的n路音视频流发送至播放缓存区,以通过播放器来进行n路音视频流的播放。这样,便能够保障n路音视频流播放时的同步性。
162.实际应用时,当n的取值为1时,接收端网关也可以采用上述步骤301至步骤304的方式对接收的数据包进行处理。具体地,接收端网关接收发送端网关发送的数据包后,对接收的数据包进行解密和签名验证处理,得到处理后的数据包。接着,接收端网关对处理后的数据包进行解析,得到一个时间段的一路音视频流的切分数据。接收端网关利用一路音视
频的切分数据,能够合成对应的一路音视频流。
163.本技术实施例还提供了一种音视频流传输方法,如图4所示,所述方法包括:
164.步骤401:发送端网关获取待传输的n路音视频流;n为大于1的整数;
165.步骤402:对于n路音视频流,发送端网关分别基于预设时长进行切分;
166.步骤403:发送端网关利用切分后同一时间段的n路音视频流生成一个数据包;
167.步骤404:发送端网关对生成的数据包进行签名和加密处理;
168.步骤405:发送端网关将处理后的数据包发送至接收端网关;
169.步骤406:接收端网关接收发送端网关发送的数据包;
170.步骤407:接收端网关对接收的数据包进行解密和签名验证处理,得到处理后的数据包;
171.步骤408:接收端网关对处理后的数据包进行解析,得到切分后的同一时间段的n路音视频流的切分数据;
172.步骤409:利用每路音视频流的切分数据合成对应的音视频流。
173.这里,需要说明的是:发送端网关和接收端网关的具体处理过程已在上文详述,这里不再赘述。
174.本技术实施例提供了一种音视频流传输方法,发送端网关获取待传输的n路音视频流;对于n路音视频流,分别基于预设时长进行切分;利用切分后同一时间段的n路音视频流生成一个数据包;对生成的数据包进行签名和加密处理;将处理后的数据包发送至接收端网关;接收端网关接收发送端网关发送的数据包;对接收的数据包进行解密和签名验证处理,得到处理后的数据包;对处理后的数据包进行解析,得到切分后的同一时间段的n路音视频流的切分数据;n为大于1的整数;利用每路音视频流的切分数据合成对应的音视频流。本技术实施例提供的方案,针对多路音视频流,发送端网关基于预设时长进行切分,并将切分后同一时间段的多路音视频流以数据包的形式发送给接收端网关,以使接收端网关能够将n路音视频流的切分数据合成对应的音视频流。上述方案中,由于切分后同一时间段的多路音视频流会在一个数据包中,每个数据包对应的多路音视频流具有相同的时间段。如此,能够保障在任何传输情况下,接收端网关接收的多路音视频流会具有相同的网络延迟或丢包情况,进而保障了多路音视频流播放时的同步性。
175.下面结合应用实施例对本技术再作进一步详细的描述。
176.相关技术中,为了实现多路音视频的同步播放,提出了一种优化网络的方法。具体地,通过增加网络带宽,来降低多路音视频流的传输时延,以保障播放时的同步性。但是,上述方案仅适用于小型网络环境,针对大型网络,如互联网,优化网络的成本较高,且由于技术领域的限制,网络带宽也无法无限制的增加。
177.相关技术中,还提出了一种通过打时间戳来实现多路音视频流同步播放的方法。具体地,发送端将生成的多路音视频流按照协议进行分包、分帧、分片操作,然后打上时间戳,以使接收端能够按照时间戳来播放多路音视频流,保障了多路音视频流的同步性。
178.上述方案中,发送端对多路音视频流打时间戳时,需要依赖发送端侧时钟的稳定性,当时钟因为外部或系统原因发送抖动和偏移时,会导致时间戳的准确性降低,无法保障多路音视频流播放的同步性。这是因为:发送端系统可使用的高精度时钟源通常包括全球导航卫星系统(gnss,global navigation satellite system)授时、网络内部网络时间协
议(ntp,network time protocol)服务器授时以及系统内部高精度实时时钟(rtc,real_time clock)模块。对于gnss授时,由于卫星信号容易受到自然天气以及来自人工的干扰,因此无法保证授时的绝对准确。针对网络内部ntp服务器授时,可能由于短时间网络拥塞而造成授时异常。对于系统内部高精度rtc模块,内部模块中的晶振可能随系统升温而产生频率漂移,从而引起时间异常。另外,系统内部时钟系统还会因其它原因造成突变,例如由于基于地球自转的世界时(ut,universal time)和基于原子振荡周期的原子时(tai,international atomic time)不匹配而导致对系统时间进行闰秒调整,再比如人工操作修改系统时钟。
179.其次,当发送端将带传输的多路音视频流打上时间戳后,接收端需要设置较大的缓冲区,以确保能够接收到所有可播放的音视频流数据。在这种情况下,接收端还需要引入缓冲区数据清空机制,实时保障缓冲区具有足够的空间来接收音视频流。如此,会使得上层应用进行相应操作和修改,进而增加了实现成本。
180.此外,相关技术中,在进行多路音视频流的传输时,还缺少对多路音视频流的鉴权和加密过程,容易造成数据丢失的情况,即无法保障数据传输的安全性。
181.基于此,如图5所示,本技术应用功能实施例的音视频流同步系统框架由音视频流生成端局域网(即发送端网关)和音视频流播放端局域网(即接收端网关)构成,能够达到实现成本低,以及保障音视频流传输的同步性和安全性的效果。
182.其中,所述音视频流生成端局域网,具体可以包括:
183.音视频生成模块,用于生成多路音视频流(即n路音视频流);
184.流接入/分片/打包模块,用于对多路音视频流进行分片和打包处理,生成处理后的数据包;
185.签名加密模块,用于对处理后的数据包进行签名和加密处理;
186.发送模块,用于将安全传输处理后数据包传输至音视频流播放端局域网。
187.所述音视频流播放端局域网,具体可以包括:
188.接收模块,用于接收发送模块发送的数据包;
189.验证解密模块,用于对接收的数据包进行解密和验证签名处理;
190.解包/组合/发送模块,用于对处理后的数据包进行解析,并将解析得到的数据进行组合处理;
191.音视频播放模块,将组合处理后得到的多路音视频流进行播放。
192.如图6所示,发送端网关向接收端网关进行多路音视频传输的过程包括以下步骤:
193.步骤601:发送端网关向接收端网关发送携带鉴权信息的登录请求;
194.其中,所述鉴权信息包括网关id、访问密码等信息。
195.这里,实际应用时,在步骤601之前,发送端网关还需要和接收端网关建立安全链路,以便于与接收端网关进行鉴权操作。
196.具体地,发送端网关基于接收端网关发送的网关证书以及其他相关信息,对接收端网关进行身份验证;所述相关信息包括公钥和数字签名等信息。其中,发送端网关会验证接收端网关的网关证书的签发机构,还会对接收端网关的数字签名进行验证。
197.相应地,发送端网关将对应的网关证书以及其他相关信息发送至接收端网关,以使接收端网关能够基于接收的信息对发送端网关进行身份验证;
198.当发送端网关和接收端网关的身份验证成功时,发送端网关会将自身支持的对称加密列表发送给接收端网关,以供接收端网关根据对称加密列表中加密算法的强度来选择一个对称加密算法,并通过发送端网关的公钥加密后返回给发送端网关。发送端网关利用对应的私钥对接收的对称加密算法解密后,生成所述对称加密算法的密钥对,然后,利用接收端网关的公钥对所述对称加密算法的密钥对中的公钥进行加密,并返回给接收端网关。
199.通过上述过程,实现了发送端网关与接收端网关的安全链路的建立。
200.实际应用时,在建立安全链路后,发送端网关可以通过安全链路将鉴权信息发送至接收端网关,与接收端网关进行鉴权操作,以保障与接收端网关数据传输的安全性。
201.步骤602:接收端网关进行鉴权操作;
202.这里,接收端网关响应发送端网关的鉴权请求,利用接收的鉴权信息来进行身份验证操作。若接收端网关验证成功,则会生成表征鉴权成功的鉴权结果;若接收端网关验证失败,则会生成表征鉴权失败的鉴权结果。
203.步骤603:接收端网关将鉴权结果返回至发送端网关;
204.步骤604:发送端网关获取音视频生成模块生成的多路音视频流;
205.实际应用时,当鉴权结果表征鉴权成功时,发送端网关会通过tcp或udp来获取音视频生成模块生成的多路音视频流。
206.步骤605:发送端网关根据预设时长对获取的多路音视频流进行切片(即切分)操作;
207.这里,如图7所示,发送端网关会先将获取的多路音视频流中每路音视频流缓存在对应的缓冲区中,形成n路音视频流(英文可以表达为stream)。当达到预设时刻t时,发送端网关会根据预设时长σ对n路音视频流进行打包,得到切片后同一时间段的n路音视频流对应的数据。接着,针对切片后同一时间段的n路音视频流中的每路音视频流的数据,发送端网关会分别生成对应的子包头信息,并利用每路音视频流的数据和对应的子包头信息生成子数据包,生成n个子数据包;其中,所述子包头信息包含媒体流id、子数据包大小以及子数据包序列号等信息;每个子数据包中每路音视频流的数据拼接在包头信息之后。
208.实际应用时,所述预设时刻可以根据多路音视频流中的业务数据对应的时刻来进行设置。
209.步骤606:发送端网关对生成的切片数据进行打包操作;
210.这里,如图7所示,发送端网关会对切片后同一时间段的n路音视频流进行处理,也即对切片后同一时间段的n个子数据包进行处理,生成一个切片数据(英文可以表达为slice)。
211.同时,发送端网关还会为生成的切片数据生成对应的包头信息,并利用生成的切片数据和对应的包头信息生成一个数据包;所述包头信息可以包括数据包序列号和crc等信息。
212.步骤607:发送端网关对生成的数据包进行加密处理;
213.实际应用时,发送端网关利用与接收端网关协商的对称加密算法的私钥对生成的数据包进行加密处理,同时,发送端网关还会利用对应的私钥对生成的数据包进行签名处理,以保障数据包传输过程中的安全性。
214.步骤608:发送端网关处理后的数据包转发至接收端网关;
215.步骤609:接收端网关接收发送端网关发送的数据包后,进行解密处理;
216.实际应用时,接收端网关利用与发送端网关协商的对称加密算法的公钥,能够对接收的数据包进行解密处理。此外,接收端网关还会利用发送端网关的公钥对接收的数据包进行签名验证操作。
217.步骤610:接收端网关对处理后的数据包进行提取切片操作;
218.实际应用时,接收端网关会先将处理后的数据包缓存至系统缓存区,以避免由于传输延迟而导致先发送的数据包后到达的情况。接着,接收端网关基于数据包的包头信息,确定对应的切片数据传输的先后顺序。
219.如图8所示,确定数据包的传输顺序后,接收端网关能够从每个数据包中分离出同一时间段的n个子数据包,同时,基于n个子数据包每个子数据包的包头信息(如音视频流id),接收端网关还能够确定每个子数据包对应的音视频流缓存区。然后,接收端网关会将n个子数据包对应的n路音视频流的切分数据缓存至对应的音视频流缓存区。
220.步骤611:接收端网关将提取的切片合成音视频流;
221.这里,接收端网关可以将不同音视频流缓存区中缓存的每路音视频流的切分数据进行处理,合成对应的音视频流。
222.步骤612:接收端网关将合成的音视频流发送至音视频播放模块。
223.这里,接收端网关可以将音视频流缓存区中合成的音视频流发送至音视频播放模块,通过播放器来实现多路音视频流的播放。
224.本技术应用实施例中,发送端网关按照时间片对多路音视频流进行切片,并按照顺序进行传输,使得接收端网关能够按照顺序进行接收,并保障了在任何网络条件下,接收的多路音视频流具有相同的延迟(或被丢包),进而保障了多路音视频流播放时的同步性。
225.其次,通过发送端网关来进行多路音视频流的获取和切片操作,无需上层应用进行任何修改,同时,也无需其他协议或技术手段辅助,使得上述方案的实现成本较低。
226.此外,上述方案中,在接收端网关和发送端网关传输的过程中设置了统一的身份认证和鉴权操作,并通过统一的加密和解密机制,提高了多路音视频流数据传输的安全性。
227.为了实现本技术实施例发送端网关侧的方案,本技术实施例还提供一种音视频流传输装置,设置在发送端网关上,如图9所示,该装置包括:
228.获取单元901,用于获取待传输的n路音视频流;n为大于1的整数;
229.切分单元902,用于对于n路音视频流,分别基于预设时长进行切分;
230.第一处理单元903,用于利用切分后同一时间段的n路音视频流生成一个数据包;
231.第二处理单元904,用于对生成的数据包进行签名和加密处理;
232.发送单元905,用于将处理后的数据包发送至接收端网关。
233.其中,在一实施例中,所述切分单元902,用于针对n路音视频流的每路音视频流,将获取的音视频流进行缓存;当到达所述预设时长对应的预设时刻时,利用缓存的同一时间段的n路音视频流的每路音视频流数据,生成对应的子包头信息;
234.所述第一处理单元903,用于利用缓存的同一时间段的每路音视频流数据和对应的子包头信息,生成n个子数据包;利用n个子数据包,生成一个数据包。
235.在一实施例中,所述获取单元901,还用于:
236.向接收端网关发送鉴权信息,所述鉴权信息用于验证应用层通信的权限;
237.接收所述接收端网关发送的验证结果;
238.在所述验证结果表征鉴权成功的情况下,获取待传输的n路音视频流。
239.在一实施例中,所述获取单元901,还用于:
240.与所述接收端网关建立连接。
241.其中,在一实施例中,所述获取单元901,用于与所述接收端网关进行身份认证;身份认证成功后,与所述接收端网关协商用于加密的相关信息;
242.第二处理单元904,用于基于身份认证结果和所述相关信息,对生成的数据包进行签名和加密处理。
243.这里,需要说明的是,所述获取单元901、所述切分单元902和所述第一处理单元903的功能相当于应用实施例中流接入/分片/打包模块的功能;所述第二处理单元904的功能相当于应用实施例中签名加密模块的功能;所述发送单元905的功能相当于应用实施例中发送模块的功能。
244.实际应用时,所述获取单元901可由音视频流传输装置中的通信接口结合处理器实现;所述切分单元902、所述第一处理单元903和所述第二处理单元904可由音视频流传输装置中的处理器实现;所述发送单元905可由音视频流传输装置中的通信接口实现。
245.为了实现本技术实施例接收端网关侧的方案,本技术实施例还提供一种音视频流传输装置,设置在接收端网关上,如图10所示,该装置包括:
246.接收单元1001,用于接收发送端网关发送的数据包;
247.第三处理单元1002,用于对接收的数据包进行解密和签名验证处理,得到处理后的数据包;
248.第四处理单元1003,用于对处理后的数据包进行解析,得到切分后的同一时间段的n路音视频流的切分数据;n为大于1的整数;
249.合成单元1004,用于利用每路音视频流的切分数据合成对应的音视频流。
250.其中,在一实施例中,所述第四处理单元1003,用于:
251.对处理后的数据包进行解析,得到n个子数据包;
252.利用n个子数据包的每个子数据包的子包头信息,得到同一时间段的一路的音视频流的切分数据。
253.在一实施例中,所述接收单元1001,还用于:
254.接收发送端网关发送的鉴权信息,所述鉴权信息用于验证应用层通信的权限;
255.利用所述鉴权信息,对应用层通信的权限进行验证,并将验证结果发送至所述发送端网关。
256.在一实施例中,所述接收单元1001,还用于:
257.与所述发送端网关建立连接。
258.其中,在一实施例中,所述接收单元1001,用于与所述发送端网关进行身份验证;身份验证成功后,与所述发送端网关协商用于加密的相关信息;
259.所述第三处理单元1002,用于基于身份验证结果和所述相关信息,对接收的数据包进行解密和签名验证处理。
260.这里,需要说明的是,所述接收单元1001的功能相当于应用实施例中接收模块的功能;第三处理单元1002的功能相当于应用实施例中验证解密模块的功能;所述第四处理
单元1003和所述合成单元1004的功能相当于应用实施例中解包/组合/发送模块的功能。
261.实际应用时,所述第三处理单元1002、所述第四处理单元1003和所述合成单元1004可由音视频流传输装置中的处理器实现;所述接收单元1001可由音视频流传输装置中的处理器结合通信接口实现。
262.需要说明的是:上述实施例提供的音视频流传输装置在进行音视频流传输时,仅以上述各程序单元的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序单元完成,即将装置的内部结构划分成不同的程序单元,以完成以上描述的全部或者部分处理。另外,上述实施例提供的音视频流传输装置与音视频流传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
263.基于上述程序模块的硬件实现,且为了实现本技术实施例发送端网关侧的方法,本技术实施例还提供了一种发送端网关,如图11所示,该发送端设备1100包括:
264.第一通信接口1101,能够与接收端网关进行信息交互;
265.第一处理器1102,与所述第一通信接口1101连接,以实现与接收端网关进行信息交互,用于运行计算机程序时,执行上述发送端网关侧一个或多个技术方案提供的方法;所述计算机程序存储在第一存储器903上。
266.具体地,所述第一处理器1102,用于:
267.通过所述第一通信接口1101获取待传输的n路音视频流;n为大于1的整数;
268.对于n路音视频流,分别基于预设时长进行切分;
269.利用切分后同一时间段的n路音视频流生成一个数据包;
270.对生成的数据包进行签名和加密处理;
271.通过所述第一通信接口1101将处理后的数据包发送至接收端网关。
272.其中,在一实施例中,所述第一处理器1102,用于:
273.针对n路音视频流的每路音视频流,将获取的音视频流进行缓存;
274.当缓存的到达所述预设时长对应的预设时刻时,利用缓存的同一时间段的n路音视频流的每路音视频流数据,生成对应的子包头信息;
275.利用缓存的同一时间段的每路音视频流数据和对应的子包头信息,生成n个子数据包;
276.利用n个子数据包,生成一个数据包。
277.在一实施例中,所述第一通信接口1101,还用于:
278.向接收端网关发送鉴权信息,所述鉴权信息用于验证应用层通信的权限;
279.接收所述接收端网关发送的验证结果;
280.所述第一处理器1102,还用于:
281.在所述验证结果表征鉴权成功的情况下,通过所述第一通信接口1101获取待传输的n路音视频流。
282.在一实施例中,所述第一处理器1102,还用于:
283.通过所述第一通信接口1101与所述接收端网关建立连接。
284.在一实施例中,所述第一处理器1102,用于:
285.通过所述第一通信接口1101与所述接收端网关进行身份认证;
286.身份认证成功后,通过所述第一通信接口1101与所述接收端网关协商用于加密的
相关信息;
287.基于身份认证结果和所述相关信息,对生成的数据包进行签名和加密处理。
288.需要说明的是:所述第一处理器1102和所述第一通信接口1101的具体处理过程可参照上述方法理解。
289.当然,实际应用时,发送端网关中的各个组件通过总线系统1104耦合在一起。可理解,总线系统1104用于实现这些组件之间的连接通信。总线系统1104除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统1104。
290.本技术实施例中的第一存储器1103用于存储各种类型的数据以支持发送端网关1100的操作。这些数据的示例包括:用于在发送端网关1100上操作的任何计算机程序。
291.上述本技术实施例揭示的方法可以应用于所述第一处理器1102,或者由所述第一处理器1102实现。所述第一处理器1102可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述第一处理器1102中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述第一处理器1102可以是通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述第一处理器1102可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第一存储器1103,所述第一处理器1102读取第一存储器1103中的信息,结合其硬件完成前述方法的步骤。
292.在示例性实施例中,发送端网关1100可以被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)、通用处理器、控制器、微控制器(mcu,micro controller unit)、微处理器(microprocessor)、或者其他电子元件实现,用于执行前述方法。
293.基于上述程序模块的硬件实现,且为了实现本技术实施例接收端网关侧的方法,本技术实施例还提供了一种接收端网关,如图12所示,该接收端网关1200包括:
294.第二通信接口1201,能够与发送端网关进行信息交互;
295.第二处理器1202,与所述第二通信接口1201连接,以实现与发送端网关进行信息交互,用于运行计算机程序时,执行上述接收端网关侧一个或多个技术方案提供的方法;所述计算机程序存储在第二存储器1203上。
296.具体地,所述第二处理器1202,用于:
297.通过所述第二通信接口1201接收发送端网关发送的数据包;
298.对接收的数据包进行解密和签名验证处理,得到处理后的数据包;
299.对处理后的数据包进行解析,得到切分后的同一时间段的n路音视频流的切分数据;n为大于1的整数;
300.利用每路音视频流的切分数据合成对应的音视频流。
301.其中,在一实施例中,所述第二处理器1202,用于:
302.对处理后的数据包进行解析,得到n个子数据包;
303.利用n个子数据包的每个子数据包的子包头信息,得到同一时间段的一路的音视频流的切分数据。
304.在一实施例中,所述第二通信接口1201,还用于接收发送端网关发送的鉴权信息,所述鉴权信息用于验证应用层通信的权限;
305.所述第二处理器1202,还用于利用所述鉴权信息,对应用层通信的权限进行验证,并通过第二通信接口1201将验证结果发送至所述发送端网关。
306.在一实施例中,所述第二处理器1202,还用于通过所述第二通信接口1201与所述发送端网关建立连接。
307.在一实施例中,所述第二处理器1202,用于:
308.通过所述第二通信接口1201与所述发送端网关进行身份验证;;
309.身份认证成功后,通过所述第二通信接口1201与所述发送端网关协商用于加密的相关信息;
310.基于身份认证结果和所述相关信息,对接收的数据包进行解密和签名验证处理。
311.需要说明的是:所述第二处理器1202和所述第二通信接口1201的具体处理过程可参照上述方法理解。
312.当然,实际应用时,接收端网关中的各个组件通过总线系统1204耦合在一起。可理解,总线系统1204用于实现这些组件之间的连接通信。总线系统1204除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图12中将各种总线都标为总线系统1204。
313.本技术实施例中的第二存储器1203用于存储各种类型的数据以支持接收端网关1200的操作。这些数据的示例包括:用于在接收端网关1200上操作的任何计算机程序。
314.上述本技术实施例揭示的方法可以应用于所述第二处理器1202中,或者由所述第二处理器1202实现。所述第二处理器1202可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述第二处理器1202中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述第二处理器1202可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述第二处理器1202可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第二存储器1203,所述第二处理器1202读取第二存储器1203中的信息,结合其硬件完成前述方法的步骤。
315.在示例性实施例中,接收端网关1200可以被一个或多个asic、dsp、pld、cpld、fpga、通用处理器、控制器、mcu、microprocessor、或其他电子元件实现,用于执行前述方法。
316.为了实现本技术实施例提供的方法,本技术实施例还提供了一种音视频流传输系统,如图13所示,该系统包括:发送端网关1301和接收端网关1302。
317.这里,需要说明的是:所述发送端网关1301和接收端网关1302的具体处理过程已
在上文详述,这里不再赘述。
318.在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器1103,上述计算机程序可由发送端网关1100的第一处理器1102执行,以完成前述发送端网关侧方法所述步骤,再比如包括存储计算机程序的第二存储器1203,上述计算机程序可由接收端网关1200的第二处理器1202执行,以完成前述接收端网关侧方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
319.需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
320.另外,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
321.以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围,凡在本技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种音视频流传输方法,其特征在于,应用于发送端网关,包括:获取待传输的n路音视频流;n为大于1的整数;对于n路音视频流,分别基于预设时长进行切分;利用切分后同一时间段的n路音视频流生成一个数据包;对生成的数据包进行签名和加密处理;将处理后的数据包发送至接收端网关。2.根据权利要求1所述的方法,其特征在于,所述对于n路音视频流,分别基于预设时长进行切分,利用切分后同一时间段的n路音视频数据生成一个数据包,包括:针对n路音视频流的每路音视频流,将获取的音视频流进行缓存;当到达所述预设时长对应的预设时刻时,利用缓存的同一时间段的n路音视频流的每路音视频流数据,生成对应的子包头信息;利用缓存的同一时间段的每路音视频流数据和对应的子包头信息,生成n个子数据包;利用n个子数据包,生成一个数据包。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:向接收端网关发送鉴权信息,所述鉴权信息用于验证应用层通信的权限;接收所述接收端网关发送的验证结果;在所述验证结果表征鉴权成功的情况下,获取待传输的n路音视频流。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:与所述接收端网关建立连接。5.根据权利要求4所述的方法,其特征在于,所述与所述接收端网关建立连接,包括:与所述接收端网关进行身份认证;身份认证成功后,与所述接收端网关协商用于加密的相关信息;基于身份认证结果和所述相关信息,对生成的数据包进行签名和加密处理处理。6.一种音视频流传输方法,其特征在于,应用于接收端网关,包括:接收发送端网关发送的数据包;对接收的数据包进行解密和签名验证处理,得到处理后的数据包;对处理后的数据包进行解析,得到切分后的同一时间段的n路音视频流的切分数据;n为大于1的整数;利用每路音视频流的切分数据合成对应的音视频流。7.根据权利要求6所述的方法,其特征在于,所述对处理后的数据包进行解析,得到同一时间段的n路音视频流的切分数据,包括:对处理后的数据包进行解析,得到n个子数据包;利用n个子数据包的每个子数据包的子包头信息,得到同一时间段的一路的音视频流的切分数据。8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:接收发送端网关发送的鉴权信息,所述鉴权信息用于验证应用层通信的权限;利用所述鉴权信息,对应用层通信的权限进行验证,并将验证结果发送至所述发送端网关。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
与所述发送端网关建立连接。10.根据权利要求9所述的方法,其特征在于,所述与所述发送端网关建立连接,包括:与所述发送端网关进行身份验证;身份验证成功后,与所述发送端网关协商用于加密的相关信息;基于身份验证结果和所述相关信息,对接收的数据包进行解密和签名验证处理。11.一种音视频流传输装置,其特征在于,设置在发送端网关上,包括:获取单元,用于获取待传输的n路音视频流;n为大于1的整数;切分单元,用于对于n路音视频流,分别基于预设时长进行切分;第一处理单元,用于利用切分后同一时间段的n路音视频流生成一个数据包;第二处理单元,用于对生成的数据包进行签名和加密处理;发送单元,用于将处理后的数据包发送至接收端网关。12.一种音视频流传输装置,其特征在于,设置在接收端网关上,包括:接收单元,用于接收发送端网关发送的数据包;第三处理单元,用于对接收的数据包进行解密和签名验证处理,得到处理后的数据包;第四处理单元,用于对处理后的数据包进行解析,得到切分后的同一时间段的n路音视频流的切分数据;n为大于或1的整数;合成单元,用于利用每路音视频流的切分数据合成对应的音视频流。13.一种发送端网关,其特征在于,包括:第一处理器和用于存储能够在处理器上运行的计算机程序的第一存储器,其中,所述第一处理器用于运行所述计算机程序时,执行权利要求1至5任一项所述方法的步骤。14.一种接收端网关,其特征在于,包括:第二处理器和用于存储能够在处理器上运行的计算机程序的第二存储器,其中,所述第二处理器用于运行所述计算机程序时,执行权利要求6至10任一项所述方法的步骤。15.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤,或者实现权利要求6至10任一项所述方法的步骤。
技术总结
本申请公开了一种音视频流传输方法、装置、相关设备和存储介质。方法包括:发送端网关获取待传输的N路音视频流;对于N路音视频流,分别基于预设时长进行切分;利用切分后同一时间段的N路音视频流生成一个数据包;对生成的数据包进行签名和加密处理;将处理后的数据包发送至接收端网关;接收端网关接收数据包;对接收的数据包进行解密和签名验证处理,得到处理后的数据包;对处理后的数据包进行解析,得到切分后的同一时间段的N路音视频流;将N路音视频流分别缓存至对应的缓存区。发送端网关根据预设时长对多路音视频流进行切分,并将切分后同一时间段的多路音视频流传输至接收端网关,如此,保障了接收端网关侧多路音视频流的同步性。同步性。同步性。
技术研发人员:刘禹 黄承基 赵晓余 王征 赵小溪
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2021.12.29
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:雾化组件及气溶胶产生装置的制作方法 下一篇:一种叶面药肥及其制备方法与流程