System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及多媒体,尤其涉及一种直播流转码的方法、装置、计算机设备及计算机可读存储介质。
技术介绍
1、在主播开播后,直播间会开启并进行直播推流,这个时候触发下发直播流的转码任务,转码系统收到转码任务后,开始利用10-20秒的时间分析一段时间内的直播流的分辨率、码率和帧率等数据得到直播流的多媒体参数,然后开始根据直播流的多媒体参数启动容器做分辨率、码率、帧率的压缩得到转码流,并将转码流推流给cdn内容分发网络,以提供给下行网络节点调度,根据不同清晰度为用户拉取各种类型的转码流。
2、这种直播流调度方法的缺点是:直播流的服务环境布置(启动容器)和转码过程是同步进行的,导致开播转码会有大概30s的延后性,开播瞬间大量涌入的观众都会看到码率很高的原始流,由于原始流往往码率较高,造成用户观看的直播画面发生卡顿的概率很高,用户的观看体验较差。
技术实现思路
1、本申请实施例的目的是提供一种直播流转码的方法、装置、计算机设备及计算机可读存储介质,用于解决以下问题:主播开播之后的转码过程存在延后性,导致开播瞬间用户观看的直播画面发生卡顿的概率很高,用户的观看体验较差。
2、本申请实施例的一个方面提供了一种直播流转码的方法,包括:
3、获取历史直播数据,根据所述历史直播数据在预置的资源池中启动至少一个用于快速转码的容器,其中,不同的容器对应的资源参数不同;
4、在接收到主播的直播推流数据的情况下,获取与所述主播对应的目标转码参数;
5
6、通过所述目标容器对所述直播推流数据进行转码得到一个或多个转码流。
7、可选地,所述根据所述历史直播数据在预置的资源池中启动至少一个用于快速转码的容器,包括:
8、根据所述历史直播数据确定容器的第一数量,以及每一个容器对应的资源配置信息;
9、根据所述第一数量和所述每一个容器对应的资源配置信息,在预置的资源池中启动至少一个用于快速转码的容器。
10、可选地,在所述获取与所述主播对应的目标转码参数之前,所述方法还包括:
11、获取所述主播的直播参数;
12、基于所述直播参数判断所述主播是否符合快速转码的条件;
13、所述获取与所述主播对应的目标转码参数,包括:
14、在所述主播符合快速转码的条件的情况下,获取与所述主播对应的目标转码参数。
15、可选地,所述直播参数包括所述主播对应的唯一标识,所述基于所述直播参数判断所述主播是否符合快速转码的条件,包括:
16、若是预设的主播列表中包含所述主播对应的唯一标识,则确定主播符合快速转码的条件;或,
17、若是预设的主播列表中不包含所述主播对应的唯一标识,则确定主播不符合快速转码的条件。
18、可选地,所述目标转码参数包括转码所需要容器的第二数量和转码资源的参数,所述根据所述目标转码参数从所述预置的资源池已启动的容器中确定匹配的目标容器,包括:
19、根据所述第二数量和转码资源的参数,从所述预置的资源池已启动的容器中中确定匹配的目标容器。
20、可选地,所述方法还包括:
21、根据所述第二数量和转码资源的参数,在所述预置的资源池中启动用于快速转码的新的容器,所述新的容器与所述目标容器对应的资源参数相同。
22、可选地,所述根据所述历史直播数据在预置的资源池中启动至少一个用于快速转码的容器,包括:
23、根据所述历史直播数据,在多个机房集群对应的预置的资源池中启动至少一个用于快速转码的容器;其中,所述机房集群用于提供直播流转码服务。
24、本申请实施例的一个方面又提供了一种直播流转码的装置,包括:
25、容器启动模块,用于获取历史直播数据,根据所述历史直播数据在预置的资源池中启动至少一个用于快速转码的容器,其中,不同的容器所配置的转码参数不同;
26、转码参数获取模块,用于在接收到主播的直播推流数据的情况下,获取与所述主播对应的目标转码参数;
27、容器匹配模块,用于根据所述目标转码参数从所述预置的资源池已启动的容器中确定匹配的目标容器;
28、转码模块,用于通过所述目标容器对所述直播推流数据进行转码得到一个或多个转码流。
29、本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的直播流转码的方法的步骤。
30、本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行所述计算机程序时实现如上述的直播流转码的方法的步骤。
31、本申请实施例的一个方面又提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述的直播流转码的方法的步骤。
32、本申请实施例提供的直播流转码的方法、装置、设备及计算机可读存储介质,通过根据历史直播数据启动若干个不同转码规格的容器等待使用,并保持预置的资源池中始终拥有一定配置数量的转码容器等待任务调度使用,从而实现将启动流程中的服务环境布置从同步启用,前置为异步启用,大大缩减了整个转码调度系统的启动时间,可以做到从50s的启动流程降低到6s内就完成所有的转码流程,不会因为等待容器的资源分配而浪费时间,提升了用户播放的直播视频的流畅度。
本文档来自技高网...【技术保护点】
1.一种直播流转码的方法,其特征在于,包括:
2.根据权利要求1所述的直播流转码的方法,其特征在于,所述根据所述历史直播数据在预置的资源池中启动至少一个用于快速转码的容器,包括:
3.根据权利要求1所述的直播流转码的方法,其特征在于,在所述获取与所述主播对应的目标转码参数之前,所述方法还包括:
4.根据权利要求3所述的直播流转码的方法,其特征在于,所述直播参数包括所述主播对应的唯一标识,所述基于所述直播参数判断所述主播是否符合快速转码的条件,包括:
5.根据权利要求1所述的直播流转码的方法,其特征在于,所述目标转码参数包括转码所需要容器的第二数量和转码资源的参数,所述根据所述目标转码参数从所述预置的资源池已启动的容器中确定匹配的目标容器,包括:
6.根据权利要求5所述的直播流转码的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的直播流转码的方法,其特征在于,所述根据所述历史直播数据在预置的资源池中启动至少一个用于快速转码的容器,包括:
8.一种直播流转码的装置,其特征在于,包括:
>9.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至7中任意一项所述的直播流转码的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至7中任意一项所述的直播流转码的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7所述的直播流转码的方法的步骤。
...【技术特征摘要】
1.一种直播流转码的方法,其特征在于,包括:
2.根据权利要求1所述的直播流转码的方法,其特征在于,所述根据所述历史直播数据在预置的资源池中启动至少一个用于快速转码的容器,包括:
3.根据权利要求1所述的直播流转码的方法,其特征在于,在所述获取与所述主播对应的目标转码参数之前,所述方法还包括:
4.根据权利要求3所述的直播流转码的方法,其特征在于,所述直播参数包括所述主播对应的唯一标识,所述基于所述直播参数判断所述主播是否符合快速转码的条件,包括:
5.根据权利要求1所述的直播流转码的方法,其特征在于,所述目标转码参数包括转码所需要容器的第二数量和转码资源的参数,所述根据所述目标转码参数从所述预置的资源池已启动的容器中确定匹配的目标容器,包括:
6.根据权利要求5所述的直播流转码的方法,其特征在于,所述方法还包括:...
【专利技术属性】
技术研发人员:朱翔,钱沿佐,李逢时,冯宇飞,
申请(专利权)人:上海哔哩哔哩科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。