本申请涉及视频传输,具体而言,涉及一种视频流传输方法、装置、电子设备及存储介质。
背景技术:
1、目前,随着实时视频传输技术的发展,多种行业开始采用视频流技术进行相关业务,进行例如直播、实名认证、用户人脸识别登录等业务。
2、在例如实名认证、用户人脸识别登录等场景中,相关技术中的客户端侧采用rtmp协议(real time messaging protocol,实时消息传输协议)来向服务器推送视频流,视频流的传输延迟较高,无法满足业务场景的实时性要求。
技术实现思路
1、本申请实施例的目的在于提供一种视频流传输方法、装置、电子设备及存储介质,用以降低视频流传输延迟。
2、第一方面,本申请实施例提供一种视频流传输方法,应用于流服务器,该方法包括:在客户端推送的视频流中获取关键帧;在获取首帧关键帧后,通过回调的方式向调度平台发送拉流通知;响应于所述调度平台发送的拉流请求,向所述调度平台发送所述视频流,以使所述调度平台根据业务需求对所述视频流进行相应处理。
3、在上述方案的实现过程中,在流服务器获取到首帧关键帧后即通知调度平台进行拉流,以使调度平台尽快对视频流进行相应处理,相较于相关技术中在视频流传输完成后再通知调度平台的方式,上述方案能够有效降低视频流传输延迟。
4、在第一方面的一种实现方式中,所述在客户端推送的视频流中获取关键帧,包括:对客户端推送的视频流进行gop编码;在进行gop编码后的所述视频流中获取关键帧。
5、在上述方案的实现过程中,采用gop编码的方式获取视频流中的关键帧,从而使得流服务器在获取首帧关键帧后即向调度平台发送拉流通知,以使调度平台尽快对视频流进行相应处理,有利于降低视频流传输延迟。
6、在第一方面的一种实现方式中,在所述在客户端推送的视频流中获取关键帧之前,所述方法还包括:基于黑场像素占比以及预设占比阈值,在客户端推送的视频流中确定黑屏帧;在所述视频流中剔除所述黑屏帧;
7、所述在客户端推送的视频流中获取关键帧,包括:在剔除所述黑屏帧后的视频流中获取关键帧。
8、在上述方案的实现过程中,通过识别视频流中的黑屏帧,并对黑屏帧进行剔除,从而大大降低调度平台获取到黑屏帧的概率,有利于改善上述视频流传输方法的视频流传输效率。
9、在第一方面的一种实现方式中,在所述在客户端推送的视频流中获取关键帧之前,所述方法还包括:响应于客户端发送的推流请求,向调度平台发送客户端校验通知;获取所述调度平台发送的客户端校验结果,若所述客户端校验结果为校验通过,则接收所述客户端推送的视频流。
10、在上述方案的实现过程中,流服务器在接收客户端发送的视频流之前,对客户端进行校验,在客户端通过校验后流服务器才会接收客户端发送的视频流,有利于改善上述视频流传输方法的安全性。
11、第二方面,本申请实施例提供一种视频流传输方法,应用于调度平台,该方法包括:响应于流服务器在获取首帧关键帧后所发送的拉流通知,解析所述拉流通知,获取拉流地址;根据所述拉流地址,向所述流服务器发送拉流请求;获取所述流服务器发送的视频流;根据业务需求对所述视频流进行相应处理。
12、在上述方案的实现过程中,在流服务器获取到首帧关键帧后即通知调度平台进行拉流,以使调度平台尽快对视频流进行相应处理,有利于降低视频流传输延迟。
13、在第二方面的一种实现方式中,在所述解析流服务器发送的拉流通知,获取拉流地址之前,所述方法还包括:响应于所述流服务器发送的客户端校验通知,解析所述客户端校验通知,获取待校验认证令牌;对所述待校验认证令牌进行校验,获取客户端校验结果;向所述流服务器反馈所述客户端校验结果。
14、在上述方案的实现过程中,流服务器在接收客户端发送的视频流之前,对客户端进行校验,在客户端通过校验后流服务器才会接收客户端发送的视频流,有利于改善上述视频流传输方法的安全性。
15、在第二方面的一种实现方式中,在所述响应于流服务器在获取首帧关键帧后所发送的拉流通知,解析所述拉流通知,获取拉流地址之前,所述方法还包括:响应于客户端发送的客户端认证请求,对所述客户端进行认证;若认证通过,则向所述客户端发送认证令牌。
16、在上述方案的实现过程中,客户端在通过调度平台的认证后才会获取到认证令牌,通过正确认证令牌才可以通过调度平台的客户端校验,有利于改善上述视频流传输方法的安全性。
17、第三方面,本申请实施例提供一种视频流传输装置,应用于流服务器,该装置包括:
18、关键帧获取模块,用于在客户端推送的视频流中获取关键帧;
19、拉流通知发送模块,用于在获取首帧关键帧后,通过回调的方式向调度平台发送拉流通知;
20、视频流发送模块,用于响应于所述调度平台发送的拉流请求,向所述调度平台发送所述视频流,以使所述调度平台根据业务需求对所述视频流进行相应处理。
21、第四方面,本申请实施例提供一种视频流传输装置,应用于调度平台,该装置包括:
22、拉流地址获取模块,用于响应于流服务器在获取首帧关键帧后所发送的拉流通知,解析所述拉流通知,获取拉流地址;
23、拉流请求发送模块,用于根据所述拉流地址,向所述流服务器发送拉流请求;
24、视频流获取模块,用于获取所述流服务器发送的视频流;
25、视频流处理模块,用于根据业务需求对所述视频流进行相应处理。
26、第五方面,本申请实施例提供一种电子设备,包括:处理器、存储器和通信总线,其中所述处理器和所述存储器通过所述通信总线完成相互间的通信;所述存储器中存储有可被所述处理器执行的计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式或第二方面或第二方面的任意一种可能的实现方式提供的方法。
27、第六方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式或第二方面或第二方面的任意一种可能的实现方式提供的方法。
28、本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
1.一种视频流传输方法,其特征在于,应用于流服务器,所述方法包括:
2.根据权利要求1所述的视频流传输方法,其特征在于,所述在客户端推送的视频流中获取关键帧,包括:
3.根据权利要求1所述的视频流传输方法,其特征在于,在所述在客户端推送的视频流中获取关键帧之前,所述方法还包括:
4.根据权利要求1所述的视频流传输方法,其特征在于,在所述在客户端推送的视频流中获取关键帧之前,所述方法还包括:
5.一种视频流传输方法,其特征在于,应用于调度平台,所述方法包括:
6.根据权利要求5所述的视频流传输方法,其特征在于,在所述响应于流服务器在获取首帧关键帧后所发送的拉流通知,解析所述拉流通知,获取拉流地址之前,所述方法还包括:
7.根据权利要求5所述的视频流传输方法,其特征在于,在所述响应于流服务器在获取首帧关键帧后所发送的拉流通知,解析所述拉流通知,获取拉流地址之前,所述方法还包括:
8.一种视频流传输装置,其特征在于,应用于流服务器,所述装置包括:
9.一种电子设备,其特征在于,包括:处理器、存储器和通信总线,其中,所述处理器和所述存储器通过所述通信总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1~4或5~7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1~4或5~7中任一项所述的方法。