直播数据处理方法及设备技术

技术编号:28464121 阅读:22 留言:0更新日期:2021-05-15 21:29
本公开实施例提供一种直播数据处理方法及设备,包括:主播终端的录屏进程获取主播终端的屏幕数据,并通过录屏进程的套接字将屏幕数据写入文件管道中;主播终端的内核进程通过主播终端的直播应用进程的套接字,将文件管道中的屏幕数据发送给直播应用进程,录屏进程和直播应用进程属于同一分组,录屏进程的套接字和直播应用进程的套接字对应同一文件描述符,文件描述符对应文件管道;直播应用进程将屏幕数据发送给接入主播终端的直播间的观众终端。本公开实施例可以通过直播应用进程进行推流,由于直播应用进程是应用级别的进程,其分配的资源较多,从而可以有效避免推流时资源不足的情况,使得推流顺利实现,有助于减少直播卡顿甚至中断。甚至中断。甚至中断。

【技术实现步骤摘要】
直播数据处理方法及设备


[0001]本公开实施例涉及计算机
,尤其涉及一种直播数据处理方法及设备。

技术介绍

[0002]直播是主播与观众通过视频进行互动的一种方式,而录屏直播是对主播所使用的终端设备(后续称为主播终端)进行屏幕录制的一种直播方式。在录屏直播的过程中,观众可以通过其使用的终端设备(后续称为观众终端)看到主播终端的屏幕。
[0003]现有技术中,在使用苹果操作系统(iphone operating system,IOS)的主播终端中,扩展(extension)进程通过系统中的官方库(ReplayKit)录制屏幕数据,并将该屏幕数据推送给内容分发服务器。内容分发服务器将该屏幕数据发送给接入该主播终端的直播间的观众终端,观众终端可以播放该屏幕数据以实现录屏直播。
[0004]但是,上述方案存在直播卡顿甚至中断的问题。

技术实现思路

[0005]本公开实施例提供一种直播数据处理方法及设备,以克服现有直播卡顿甚至中断的问题。
[0006]第一方面,本公开实施例提供一种直播数据处理方法,应用于主播终端,包括:
[0007]主播终端的录屏进程获取主播终端的屏幕数据,并通过录屏进程的套接字将屏幕数据写入文件管道中;
[0008]主播终端的内核进程通过主播终端的直播应用进程的套接字,将文件管道中的屏幕数据发送给直播应用进程,录屏进程和直播应用进程属于同一分组,录屏进程的套接字和直播应用进程的套接字对应同一文件描述符,文件描述符对应文件管道;
[0009]直播应用进程将屏幕数据发送给接入所述主播终端的直播间的观众终端。
[0010]第二方面,本公开实施例提供一种主播终端,包括:录屏进程、内核进程和直播应用进程;
[0011]其中,主播终端的录屏进程用于获取主播终端的屏幕数据,并通过录屏进程的套接字将屏幕数据写入文件管道中;
[0012]主播终端的内核进程用于通过主播终端的直播应用进程的套接字,将文件管道中的屏幕数据发送给直播应用进程,录屏进程和直播应用进程属于同一分组,录屏进程的套接字和直播应用进程的套接字对应同一文件描述符,文件描述符对应文件管道;
[0013]直播应用进程用于将屏幕数据发送给接入所述主播终端的直播间的观众终端。
[0014]第三方面,本公开实施例提供一种主播终端,包括:至少一个处理器和存储器;
[0015]所述存储器存储计算机执行指令;
[0016]所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述主播终端实现如前述第一方面的方法。
[0017]第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介
质中存储有计算机执行指令,当计算机执行指令被计算设备执行时,使得计算设备实现如前述第一方面的方法。
[0018]本实施例提供的直播数据处理及设备,应用于主播终端,该方法包括:主播终端的录屏进程获取主播终端的屏幕数据,并通过录屏进程的套接字将屏幕数据写入文件管道中;主播终端的内核进程通过主播终端的直播应用进程的套接字,将文件管道中的屏幕数据发送给直播应用进程,录屏进程和直播应用进程属于同一分组,录屏进程的套接字和直播应用进程的套接字对应同一文件描述符,文件描述符对应文件管道;直播应用进程将屏幕数据发送给接入所述主播终端的直播间的观众终端。本公开实施例可以通过直播应用进程进行推流,由于直播应用进程是应用级别的进程,其分配的资源较多,从而可以有效避免推流时资源不足的情况,使得推流顺利实现,有助于减少直播卡顿甚至中断。
附图说明
[0019]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1示例性示出了本公开实施例提供的一种视频直播场景示意图;
[0021]图2示例性示出了本公开实施例提供的一种直播数据处理方法的步骤流程图;
[0022]图3示例性示出了本公开实施例提供的一种发送进程发送数据的流程示意图;
[0023]图4示例性示出了本公开实施例提供的一种接收进程接收数据的流程示意图;
[0024]图5为本公开实施例提供的一种进程间发送的数据包的结构示意图;
[0025]图6为本公开实施例提供的一种主播终端的结构示意图;
[0026]图7为本公开实施例提供的一种主播终端的具体硬件结构示意图。
具体实施方式
[0027]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0028]本公开实施例可以应用于直播场景,在直播过程中,一个或多个主播通过视频的方式与一个或多个观众进行交流,每个主播使用一个主播终端,每个观众使用一个观众终端。在一次直播过程中由主播开启一个直播间,观众终端可以接入该直播间,与该直播间的主播进行交流。参照图1,示例性的给出了一种视频直播场景中视频数据和音频数据的传输示意图。图1中示出了4个终端设备:TE1、TE2、TE3和TE4和CDN(content delivery network,内容分发服务器),其中,TE1为主播终端,TE2、TE3和TE4为三个观众分别对应的观众终端。在直播过程中,TE1录制主播的视频数据VD和音频数据AD,并将VD和AD发送给CDN;CDN将VD和AD分别发送给TE2、TE3和TE4,TE2、TE3和TE4接收到CDN发送的VD和AD后,进行解析并同步播放该VD和AD,以使观众可以看到主播、主播所展示的物品、主播所在环境、听到主播的声音、主播所播放的音乐。
[0029]上述视频数据和音频数据可以是主播终端通过屏幕录制得到的屏幕数据。现有技术中,在使用IOS的主播终端中,extension进程通过系统中的ReplayKit录制屏幕数据,并将该屏幕数据推送给内容分发服务器。内容分发服务器将该屏幕数据发送给接入该主播终端的直播间的观众终端,观众终端可以播放该屏幕数据以实现录屏直播。
[0030]然而,由于IOS系统为extension进程分配的资源有限,从而extension进程在进行推流的过程中容易出现extension进程资源不足的情况,进而extension进程推流延迟甚至失败,最终导致直播卡顿甚至中断的问题。其中,推流是指将屏幕数据发送给接入该主播终端的直播间的观众终端的过程。
[0031]为了解决上述问题,可以考虑将推流过程从资源受限的extension进程上迁移到其余资源较多的进程中,并且还需要避免主播终端上运行的进程数目较多对主本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种直播数据处理方法,其特征在于,应用于主播终端,包括:所述主播终端的录屏进程获取所述主播终端的屏幕数据,并通过所述录屏进程的套接字将所述屏幕数据写入文件管道中;所述主播终端的内核进程通过所述主播终端的直播应用进程的套接字,将所述文件管道中的所述屏幕数据发送给所述直播应用进程,所述录屏进程和所述直播应用进程属于同一分组,所述录屏进程的套接字和所述直播应用进程的套接字对应同一文件描述符,所述文件描述符对应所述文件管道;所述直播应用进程将所述屏幕数据发送给接入所述主播终端的直播间的观众终端。2.根据权利要求1所述的方法,其特征在于,还包括:所述直播应用进程调用所述主播终端的麦克风录制环境音频数据;所述直播应用进程将所述环境音频数据发送给所述观众终端。3.根据权利要求2所述的方法,其特征在于,所述屏幕数据包括屏幕音频数据和屏幕视频数据,所述屏幕音频数据和所述环境音频数据中均包括至少一帧音频数据,所述屏幕视频数据中包括至少一帧图像数据,所述音频数据和所述图像数据均对应有时间戳,所述时间戳用于同步播放所述屏幕音频数据、所述环境音频数据和所述图像数据。4.根据权利要求1所述的方法,其特征在于,所述屏幕数据包括屏幕视频数据和屏幕音频数据,所述直播应用进程将所述屏幕数据发送给接入所述主播终端的直播间的观众终端,包括:所述直播应用进程调用所述主播终端的麦克风录制环境音频数据;所述直播应用进程将所述屏幕音频数据和所述环境音频数据混音得到混音数据;所述直播应用进程将所述混音数据和所述屏幕视频数据发送给接入所述主播终端的直播间的观众终端。5.根据权利要求4所述的方法,其特征在于,所述混音数据包括至少一帧音频数据,所述屏幕视频数据中包括至少一帧图像数据,所述音频数据和所述图像数据均对应有时间戳,所述时间戳用于同步...

【专利技术属性】
技术研发人员:白添滨
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

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

1