视频推送方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:23628784 阅读:29 留言:0更新日期:2020-03-31 23:56
本发明专利技术实施例提供一种视频推送方法、装置、电子设备及计算机可读存储介质,涉及数据处理领域。所述方法包括:对视频流进行视频编码,得到编码流;在所述编码流中确定待填充帧;确定所述待填充帧需要填充的第一字节数;在所述待填充帧的起始码之前,填充数量为所述第一字节数的填充字节;所述填充字节的值与所述起始码的值不同;将填充后的编码流封装,并推送至视频播放端。本发明专利技术从很大程度上避免了实时推送的编码流因为码率波动较大,导致的在播放端上播放异常的问题,改善了编码流在视频播放端的播放效果。在编码流中待填充帧起始码之前,填充与起始码的值不同的填充字节,不会改变播放内容,也无需更改编码协议、封装协议等,适用范围广。

【技术实现步骤摘要】
视频推送方法、装置、电子设备及计算机可读存储介质
本专利技术涉及数据处理领域,特别是涉及一种视频推送方法、装置、电子设备及计算机可读存储介质。
技术介绍
视频制作方制作的视频,通常需要推送至视频播放端进行播放,进而实现视频的传播。目前视频制作方主要采用实时推送实时编码后的编码流的方式,向视频播放端推送视频,以避免视频泄露。但是,现有技术中实时编码后的编码流存在较大的码率波动,然而,播放端对码流波动较为敏感,使得实时推送的编码流容易在播放端中出现播放异常。
技术实现思路
本专利技术实施例的目的在于提供一种视频推送方法、装置、电子设备及计算机可读存储介质,以解决实时推送的编码流容易在播放端播放异常的问题。具体技术方案如下:在本专利技术实施的第一方面,首先提供了一种视频推送方法,应用于视频推送端,所述方法包括:对视频流进行视频编码,得到编码流;在所述编码流中确定待填充帧;确定所述待填充帧需要填充的第一字节数;在所述待填充帧的起始码之前,填充数量为所述第一字节数的填充字节;所述填充字节的值与所述起始码的值不同;将填充后的编码流封装,并推送至视频播放端。可选的,所述在所述编码流中确定待填充帧,包括:获取所述编码流中每一帧的第二字节数;在所述第二字节数小于预设字节数的情况下,将所述第二字节数对应的帧,确定为所述编码流中的待填充帧;所述确定所述待填充帧需要填充的第一字节数,包括:用所述预设字节数减去所述第二字节数,得到所述待填充帧需要填充的第一字节数。可选的,所述在所述编码流中确定待填充帧,包括:获取预设时段内的所述编码流中每一帧的第三字节数;确定所述预设时段内的所述编码流中当前帧对应的累积剩余字节数;所述当前帧对应的所述累积剩余字节数为:所述预设时段内,所述当前帧时序之前的所有帧剩余的字节数;将所述当前帧对应的所述第三字节数与所述当前帧对应的所述累积剩余字节数求和,得到第一和值;在所述第一和值小于预设字节数的情况下,将所述第三字节数对应的当前帧确定为待填充帧;所述确定所述待填充帧需要填充的第一字节数,包括:用所述预设字节数减去所述第一和值,得到所述待填充帧需要填充的第一字节数。可选的,所述确定所述预设时段内的所述编码流中当前帧对应的累积剩余字节数,包括:确定所述预设时段内,所述当前帧时序之前的所有帧的第三字节数的总和;确定所述预设时段内,所述当前帧时序之前的所有待填充帧分别需要填充的第一字节数的总和;用所述预设字节数,乘以所述预设时段内所述当前帧时序之前的所有帧的总帧数,得到总预设字节数;将所述当前帧对应的第三字节数的总和与所述当前帧对应的第一字节数的总和求和,得到第二和值;用所述当前帧对应的第二和值减去所述当前帧对应的总预设字节数,得到所述当前帧对应的所述累积剩余字节数。可选的,所述在所述编码流中确定待填充帧,包括:获取预设时段内的所述编码流的第四总字节数;用预设字节数乘以所述预设时段内的所述编码流的总帧数,得到第五总字节数;在所述第五总字节数大于所述第四总字节数的情况下,将所述预设时段内所述编码流中的一帧或多帧,确定为待填充帧;所述确定所述待填充帧需要填充的第一字节数,包括:用所述第五总字节数减去所述第四总字节数,得到所述预设时段内的所述编码流需要填充的第六总字节数;将所述预设时段内的所述编码流需要填充的第六总字节数,分配给所述预设时段内的所述编码流中的所有待填充帧,得到所述预设时段内的所述编码流中所述待填充帧需要填充的第一字节数。在本专利技术实施的第二方面,还提供了一种视频推送装置,应用于视频推送端,所述装置包括:视频编码模块,用于对视频流进行视频编码,得到编码流;待填充帧确定模块,用于在所述编码流中确定待填充帧;第一字节数确定模块,用于确定所述待填充帧需要填充的第一字节数;填充模块,用于在所述待填充帧的起始码之前,填充数量为所述第一字节数的填充字节;所述填充字节的值与所述起始码的值不同;推送模块,用于将填充后的编码流封装,并推送至视频播放端。可选的,所述待填充帧确定模块,包括:第二字节数获取单元,用于获取所述编码流中每一帧的第二字节数;待填充帧第一确定单元,用于在所述第二字节数小于预设字节数的情况下,将所述第二字节数对应的帧,确定为所述编码流中的待填充帧;所述第一字节数确定模块,包括:第一字节数第一确定单元,用于用所述预设字节数减去所述第二字节数,得到所述待填充帧需要填充的第一字节数。可选的,所述待填充帧确定模块,包括:第三字节数获取单元,用于获取预设时段内的所述编码流中每一帧的第三字节数;累积剩余字节数确定单元,用于确定所述预设时段内的所述编码流中当前帧对应的累积剩余字节数;所述当前帧对应的所述累积剩余字节数为:所述预设时段内,所述当前帧时序之前的所有帧剩余的字节数;第一和值确定单元,用于将所述当前帧对应的所述第三字节数与所述当前帧对应的所述累积剩余字节数求和,得到第一和值;待填充帧第二确定单元,用于在所述第一和值小于预设字节数的情况下,将所述第三字节数对应的当前帧确定为待填充帧;所述第一字节数确定模块,包括:第一字节数第二确定单元,用于用所述预设字节数减去所述第一和值,得到所述待填充帧需要填充的第一字节数。可选的,所述累积剩余字节数确定单元,包括:第三字节数的总和确定子单元,用于确定所述预设时段内,所述当前帧时序之前的所有帧的第三字节数的总和;第一字节数的总和确定子单元,用于确定所述预设时段内,所述当前帧时序之前的所有待填充帧分别需要填充的第一字节数的总和;总预设字节数确定子单元,用于用所述预设字节数,乘以所述预设时段内所述当前帧时序之前的所有帧的总帧数,得到总预设字节数;第二和值确定子单元,用于将所述当前帧对应的第三字节数的总和与所述当前帧对应的第一字节数的总和求和,得到第二和值;累积剩余字节数确定子单元,用于用所述当前帧对应的第二和值减去所述当前帧对应的总预设字节数,得到所述当前帧对应的所述累积剩余字节数。可选的,所述待填充帧确定模块,包括:第四总字节数获取单元,用于获取预设时段内的所述编码流的第四总字节数;第五总字节数确定单元,用于用预设字节数乘以所述预设时段内的所述编码流的总帧数,得到第五总字节数;待填充帧第三确定单元,用于在所述第五总字节数大于所述第四总字节数的情况下,将所述预设时段内所述编码流中的一帧或多帧,确定为待填充帧;所述第一字节数确定模块,可以包括:第六总字节数确定单元,用于用所述第五总字节数减去所述第四总字节数,得到所述预设时段内的所述编码流需要填充的第六总字节数;第一字节数第三确定单元,用于将所述预设时段内的所述编码流需要填充的第六总本文档来自技高网...

【技术保护点】
1.一种视频推送方法,其特征在于,应用于视频推送端,所述方法包括:/n对视频流进行视频编码,得到编码流;/n在所述编码流中确定待填充帧;/n确定所述待填充帧需要填充的第一字节数;/n在所述待填充帧的起始码之前,填充数量为所述第一字节数的填充字节;所述填充字节的值与所述起始码的值不同;/n将填充后的编码流封装,并推送至视频播放端。/n

【技术特征摘要】
1.一种视频推送方法,其特征在于,应用于视频推送端,所述方法包括:
对视频流进行视频编码,得到编码流;
在所述编码流中确定待填充帧;
确定所述待填充帧需要填充的第一字节数;
在所述待填充帧的起始码之前,填充数量为所述第一字节数的填充字节;所述填充字节的值与所述起始码的值不同;
将填充后的编码流封装,并推送至视频播放端。


2.根据权利要求1所述的方法,其特征在于,所述在所述编码流中确定待填充帧,包括:
获取所述编码流中每一帧的第二字节数;
在所述第二字节数小于预设字节数的情况下,将所述第二字节数对应的帧,确定为所述编码流中的待填充帧;
所述确定所述待填充帧需要填充的第一字节数,包括:
用所述预设字节数减去所述第二字节数,得到所述待填充帧需要填充的第一字节数。


3.根据权利要求1所述的方法,其特征在于,所述在所述编码流中确定待填充帧,包括:
获取预设时段内的所述编码流中每一帧的第三字节数;
确定所述预设时段内的所述编码流中当前帧对应的累积剩余字节数;所述当前帧对应的所述累积剩余字节数为:所述预设时段内,所述当前帧时序之前的所有帧剩余的字节数;
将所述当前帧对应的所述第三字节数与所述当前帧对应的所述累积剩余字节数求和,得到第一和值;
在所述第一和值小于预设字节数的情况下,将所述第三字节数对应的当前帧确定为待填充帧;
所述确定所述待填充帧需要填充的第一字节数,包括:
用所述预设字节数减去所述第一和值,得到所述待填充帧需要填充的第一字节数。


4.根据权利要求3所述的方法,其特征在于,所述确定所述预设时段内的所述编码流中当前帧对应的累积剩余字节数,包括:
确定所述预设时段内,所述当前帧时序之前的所有帧的第三字节数的总和;
确定所述预设时段内,所述当前帧时序之前的所有待填充帧分别需要填充的第一字节数的总和;
用所述预设字节数,乘以所述预设时段内所述当前帧时序之前的所有帧的总帧数,得到总预设字节数;
将所述当前帧对应的第三字节数的总和与所述当前帧对应的第一字节数的总和求和,得到第二和值;
用所述当前帧对应的第二和值减去所述当前帧对应的总预设字节数,得到所述当前帧对应的所述累积剩余字节数。


5.根据权利要求1所述的方法,其特征在于,所述在所述编码流中确定待填充帧,包括:
获取预设时段内的所述编码流的第四总字节数;
用预设字节数乘以所述预设时段内的所述编码流的总帧数,得到第五总字节数;
在所述第五总字节数大于所述第四总字节数的情况下,将所述预设时段内所述编码流中的一帧或多帧,确定为待填充帧;
所述确定所述待填充帧需要填充...

【专利技术属性】
技术研发人员:洪巨成
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1