直播推流处理方法及其装置、设备与介质制造方法及图纸

技术编号:30647084 阅读:19 留言:0更新日期:2021-11-04 00:57
本申请公开一种直播推流处理方法及其装置、设备与介质,所述方法包括:根据直播推流页面的配置信息获取视频帧;将所述视频帧缓存至共享缓冲区,获得其在该共享缓冲区中的寻址信息;将所述视频帧的寻址信息传递给所述直播推流页面,以控制所述直播推流页面根据所述寻址信息从所述共享缓冲区中加载相应的所述视频帧;向直播间推送直播流,所述直播流包含所述直播推流页面中加载的所述视频帧。本申请构造一种新型的视频帧传递方式,构造共享缓冲区用于存取视频帧,利用地址标识进行视频帧传递,代替传统的拷贝传递方式,降低设备的性能消耗,提升视频绘制的整体效率,提升直播间播放的视频画面与主播端采集的视频画面的输出同步率。步率。步率。

【技术实现步骤摘要】
直播推流处理方法及其装置、设备与介质


[0001]本申请涉及网络直播领域,尤其涉及一种直播推流处理方法,此外还涉及该方法相应的装置、设备以及非易失性存储介质。

技术介绍

[0002]现如今的网络直播平台提供相应的直播应用程序,供主播用户采集其设备中输出的应用程序的图形用户界面或摄像头所拍摄的视频画面,将采集所得数据渲染成视频帧,以将其作为直播流广播至直播间进行输出播放,使观众用户可通过直播间观看主播用户所采集的直播内容。
[0003]主播端中进行视频帧采集渲染的视频渲染模块一般是基于WebGL所构建,其将采集渲染所得的视频帧进行拷贝,将拷贝所得视频帧传递至直播间页面中进行输出播放,但如今随着网络及设备的升级,用户追求码率及分辨率更高的直播画面,这使得视频渲染模块所采集渲染的视频帧的文件大小越来越大,导致模块进行视频帧时,需花费较长的时间,使得直播间输出的视频画面无法与主播端所采集的视频画面形成同步输出,且需文件大小较大的复制拷贝,将消耗设备更多的性能,导致主播端的设备无法流畅地运行相应的应用程序进行直播,特别是面对需要消耗大量性能的游戏应用程序,若主播端设备无法流畅运行游戏应用程序进行直播,将大大降低直播效果。
[0004]鉴于各种现有直播应用程序所存在视频帧数据传递的问题,本申请人针对该问题做出相应的探索。

技术实现思路

[0005]本申请的目的在于满足用户需求而提供一种直播推流处理方法及其相应的装置、电子设备、非易失性存储介质。
[0006]为实现本申请的目的,采用如下技术方案:
[0007]适应本申请的目的之一而提出的一种直播推流处理方法,包括如下步骤:
[0008]根据直播推流页面的配置信息获取视频帧;
[0009]将所述视频帧缓存至共享缓冲区,获得其在该共享缓冲区中的寻址信息;
[0010]将所述视频帧的寻址信息传递给所述直播推流页面,以控制所述直播推流页面根据所述寻址信息从所述共享缓冲区中加载相应的所述视频帧;
[0011]向直播间推送直播流,所述直播流包含所述直播推流页面中加载的所述视频帧。
[0012]进一步的实施例中,根据直播推流页面的配置信息获取视频帧的步骤,包括:
[0013]在所述直播推流页面中显示应用列表,该应用列表中包含至少一个适于提供所述视频帧的应用程序;
[0014]响应作用于所述应用列表中任意一个应用程序的采集指令,以调用视频渲染模块对所述应用程序的图形用户界面进行视频采集渲染,以获取该视频渲染模块采集渲染所得的视频帧。
[0015]进一步的实施例中,根据直播推流页面的配置信息获取视频帧的步骤,包括:
[0016]响应视频获取指令,确定该视频获取指令所指向的本地缓存标识;
[0017]从设备的存储空间中获取该本地缓存标识所对应的视频数据,以从该视频数据中获取所述视频帧。
[0018]进一步的实施例中,根据直播推流页面的配置信息获取视频帧的步骤,包括:
[0019]响应直播推流页面的合成指令,确定该合成指令所指向的视频元素;
[0020]调用视频渲染模块,将所述视频元素合成至视频画面中所述合成指令所指定的合成位置;
[0021]获取已完成合成的视频帧。
[0022]进一步的实施例中,根据直播推流页面的配置信息获取视频帧的步骤中,调用视频渲染模块,根据所述配置信息进行视频渲染,以获取完成渲染的所述视频帧。
[0023]较佳的实施例中,将所述视频帧缓存至共享缓冲区,获得其在该共享缓冲区中的寻址信息的步骤,包括:
[0024]所述视频渲染模块将渲染所得的所述视频帧缓存至所述共享缓冲区中;
[0025]所述视频渲染模块确定所述视频帧在该共享缓冲区中的缓冲地址;
[0026]所述视频渲染模块将该缓冲地址封装为所述视频帧的所述寻址信息。
[0027]较佳的实施例中,将所述视频帧的寻址信息传递给所述直播推流页面,以控制所述直播推流页面根据所述寻址信息从所述共享缓冲区中加载相应的所述视频帧的步骤,包括:
[0028]所述直播推流页面中的浏览器内核接收由所述视频渲染模块推送的所述寻址信息;
[0029]所述浏览器内核根据所述寻址信息中包含的缓冲地址,从所述共享缓冲区中获取该缓冲地址所指向的视频帧;
[0030]所述浏览器内核将所述视频帧加载至所述直播推流页面的视频播放窗口中进行输出显示。
[0031]进一步的实施例中,将向直播间推送直播流,所述直播流包含所述直播推流页面中加载的所述视频帧的步骤,包括:
[0032]响应所述直播推流页面中的直播指令,确定该直播推流页面相对应的直播间;
[0033]将包含该直播推流页面中加载输出的所述视频帧的直播流推送至所述直播间相关联的服务器中进行广播;
[0034]以此类推,逐帧将包含所述视频帧作的直播流推送至该服务器中,驱动服务器将所述直播流广播至所述直播间中进行播放。
[0035]适应本申请的目的而提出的一种直播推流处理装置,其包括:
[0036]视频帧获取模块,用于根据直播推流页面的配置信息获取视频帧;
[0037]寻址信息获取模块,用于将所述视频帧缓存至共享缓冲区,获得其在该共享缓冲区中的寻址信息;
[0038]寻址信息传递模块,用于将所述视频帧的寻址信息传递给所述直播推流页面,以控制所述直播推流页面根据所述寻址信息从所述共享缓冲区中加载相应的所述视频帧;
[0039]直播流推送模块,用于向直播间推送直播流,所述直播流包含所述直播推流页面
中加载的所述视频帧。
[0040]进一步的实施例中,所述视频帧获取模块包括:
[0041]应用列表显示子模块,用于在所述直播推流页面中显示应用列表,该应用列表中包含至少一个适于提供所述视频帧的应用程序;
[0042]采集指令响应子模块,用于响应作用于所述应用列表中任意一个应用程序的采集指令,以调用视频渲染模块对所述应用程序的图形用户界面进行视频采集渲染,以获取该视频渲染模块采集渲染所得的视频帧。
[0043]较佳的实施例中,所述视频帧获取模块还包括:
[0044]视频获取指令响应子模块,用于响应视频获取指令,确定该视频获取指令所指向的本地缓存标识;
[0045]视频数据获取子模块,用于从设备的存储空间中获取该本地缓存标识所对应的视频数据,以从该视频数据中获取所述视频帧。
[0046]较佳的实施例中,所述视频帧获取模块还包括:
[0047]合成指令响应子模块,用于响应直播推流页面的合成指令,确定该合成指令所指向的视频元素;
[0048]视频元素合成子模块,用于调用视频渲染模块,将所述视频元素合成至视频画面中所述合成指令所指定的合成位置;
[0049]视频帧确定子模块,用于获取已完成合成的视频帧。
[0050]进一步的实施例中,所述寻址信息获取模块包括:
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种直播推流处理方法,其特征在于,包括如下步骤:根据直播推流页面的配置信息获取视频帧;将所述视频帧缓存至共享缓冲区,获得其在该共享缓冲区中的寻址信息;将所述视频帧的寻址信息传递给所述直播推流页面,以控制所述直播推流页面根据所述寻址信息从所述共享缓冲区中加载相应的所述视频帧;向直播间推送直播流,所述直播流包含所述直播推流页面中加载的所述视频帧。2.根据权利要求1所述的方法,其特征在于,根据直播推流页面的配置信息获取视频帧的步骤,包括:在所述直播推流页面中显示应用列表,该应用列表中包含至少一个适于提供所述视频帧的应用程序;响应作用于所述应用列表中任意一个应用程序的采集指令,以调用视频渲染模块对所述应用程序的图形用户界面进行视频采集渲染,以获取该视频渲染模块采集渲染所得的所述视频帧。3.根据权利要求1所述的方法,其特征在于,根据直播推流页面的配置信息获取视频帧的步骤,包括:响应视频获取指令,确定该视频获取指令所指向的本地缓存标识;从设备的存储空间中获取该本地缓存标识所对应的视频数据,以从该视频数据中获取所述视频帧。4.根据权利要求1所述的方法,其特征在于,根据直播推流页面的配置信息获取视频帧的步骤,包括:响应所述直播推流页面的合成指令,确定该合成指令所指向的视频元素;调用视频渲染模块,将所述视频元素合成至视频画面中所述合成指令所指定的合成位置;获取已完成合成的所述视频帧。5.根据权利要求1所述的方法,其特征在于,根据直播推流页面的配置信息获取视频帧的步骤中,调用视频渲染模块,根据所述配置信息进行视频渲染,以获取完成渲染的所述视频帧。6.根据权利要求5所述的方法,其特征在于,将所述视频帧缓存至共享缓冲区,获得其在该共享缓冲区中的寻址信息的步骤,包括:所述视频渲染模块将渲染所得的所述视频帧缓存至所述共享缓冲区中;所述视频渲染模块确定所述视频帧在该共享缓冲区中的缓冲地址;所述视频渲染模块将该缓冲地址封装为所述视频帧...

【专利技术属性】
技术研发人员:廖国光黄志义杨力群郭鹏飞郑潇洵黄煜
申请(专利权)人:广州方硅信息技术有限公司
类型:发明
国别省市:

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

1