本发明实施例涉及流媒体,具体涉及一种直播数据处理方法、装置、计算设备及存储介质。
背景技术:
1、随着科技及社会的不断发展,直播服务的出现极大丰富了人们的工作与生活。目前的直播服务架构中,主播端产出的直播流经直播平台的相应节点传输给观众端、审核端等直播流接收端。
2、然而,发明人在实施过程中发现,现有技术中存在如下缺陷:主播端在将直播流推送给直播平台后,直播平台将同一码率的直播流推送给不同的接收端,从而容易造成传输资源的浪费,并且用户体验较差。
技术实现思路
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、等级确定模块用于:获取所述直播流接收端当前的网络特征和/或直播间特征。
33、在一种可选的实施方式中,等级确定模块用于:根据所述网络特征和/或直播间特征确定所述直播流接收端当前的候选目标码率等级;
34、获取所述直播流接收端历史的目标码率等级;
35、根据所述候选目标码率等级与所述历史的目标码率等级的高低关系,对所述历史的目标码率等级调整后得到所述直播流接收端当前的目标码率等级。
36、在一种可选的实施方式中,该装置还包括:转码模块,用于获取原始直播流,建立所述原始直播流与原始码率等级的对应关系;
37、对所述原始直播流转码后得到至少一个转码直播流,并建立任一转码直播流与对应非原始码率等级的对应关系。
38、在一种可选的实施方式中,转码模块用于:确定所述原始直播流的原始码率;
39、针对于任一非原始码率等级,确定该非原始码率等级的调整幅度,根据该调整幅度与所述原始码率的乘积得到该非原始码率等级的转码码率,将所述原始直播流转码为所述转码码率的转码直播流;其中,不同非原始码率等级对应的调整幅度不同。
40、在一种可选的实施方式中,特征获取模块用于:接收到直播流接收端发送的直播流获取请求,获取所述直播流接收端的接收端类型;
41、传输模块用于:若所述目标直播流为原始直播流,从所述原始直播流中确定出待传输的目标直播流分片;
42、若所述目标直播流为转码直播流,判断是否存在所述目标直播流对应的转码资源;若存在,则获取所述转码资源生成的待传输的目标直播流分片;若不存在,则创建所述目标直播流对应的转码资源,利用所述转码资源生成所述待传输的目标直播流分片;
43、将所述目标直播流分片传输给所述直播流接收端。
44、在一种可选的实施方式中,该装置还包括:转码资源管理模块,用于针对于任一目标直播流对应的转码资源,确定最近一次传输所述目标直播流的目标直播流分片的传输时间;若当前时间与所述传输时间的时间间隔超过预设时长阈值,则释放所述目标直播流对应的转码资源。
45、根据本发明实施例的第三方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
46、所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述直播数据处理方法对应的操作。
47、根据本发明实施例的第四方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行上述直播数据处理方法对应的操作。
48、根据本发明实施例的第五方面,提供了一种计算机程序产品,包括至少一可执行指令,所述可执行指令使处理器执行上述直播数据处理方法对应的操作。
49、本发明实施例根据接收端类型的不同采用不同的码率等级确定方式,提高确定出的码率等级与接收端实际情况的适配度,实现不同码率直播流的差异化传输,节约直播流传输资源,以及提升用户体验。
50、本发明实施例将原始码率等级的直播流传输给录制类型的接收端,保障录制业务的准确执行;将低码率等级的直播流传输给审核类型的接收端,在保障审核业务正常运行的情况下节约传输资源。
51、本发明实施例针对于观看类型的接收端,根据接收端当前的网络特征和/或直播间特征,动态地调整接收端当前的目标码率等级,使得直播流的传输符合接收端当前的实际情况,合理均衡用户体验以及传输资源消耗。
52、本发明实施例根据当前的网络特征和/或直播间特征确定直播流接收端当前的候选目标码率等级,根据候选目标码率等级与历史的目标码率等级的高低关系,对历史的目标码率等级调整后得到当前的目标码率等级,避免出现码率突变,提升直播流传输的稳定性。
53、本发明实施例根据非原始码率等级的调整幅度与原始码率的乘积得到该非原始码率等级的转码码率,转码后的转码直播流的转码码率与原始码率相适配,同一码率码率等级对应的不同直播流的实际码率并不相同,提升转码直播流与原始直播流的贴合度,提升用户体验。
54、本发明实施例接收到直播流接收端的直播流获取请求,并确定出目标直播流为转码直播流后再转码生成相应的目标直播流分片,从而实现转码直播流的按需转码及传输,节约系统资源。
55、本发明实施例在转码资源生成的目标直播流分片最近一次传输时间距离当前时间超过了预设时长阈值的情况下,及时释放转码资源,进一步节约系统资源。
56、上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明实施例的具体实施方式。