本技术属于互联网,尤其涉及一种视频处理方法、装置、电子设备及存储介质。
背景技术:
1、目前,在多种视频场景中,均存在多路视频混合回传的情况。例如,视频会议、在线课堂和多端直播场景等。
2、在这些场景中,服务器需要接收多个终端发送的多路源视频,然后将多路源视频处理后再下发至各个终端。由于各个终端发送的源视频的格式和帧数存在区别,服务器需要向每个终端发送与其性能相适应的视频,这会占用大量传输资源。
3、因此,目前的视频传输方案中传输成本高且传输效率低。
技术实现思路
1、本技术实施例提供一种视频处理方法、装置、设备及存储介质,能够解决目前视频传输方案中传输成本高且传输效率低。
2、第一方面,本技术实施例提供一种视频处理方法,该方法包括:
3、接收n个终端发送的视频播放请求,每个视频播放请求包括:第一视频,n为大于1的正整数;
4、响应于所述视频播放请求,将每个所述第一视频转换为第一视频流数据包,所述第一视频流数据包,包括第一视频帧和每个所述第一视频帧的时间戳;
5、将n个所述第一视频流数据包,分别转换为n个第二视频流数据包;任意两个所述第二视频流数据包中的第二视频帧的数量相一致;
6、基于所述时间戳,根据n个所述第二视频流数据包合成目标数据包;
7、向n个所述终端输出所述目标数据包。
8、可选地,响应于所述视频播放请求,将每个所述第一视频转换为第一视频流数据包,包括:
9、将每个所述第一视频拆分为实时传输协议rtp数据包,所述rtp数据包,包括:音频流数据包、所述第一视频流数据包和字幕流数据包。
10、可选地,将n个所述第一视频流数据包,分别转换为n个第二视频流数据包,包括:
11、解析所述视频播放请求,得到预设视频帧数量;
12、对于n个所述第一视频流数据包中的任一所述第一视频流数据包,根据所述第一视频流数据包中的第一视频帧的数量和所述预设视频帧数量,对所述第一视频流数据包进行处理,得到第二视频流数据包,所述第二视频流数据包,包括所述预设视频帧数量的第二视频帧。
13、可选地,根据所述第一视频流数据包中的第一视频帧的数量和所述预设视频帧数量,对所述第一视频流数据包进行处理,得到第二视频流数据包,包括:
14、在所述第一视频帧的数量大于所述预设视频帧数量的情况下,从所述第一视频流数据包中删除h个第一视频帧,得到所述第二视频流数据包;所述h为所述第一视频帧的数量与所述预设视频帧数量之差;
15、在所述第一视频帧的数量小于所述预设视频帧数量的情况下,将r个第一视频帧复制到所述第一视频流数据包中,得到所述第二视频流数据包;所述r为所述预设视频帧数量与所述第一视频帧的数量之差。
16、可选地,基于所述时间戳,根据n个所述第二视频流数据包合成目标数据包,包括:
17、根据n个所述第二视频流数据包,生成一个目标视频流数据包;
18、基于所述时间戳,根据所述目标视频流数据包、n个所述音频流数据包和所述n个字幕流数据包,生成目标数据包。
19、可选地,根据n个所述第二视频流数据包,生成一个目标视频流数据包,包括:
20、基于所述时间戳、位置信息和尺寸信息,将n个所述第二视频流数据包中的视频帧进行拼接,生成一个所述目标视频流数据包;所述视频播放请求包括:所述位置信息和所述尺寸信息。
21、可选地,基于所述时间戳,根据n个所述第二视频流数据包合成目标数据包,包括:
22、基于所述时间戳,将n个所述第二视频流数据包合成目标视频;
23、将所述目标视频封装为预设格式的目标数据包,以用于所述终端在接收到所述目标数据包的情况下,对所述预设格式的目标数据包进行解析,得到预设格式的所述目标视频。
24、第二方面,本技术实施例提供一种视频处理装置,视频处理装置包括:
25、接收模块,用于接收n个终端发送的视频播放请求,每个视频播放请求包括:第一视频,n为大于1的正整数;
26、转换模块,用于响应于所述视频播放请求,将每个所述第一视频转换为第一视频流数据包,所述第一视频流数据包,包括第一视频帧和每个所述第一视频帧的时间戳;
27、所述转换模块,还用于将n个所述第一视频流数据包,分别转换为n个第二视频流数据包;任意两个所述第二视频流数据包中的第二视频帧的数量相一致;
28、合成模块,用于基于所述时间戳,根据n个所述第二视频流数据包合成目标数据包;
29、输出模块,用于向n个所述终端输出所述目标数据包。
30、可选地,转换模块,具体用于:
31、将每个第一视频拆分为实时传输协议rtp数据包,rtp数据包,包括:音频流数据包、第一视频流数据包和字幕流数据包。
32、可选地,转换模块,具体用于:
33、解析视频播放请求,得到预设视频帧数量;
34、对于n个第一视频流数据包中的任一第一视频流数据包,根据第一视频流数据包中的第一视频帧的数量和预设视频帧数量,对第一视频流数据包进行处理,得到第二视频流数据包,第二视频流数据包,包括预设视频帧数量的第二视频帧。
35、可选地,转换模块,具体用于:
36、在第一视频帧的数量大于预设视频帧数量的情况下,从第一视频流数据包中删除h个第一视频帧,得到第二视频流数据包;h为第一视频帧的数量与预设视频帧数量之差;
37、在第一视频帧的数量小于预设视频帧数量的情况下,将r个第一视频帧复制到第一视频流数据包中,得到第二视频流数据包;r为预设视频帧数量与第一视频帧的数量之差。
38、可选地,合成模块,具体用于:
39、根据n个第二视频流数据包,生成一个目标视频流数据包;
40、基于时间戳,根据目标视频流数据包、n个音频流数据包和n个字幕流数据包,生成目标数据包。
41、可选地,合成模块,具体用于:
42、基于时间戳、位置信息和尺寸信息,将n个第二视频流数据包中的视频帧进行拼接,生成一个目标视频流数据包;视频播放请求包括:位置信息和尺寸信息。
43、可选地,合成模块,具体用于:
44、基于时间戳,将n个第二视频流数据包合成目标视频;
45、将目标视频封装为预设格式的目标数据包,以用于终端在接收到目标数据包的情况下,对预设格式的目标数据包进行解析,得到预设格式的目标视频。
46、第三方面,本技术实施例提供了一种电子设备,该设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时,实现如第一方面或者第一方面的任一可能实现方式中的方法。
47、第四方面,本技术实施例提供了一种可读存储介质,该计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面或者第一方面的任一可能实现方式中的方法。
48、本技术实施例中,通过接收n个终端发送的视频播放请求,每个视频播放请求包括:第一视频;响应于视频播放请求,将每个第一视频转换为第一视频流数据包,第一视频流数据包,包括第一视频帧和每个第一视频帧的时间戳;由于每个终端发送的第一视频的帧数存在区别,在传输过程中,需要占用n份存储资源和传输资源,因此,将n个第一视频流数据包,分别转换为n个第二视频流数据包;任意两个第二视频流数据包中的第二视频帧的数量相一致;本技术的实施例,能够将各个终端发来的帧数不同的第一视频转换为帧数相同的第二视频流数据包。然后,基于时间戳,根据n个第二视频流数据包合成目标数据包,无需占用n份存储资源和传输资源,目标数据包只需占用一份存储资源和传输资源,由此,向n个终端输出目标数据包,能够减少网络带宽的消耗,提升视频传输效率。
1.一种视频处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述响应于所述视频播放请求,将每个所述第一视频转换为第一视频流数据包,包括:
3.根据权利要求1所述的方法,其特征在于,所述将n个所述第一视频流数据包,分别转换为n个第二视频流数据包,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一视频流数据包中的第一视频帧的数量和所述预设视频帧数量,对所述第一视频流数据包进行处理,得到第二视频流数据包,包括:
5.根据权利要求2所述的方法,其特征在于,所述基于所述时间戳,根据n个所述第二视频流数据包合成目标数据包,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据n个所述第二视频流数据包,生成一个目标视频流数据包,包括:
7.根据权利要求1所述的方法,其特征在于,所述基于所述时间戳,根据n个所述第二视频流数据包合成目标数据包,包括:
8.一种视频处理装置,其特征在于,所述视频处理装置包括:
9.一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如权利要求1-7任一项所述视频处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任一项所述视频处理方法。
