本申请涉及音视频处理,具体指的是一种实时流切换方法、装置、电子设备和存储介质。
背景技术:
1、在目前广电行业中,播出系统为了保证播出的安全,每个输出频道会配置多个输入信号源(主、备、垫路),当遇到目前输入信号源异常,会触发切换机制,将输入信号源切换到另一个信号源。不同信号源的切换也普遍存在于一些基于ip(internet protocol)输入信号源的导播切换台或按照频道编单定时切换的播出频道。基于ip流的不同信号源切换,目前比较常见的实现方式有两种:一种是ip切换器方式直接硬切换信号ip流,这种方式会导致输出流在切换点出现解码的马赛克,输出流的时间戳跳跃,增加后端接收系统不稳定因素;另一种是sdi(serial digital interface,数字串行接口)切换器切换方式,通过解码器将信号先解码成sdi格式,然后再通过sdi切换器进行切换,这种方法虽然能够解决ip切换器方式存在的技术缺陷,但是需要较多的解码设备和编码设备,对设备的性能要求非常高,实现成本也非常高。
技术实现思路
1、为了解决上述技术缺陷之一,本申请实施例中提供了一种实时流切换方法、装置、电子设备和存储介质。
2、根据本申请实施例的第一个方面,提供了一种实时流切换方法,包括:
3、获取至少一路信号源,得到每一路所述信号源对应的视频压缩流和音频压缩流;
4、根据待切换信号源对应的所述视频压缩流,得到所述待切换信号源的关键帧;
5、根据所述关键帧,得到所述待切换信号源的视频时间戳和音频时间戳;
6、根据所述视频时间戳和所述音频时间戳,进行信号源切换。
7、作为一个实施例,所述获取至少一路信号源,得到每一路所述信号源对应的视频压缩流和音频压缩流,包括:
8、获取至少一路信号源;
9、对每一路所述信号源的容器层进行解析处理和剥离处理,得到每一路所述信号源对应的视频压缩流和音频压缩流。
10、作为一个实施例,所述根据待切换信号源对应的所述视频压缩流,得到所述待切换信号源的关键帧,包括:
11、基于所述视频压缩流对应的视频编解码协议对所述待切换信号源对应的所述视频压缩流进行解析,确定目标标识符;
12、根据所述目标标识符,得到所述待切换信号源的关键帧。
13、作为一个实施例,所述根据所述关键帧,得到所述待切换信号源的视频时间戳和音频时间戳,包括:
14、根据所述关键帧对应的关键帧时间戳,分别得到所述待切换信号源的视频时间戳和音频时间戳。
15、作为一个实施例,根据所述关键帧对应的关键帧时间戳,得到所述待切换信号源的视频时间戳,包括:
16、将所述关键帧对应的关键帧时间戳代入视频时间戳计算公式,得到所述待切换信号源的视频时间戳;
17、所述视频时间戳计算公式如下:
18、t_v=t_oldlast + (t_vnew–t_vnewstart);
19、其中,t_v为视频时间戳,t_oldlast为切换前最后的时间戳,t_vnew为切换后视频压缩流时间戳,t_vnewstart为关键帧时间戳。
20、作为一个实施例,根据所述关键帧对应的关键帧时间戳,得到所述待切换信号源的音频时间戳,包括:
21、将所述关键帧对应的关键帧时间戳代入音频时间戳计算公式,得到所述待切换信号源的音频时间戳;
22、所述音频时间戳计算公式如下:
23、t_a= t_oldlast + (t_anew – t_vnewstart);
24、t_a为音频时间戳,t_oldlast为切换前最后的时间戳,t_anew为切换后音频压缩流时间戳,t_vnewstart为关键帧时间戳。
25、作为一个实施例,所述根据所述视频时间戳和所述音频时间戳,进行信号源切换,包括:
26、根据所述关键帧,确定所述待切换信号源的视频压缩流的第一输出起点以及所述待切换信号源的音频压缩流的第二输出起点;
27、对所述第一输出起点之后的所述视频压缩流、所述第二输出起点之后的所述音频压缩流、所述视频时间戳和所述音频时间戳进行封装,得到待输出信号源,完成信号源切换。
28、根据本申请实施例的第二个方面,提供了一种实时流切换装置,包括:
29、获取模块,用于获取至少一路信号源,得到每一路所述信号源对应的视频压缩流和音频压缩流;
30、关键帧确定模块,用于根据待切换的所述信号源对应的所述视频压缩流,得到所述待切换信号源的关键帧;
31、时间戳确定模块,用于根据待切换的所述信号源对应的所述音频压缩流,得到与所述关键帧对应的时间戳;
32、切换模块,用于根据所述时间戳,进行信号源切换。
33、采用本申请实施例中提供的实时流切换方法、装置、电子设备和存储介质,获取至少一路信号源,得到每一路所述信号源对应的视频压缩流和音频压缩流;根据待切换信号源对应的所述视频压缩流,得到所述待切换信号源的关键帧;根据所述关键帧,得到所述待切换信号源的视频时间戳和音频时间戳;根据所述视频时间戳和所述音频时间戳,进行信号源切换。本申请实施例通过对待切换信号源对应的所述视频压缩流进行解析,确定待切换信号源的关键帧,重新计算切换点对应的视频时间戳和音频时间戳,确保能够在切换点进行无缝平滑切换,不会出现马赛克或卡顿现象,无需将ip信号源解码为sdi信号,节省了设备成本。
1.一种实时流切换方法,其特征在于,包括:
2.根据权利要求1所述的实时流切换方法,其特征在于,所述获取至少一路信号源,得到每一路所述信号源对应的视频压缩流和音频压缩流,包括:
3.根据权利要求1所述的实时流切换方法,其特征在于,所述根据待切换信号源对应的所述视频压缩流,得到所述待切换信号源的关键帧,包括:
4.根据权利要求1所述的实时流切换方法,其特征在于,所述根据所述关键帧,得到所述待切换信号源的视频时间戳和音频时间戳,包括:
5.根据权利要求4所述的实时流切换方法,其特征在于,根据所述关键帧对应的关键帧时间戳,得到所述待切换信号源的视频时间戳,包括:
6.根据权利要求4所述的实时流切换方法,其特征在于,根据所述关键帧对应的关键帧时间戳,得到所述待切换信号源的音频时间戳,包括:
7.根据权利要求1所述的实时流切换方法,其特征在于,所述根据所述视频时间戳和所述音频时间戳,进行信号源切换,包括:
8.一种实时流切换装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序;所述计算机程序被处理器执行以实现如权利要求1-7任一项所述的方法。