System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据传输,特别是涉及媒体流切换方法、装置、终端设备和存储介质。
技术介绍
1、广电行业在进行数据传输的时候,目前最常见的是使用sdi标准通过同轴电缆传输信号,但是无法满足高清视频的需求。随着广播电视领域的ip化发展,ip视频网络逐渐替代了传统的sdi串行数字视频接口视频网络。
2、在广播电视行业工作中,经常需要进行视频的切换操作,并且在切换时,要求视频不能出现丢帧,黑场,延迟,甚至花屏等现象,这种切换称为净切换。
3、现有的网络视频流净切换方法通常是由专业的切换网关来完成,如图1所示,pc1终端发送出一路视频组播流(239.0.0.1:10000),pc2终端发送出一路视频组播流(239.0.0.2:10000),这两路流流经交换机s1进入ip切换网关gate1,gate1接收两路组播流后,根据pc3终端的请求,将某一路组播流通过一系列变换后,转换为pc3的接收组播流(239.1.1.1:10000)并发送给pc3终端,这种方法依赖于gate1设备的处理,并且增加了网络中数据的流量。
技术实现思路
1、鉴于如何能够快速且节省成本的实现视频流的净切换,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种媒体流切换方法、装置、终端设备和存储介质。
2、第一个方面,本专利技术实施例提供一种媒体流切换方法,所述方法包括:
3、根据第一流表规则,接收第一发送终端发送的第一媒体流数据,并将所述第一媒体流数据
4、接收所述目标终端发送的切换请求,并根据所述切换请求确定第二流表规则,根据所述第二流表规则,将接收的所述第一发送终端发送的第一媒体流数据切换成接收第二发送终端发送的第二媒体流数据,其中,所述第二流表规则用于指示所述交换机接收所述第一媒体流数据和所述第二媒体流数据,并对所述第一媒体流数据和所述第二媒体流数据进行切换;
5、当切换完成后,根据第三流表规则,接收第二发送终端发送的第二媒体流数据,并将所述第二媒体流数据发送至所述目标终端,其中,所述第三流表规则用于指示所述交换机仅接收第二发送终端发送的第二媒体流数据。
6、可选地,所述接收所述目标终端发送的切换请求,并根据所述切换请求确定第二流表规则,根据所述第二流表规则,将接收的第一发送终端发送的第一媒体流数据切换成接收第二发送终端发送的第二媒体流数据,包括:
7、在接收到所述目标终端发送的切换请求后,获取当前时刻的第一数据包包序和第二数据包包序,其中,所述第一数据包包序为第一发送终端发送的第一媒体流数据的当前时刻的数据包包序,所述第二数据包包序为第二发送终端发送的第二媒体流数据的当前时刻的数据包包序;
8、当检测到所述第一数据包包序为第一视频帧的首个数据包的情况下,对所述第二数据包包序进行检测;所述第一视频帧为所述第一媒体流数据的视频帧;
9、当检测到所述第二数据包包序为第二视频帧的首个数据包的情况下,确定将所述第一媒体流数据切换成第二媒体流数据的切换完成;所述第二视频帧为所述第二媒体流数据的视频帧。
10、可选地,所述当切换完成后,根据第三流表规则,接收第二发送终端发送的第二媒体流数据,并将所述第二媒体流数据发送至所述目标终端,包括:
11、当切换完成后,根据第三流表规则,将从所述第二媒体流数据的第二视频帧的首个数据包开始的媒体流数据发送至所述目标终端。
12、可选地,在所述在接收到所述目标终端发送的切换请求后,获取当前时刻的第一数据包包序和第二数据包包序之后,所述方法还包括:
13、在所述第一数据包包序不是第一视频帧的首个数据包,且第二数据包包序为第二视频帧的首个数据包的情况下,将与所述第二数据包包序对应的数据包存储在缓存队列中;
14、当检测到所述第一数据包包序为第一视频帧的首个数据包的情况下,将缓存在缓存队列中的数据包进行发送,并将从接收到的与所述第一视频帧的首个数据包对应的第二媒体流数据中的第三数据包发送至所述目标终端。
15、第二个方面,本专利技术实施例提供一种媒体流切换装置,所述装置包括:
16、接收模块,用于根据第一流表规则,接收第一发送终端发送的第一媒体流数据,并将所述第一媒体流数据发送至目标终端;其中,所述第一流表规则用于指示交换机仅接收第一发送终端发送的媒体流数据;
17、切换模块,用于接收所述目标终端发送的切换请求,并根据所述切换请求确定第二流表规则,根据所述第二流表规则,将接收的第一发送终端发送的第一媒体流数据切换成接收第二发送终端发送的第二媒体流数据,其中,所述第二流表规则用于指示所述交换机接收第一媒体流数据和第二媒体流数据,并对所述第一媒体流数据和第二媒体流数据进行切换;
18、发送模块,用于当切换完成后,根据第三流表规则,接收第二发送终端发送的第二媒体流数据,并将所述第二媒体流数据发送至所述目标终端,其中,所述第三流表规则用于指示所述交换机仅接收第二发送终端发送的第二媒体流数据。
19、可选地,所述切换模块用于:
20、在接收到所述目标终端发送的切换请求后,获取当前时刻的第一数据包包序和第二数据包包序,其中,所述第一数据包包序为第一发送终端发送的第一媒体流数据的当前时刻的数据包包序,所述第二数据包包序为第二发送终端发送的第二媒体流数据的当前时刻的数据包包序;
21、当检测到所述第一数据包包序为第一视频帧的首个数据包的情况下,对所述第二数据包包序进行检测;所述第一视频帧为所述第一媒体流数据的视频帧;
22、当检测到所述第二数据包包序为第二视频帧的首个数据包的情况下,确定将所述第一媒体流数据切换成第二媒体流数据的切换完成;所述第二视频帧为所述第二媒体流数据的视频帧。
23、可选地,所述发送模块用于:
24、当切换完成后,根据第三流表规则,将从所述第二媒体流数据的第二视频帧的首个数据包开始的媒体流数据发送至所述目标终端。
25、可选地,所述切换模块还用于:
26、在所述第一数据包包序不是第一视频帧的首个数据包,且第二数据包包序为第二视频帧的首个数据包的情况下,将与所述第二数据包包序对应的数据包存储在缓存队列中;
27、当检测到所述第一数据包包序为第一视频帧的首个数据包的情况下,将缓存在缓存队列中的数据包进行发送,并将从接收到的与所述第一视频帧的首个数据包对应的第二媒体流数据中的第三数据包发送至所述目标终端。
28、第三个方面,本专利技术实施例提供一种终端设备,包括:至少一个处理器和存储器;
29、所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的媒体流切换方法。
30、第四个方面,本专利技术实施例提供一种计算机可读存储介质,该计算本文档来自技高网...
【技术保护点】
1.媒体流切换方法,其特征在于,所述方法包括:
2.根据权利要求1所述的媒体流切换方法,其特征在于,所述接收所述目标终端发送的切换请求,并根据所述切换请求确定第二流表规则,根据所述第二流表规则,将接收的第一发送终端发送的第一媒体流数据切换成接收第二发送终端发送的第二媒体流数据,包括:
3.根据权利要求2所述的媒体流切换方法,其特征在于,所述当切换完成后,根据第三流表规则,接收第二发送终端发送的第二媒体流数据,并将所述第二媒体流数据发送至所述目标终端,包括:
4.根据权利要求2所述的媒体流切换方法,其特征在于,在所述在接收到所述目标终端发送的切换请求后,获取当前时刻的第一数据包包序和第二数据包包序之后,所述方法还包括:
5.媒体流切换装置,其特征在于,所述装置包括:
6.根据权利要求5所述的媒体流切换装置,其特征在于,所述切换模块用于:
7.根据权利要求6所述的媒体流切换装置,其特征在于,所述发送模块用于:
8.根据权利要求6所述的媒体流切换装置,其特征在于,所述切换模块还用于:
9.一
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-4中任一项所述的媒体流切换方法。
...【技术特征摘要】
1.媒体流切换方法,其特征在于,所述方法包括:
2.根据权利要求1所述的媒体流切换方法,其特征在于,所述接收所述目标终端发送的切换请求,并根据所述切换请求确定第二流表规则,根据所述第二流表规则,将接收的第一发送终端发送的第一媒体流数据切换成接收第二发送终端发送的第二媒体流数据,包括:
3.根据权利要求2所述的媒体流切换方法,其特征在于,所述当切换完成后,根据第三流表规则,接收第二发送终端发送的第二媒体流数据,并将所述第二媒体流数据发送至所述目标终端,包括:
4.根据权利要求2所述的媒体流切换方法,其特征在于,在所述在接收到所述目标终端发送的切换请求后,获取当前时刻的...
【专利技术属性】
技术研发人员:田元歆,刚勇,孙宇,刘晶,
申请(专利权)人:中仪英斯泰克科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。