基于SRS的多进程直播方法、装置、电子设备以及存储介质制造方法及图纸

技术编号:34718932 阅读:20 留言:0更新日期:2022-08-31 18:03
本申请涉及一种基于SRS的多进程直播方法、装置、电子设备及存储介质,方法包括:获取通过预设的反代理监听端口接收的若干个直播推流请求以及对应的直播视频流数据;将若干个直播推流请求进行划分,获得若干组直播推流请求;将每组直播推流请求分配至对应的一个SRS进程,以分别通过各个SRS进程并行获取各组直播推流请求相应的直播推流地址对应的直播视频流数据,并将各组直播视频流数据并行进行存储,获取通过反代理监听端口接收的直播视频流播放请求;根据直播视频流播放请求,获取对应存储的直播视频流数据,并将直播视频流数据发送至对应的直播视频流播放请求客户端。将推流请求分配至后端的多个SRS进程,实现多线程的模拟,充分利用服务器资源。充分利用服务器资源。充分利用服务器资源。

【技术实现步骤摘要】
基于SRS的多进程直播方法、装置、电子设备以及存储介质


[0001]本申请涉及通信
,特别涉及一种基于SRS的多进程直播方法、装置、电子设备及存储介质。

技术介绍

[0002]SRS(Simple RTMP Server)是一款非常优秀的开源流媒体服务器软件,可用于直播/录播/视频客服等多种场景,其定位是运营级的互联网直播服务器集群。
[0003]对于大多数的小企业的直播业务,为了节约成本,满足直播需求,基本采用一台服务器来执行,具体的,通过SRS线程来实现直播视频流处理。然而,SRS本身只支持单线程,不支持多线程,在执行多个直播推流请求时,只能单独执行一个直播推流请求,导致无法充分利用多核,浪费服务器资源,且效率低下。

技术实现思路

[0004]基于此,本申请提供一种基于SRS的多进程直播方法、装置、电子设备及存储介质,通过设置反代理监听端口,将多个推流请求分配至后端的多个SRS进程,实现多线程的模拟,改善了单个SRS进程执行单个推流请求导致的效率低的问题,充分利用服务器资源。
[0005]作为本申请实施例的第一方面,提供一种基于SRS的多进程直播方法,包括以下步骤:
[0006]获取通过预设的反代理监听端口接收的若干个直播推流请求以及对应的直播视频流数据;其中,所述直播推流请求包括直播推流地址;所述直播视频流数据与所述直播推流地址一一对应;所述反代理监听端口配置有若干个监听子端口,每个监听子端口均配置有一个SRS进程;
[0007]将若干个所述直播推流请求进行划分,获得若干组直播推流请求;将每组直播推流请求分配至对应的一个所述SRS进程,以分别通过各个所述SRS进程并行获取各组所述直播推流请求相应的直播推流地址对应的直播视频流数据,并将各组所述直播视频流数据并行进行存储,其中,每组直播推流请求至少包括一个所述直播推流请求;
[0008]获取通过所述反代理监听端口接收的直播视频流播放请求;根据所述直播视频流播放请求,获取对应存储的直播视频流数据,并将所述直播视频流数据发送至对应的直播视频流播放请求客户端。
[0009]作为本申请实施例的第二方面,提供了一种基于SRS的多进程直播装置,包括:
[0010]数据获取模块,用于获取通过预设的反代理监听端口接收的若干个直播推流请求以及对应的直播视频流数据;其中,所述直播推流请求包括直播推流地址;所述直播视频流数据与所述直播推流地址一一对应;所述反代理监听端口配置有若干个监听子端口,每个监听子端口均配置有一个SRS进程;
[0011]数据存储模块,用于将若干个所述直播推流请求进行划分,获得若干组直播推流请求;将每组直播推流请求分配至对应的一个所述SRS进程,以分别通过各个所述SRS进程
并行获取各组所述直播推流请求相应的直播推流地址对应的直播视频流数据,并将各组所述直播视频流数据并行进行存储,其中,每组直播推流请求至少包括一个所述直播推流请求;
[0012]数据播放模块,用于获取通过所述反代理监听端口接收的直播视频流播放请求;根据所述直播视频流播放请求,获取对应存储的直播视频流数据,并将所述直播视频流数据发送至对应的直播视频流播放请求客户端。
[0013]作为本申请实施例的第三方面,提供了一种电子设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器与所述显示器、储存器连接;所述计算机程序被所述处理器执行时实现如第一方面所述的基于SRS的多进程直播方法的步骤。
[0014]作为本申请实施例的第四方面,提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的基于SRS的多进程直播方法的步骤。
[0015]在本申请的实施例中,通过设置反代理监听端口,将推流请求分配至后端的多个SRS进程,实现多线程的模拟,改善了单个SRS进程执行推流请求的效果,充分利用服务器资源,从而提高了直播的效率。
[0016]为了更好地理解和实施,下面结合附图详细说明本申请。
附图说明
[0017]图1为本申请一个实施例提供的基于SRS的多进程直播方法的应用场景示意图;
[0018]图2为本申请第一实施例提供的基于SRS的多进程直播方法的流程示意图;
[0019]图3为本申请第一实施例提供的基于SRS的多进程直播方法中S2的流程示意图;
[0020]图4为本申请第二实施例提供的基于SRS的多进程直播方法中S2的流程示意图;
[0021]图5为本申请第三实施例提供的基于SRS的多进程直播方法中S2的流程示意图;
[0022]图6为本申请第三实施例提供的基于SRS的多进程直播方法中S25的流程示意图;
[0023]图7为本申请第三实施例提供的基于SRS的多进程直播方法中S251的流程示意图;
[0024]图8为本申请第四实施例提供的基于SRS的多进程直播方法中S3的流程示意图;
[0025]图9为本申请第五实施例提供的基于SRS的多进程直播装置的结构示意图;
[0026]图10为本申请第五实施例提供的基于SRS的多进程直播装置的数据存储模块的结构示意图;
[0027]图11为本申请第五实施例提供的基于SRS的多进程直播装置的数据播放模块的结构示意图;
[0028]图12为本申请第六实施例提供的电子设备的结构示意图。
具体实施方式
[0029]为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例做进一步地详细描述。其中,下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。
[0030]应当明确,以下描述的实施例中所描述的实施方式并不代表与本申请相一致的所
有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。基于本申请实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0031]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况;字符“/”一般表示前后关联对象是一种“或”的关系。
[0032]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语,而且,这些术语仅用来区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。取决于语境,本申请所使用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SRS的多进程直播方法,其特征在于,包括:获取通过预设的反代理监听端口接收的若干个直播推流请求以及对应的直播视频流数据;其中,所述直播推流请求包括直播推流地址;所述直播视频流数据与所述直播推流地址一一对应;所述反代理监听端口配置有若干个监听子端口,每个所述监听子端口均配置有一个SRS进程;将若干个所述直播推流请求进行划分,获得若干组直播推流请求;将每组直播推流请求分配至对应的一个所述SRS进程,以分别通过各个所述SRS进程并行获取各组所述直播推流请求相应的直播推流地址对应的直播视频流数据,并将各组所述直播视频流数据并行进行存储;其中,每组直播推流请求至少包括一个所述直播推流请求;获取通过所述反代理监听端口接收的直播视频流播放请求;根据所述直播视频流播放请求,获取对应存储的直播视频流数据,并将所述直播视频流数据发送至对应的直播视频流播放请求客户端。2.根据权利要求1所述的基于SRS的多进程直播方法,其特征在于,所述将若干个所述直播推流请求进行划分,获得若干组直播推流请求,包括步骤:获取各个所述SRS进程的负载信息,其中,所述负载信息包括所述SRS进程允许执行的直播推流请求数目;根据所述各个SRS进程允许执行的直播推流请求数目,将若干个所述直播推流请求进行划分,获得若干组直播推流请求。3.根据权利要求1或2所述的基于SRS的多进程直播方法,其特征在于,所述直播推流地址包括直播推流标识,各个直播推流标识均有唯一对应的直播视频流数据;所述将每组直播推流请求分配至对应的一个所述SRS进程,以分别通过各个所述SRS进程并行获取各组所述直播推流请求相应的直播推流地址对应的直播视频流数据,并将各组所述直播视频流数据进行存储,包括步骤:获取预设的虚拟内存目录的路径,通过各个所述SRS进程并行将各组所述直播视频流数据存储于所述虚拟内存目录中。4.根据权利要求3所述的基于SRS的多进程直播方法,其特征在于,所述虚拟内存目录中包括若干个与所述直播推流标识相应的子虚拟内存目录;所述获取预设的虚拟内存目录的路径,通过各个所述SRS进程并行将各组所述直播视频流数据存储于所述虚拟内存目录中,还包括步骤:获取各组所述直播推流请求相应的直播推流地址中的直播推流标识,根据所述直播推流标识,获得各组所述直播推流标识对应的直播视频流数据;根据所述直播推流标识,获取与所述直播推流标识相应的子虚拟内存目录的路径;通过各个所述SRS进程将各组所述直播推流标识对应的所述直播视频流数据存储于相应的子虚拟内存目录。5.根据权利要求4所述的基于SRS的多进程直播方法,其特征在于,所述通过各个所述SRS进程将各组所述直播推流标识对应的所述直播视频流数据存储于相应的子虚拟内存目录,包括步骤:通过配置各个SRS进程的分发方式,各个所述SRS进程将所述直播视频流数据按预设顺序生成若干个直播视频片段文件,根据需要录制直播视频的起始时间和结束时间对所述直
播视频片段文件进行编号,并储存...

【专利技术属性】
技术研发人员:姚传军连亨凯张常华朱正辉赵定金
申请(专利权)人:广州市保伦电子有限公司
类型:发明
国别省市:

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

1