CN113259706A - 直播处理方法、装置、电子设备以及存储介质 - Google Patents
直播处理方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN113259706A CN113259706A CN202110716460.4A CN202110716460A CN113259706A CN 113259706 A CN113259706 A CN 113259706A CN 202110716460 A CN202110716460 A CN 202110716460A CN 113259706 A CN113259706 A CN 113259706A
- Authority
- CN
- China
- Prior art keywords
- live broadcast
- live
- pull
- client
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44204—Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
- H04N21/44222—Analytics of user selections, e.g. selection of programs or purchase activity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/4667—Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/4668—Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种直播处理方法、装置、电子设备以及存储介质,该方法包括:获取第一历史直播参数,其中,第一历史直播参数包括拉流客户端的历史直播数据;在直播开始前,基于第一历史直播参数,预先配置拉流客户端的直播内容拉取策略;在直播过程中,获取拉流客户端的当前直播参数;响应于确定拉流客户端出现直播卡顿,基于当前直播参数,对拉流客户端的直播内容拉取策略进行调整。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种直播处理方法、装置、电子设备以及存储介质。
背景技术
随着互联网技术的不断发展和智能终端的普及,远程教育越来越普遍,而通过网络直播实现的在线虚拟教学是远程教育的一种重要形式。
在相关技术中,由于网络抖动、丢包、延迟等网络问题,直播经常出现卡顿。
发明内容
根据本公开的一方面,提供了一种直播处理方法,包括:
获取第一历史直播参数,其中,所述第一历史直播参数包括拉流客户端的历史直播数据;
在直播开始前,基于所述第一历史直播参数,预先配置所述拉流客户端的直播内容拉取策略;
在直播过程中,获取所述拉流客户端的当前直播参数;
响应于确定所述拉流客户端出现直播卡顿,基于所述当前直播参数,对所述拉流客户端的所述直播内容拉取策略进行调整。
根据本公开的另一方面,提供了一种直播处理装置,包括:
第一获取模块,用于获取第一历史直播参数,其中,所述第一历史直播参数为包括拉流客户端的历史直播数据;
配置模块,用于在直播开始前,基于所述第一历史直播参数,预先配置所述拉流客户端的直播内容拉取策略;
第二获取模块,用于在直播过程中,获取所述拉流客户端的当前直播参数;
调整模块,用于响应于确定所述拉流客户端出现直播卡顿,基于所述当前直播参数,对所述拉流客户端的所述直播内容拉取策略进行调整。
根据本公开的另一方面,提供了一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述直播处理方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述直播处理方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现上述直播处理方法。
根据本公开实施例中提供的一种或多个技术方案,在直播开始前基于第一历史直播参数预先配置直播内容拉取策略,以解决拉流客户端由于预测直播卡顿原因而出现的直播卡顿,在直播过程中基于当前直播参数对直播内容拉取策略进行调整,以解决拉流客户端由于实际卡顿原因而导致的直播卡顿,通过直播前预先配置直播内容拉取规则和直播中调整直播内容拉取规则,解决拉流客户端参与直播过程中的直播卡顿问题,减少直播卡顿的出现次数。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1示出了根据本公开一些示例性实施例的可以在其中实施本文描述的各种方法的示例系统的示意图;
图2示出了根据本公开一些示例性实施例的一种直播处理方法的流程图;
图3示出了根据本公开另一些示例性实施例的一种直播处理方法的流程图;
图4示出了根据本公开一些示例性实施例的直播卡顿原因与直播内容拉取策略对应关系的示意图;
图5示出了根据本公开另一些示例性实施例的一种直播处理方法的流程图;
图6示出了根据本公开一些示例性实施例的直播卡顿原因与直播内容推送策略对应关系的示意图;
图7示出了根据本公开一些示例性实施例的一种直播处理装置的示意性框图;
图8示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
图1示出了根据本公开示例性实施例的可以在其中实施本文描述的各种方法的示例系统100的示意图,参见图1,该系统100可以包括:主播终端101、服务器102和观众终端103。
服务器102可以通过有线或无线通信方式分别与主播终端101和观众终端103直接或间接相连接。主播终端101和观众终端103均可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。
主播终端101上安装并运行供主播直播时使用的直播类应用程序,主播终端101对直播画面进行显示,以便主播通过主播终端101开设直播间进行直播。主播终端101可以通过直播画面对获取到的视频数据进行展示,同时还可以将视频数据编码后发送给服务器102。主播终端101可以泛指多个主播终端中的一个,本实施例仅以主播终端101来举例说明。本领域技术人员可以知晓,上述主播终端的数量可以更多或更少,比如上述主播终端可以仅为一个,或者上述主播终端为几十个或几百个,或者更多数量,本申请实施例对主播终端的数量和设备类型不加以限定。
服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务器、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器102可以基于主播终端101上传的音频帧和视频帧进行编码,获得视频数据。服务器102还可以接收来自各观众终端103的视频数据获取请求,响应视频数据获取请求将获得的视频数据分发给各观众终端103,以便各观众终端103基于接收到的视频数据进行直播。本领域技术人员可以知晓,上述服务器的数量可以更多或更少,本申请对此不加以限定。在其他的示例中,服务器102还可以包括其他功能的服务器,以便提供更全面且多样化的服务。
观众终端103上可以安装并运行供观众观看直播的直播类应用程序,观众终端103可以对直播画面进行显示,以便观众通过观众终端103来观看直播。观众终端103可以将视频数据获取指令发送给服务器102,并接收服务器102返回的视频数据,进而对接收到的视频数据进行解码,得到音频帧和视频帧,并基于解码得到的音频帧和视频帧进行直播。观众终端103可以泛指多个观众终端中的一个,本实施例仅以观众终端103来举例说明。本领域技术人员可以知晓,上述观众终端的数量可以更多或更少,比如上述观众终端可以仅为一个,或者上述观众终端为几十个或几百个,或者更多数量,本申请实施例对观众终端的数量和设备类型不加以限定。
需要说明的是,在直播过程中,主播终端101向服务器102推送直播内容,观众终端103从服务器102拉取直播内容。在一些实施例中,拉流客户端可以为直播过程中从服务器拉取直播内容的客户端,推流客户端可以为直播过程中向服务器推送直播内容的客户端。本公开实施例的直播处理方法中涉及的推流客户端可以为主播终端101,拉流客户端可以为观众终端103。
图2示出了根据本公开示例性实施例的直播处理方法200的流程图。如图2所示,直播处理方法200包括如下步骤。
在步骤201,获取第一历史直播参数,第一历史直播参数包括拉流客户端的历史直播数据。
在直播过程中,推流客户端采集视频流,并将视频流发送到源站,拉流客户端通过,CDN节点从源站获取视频流,并基于获取到的视频流展示视频图像,从而实现在拉流客户端能够看到推流客户端采集到的视频图像。比如,在通过网络直播实现的在线虚拟教学中,推流客户端采集教师的授课视频流,并将授课视频流发送到源站,拉流客户端通过CDN节点从源站获取授课视频流,并基于获取到的授课视频流展示教师的授课视频。
在直播过程中,可以采集拉流客户端的直播数据,直播数据包括拉流客户端拉取直播内容过程中的网络参数,根据直播数据可以确定拉流客户端出现直播卡顿的原因。示例性地,针对某一次直播,可以在该直播开始之前,获取拉流客户端的第一历史直播参数,第一历史直播参数包括拉流客户端在此前参与直播过程中的历史直播数据。
在步骤202,直播开始前,基于第一历史直播参数,预先配置拉流客户端的直播内容拉取策略。
由于拉流客户端每次参与直播时所使用网络的状况基本相似,如果历史直播过程中拉流客户端存在直播卡顿问题,则后续直播过程中仍可能由于相同的原因导致拉流客户端发生直播卡顿。因此,可以根据第一历史直播参数确定拉流客户端出现直播卡顿的原因,进而基于该原因预先配置拉流客户端的直播内容拉取策略,以使拉流客户端在直播开始后,按照预先配置的直播内容拉取策略拉取直播内容。
需要说明的是,通常一个推流客户端和多个拉流客户端参与同一直播过程,不同的拉流客户端可能由于不同的原因导致卡顿,因此可以分别获取每个拉流客户端的第一历史直播参数,进而分别基于每个拉流客户端的第一历史直播参数,预先配置每个拉流客户端的直播内容拉取策略。
在步骤203,直播过程中,获取拉流客户端的当前直播参数。
直播开始后,拉流客户端按照预先配置的直播内容拉取策略拉取直播内容,在拉流客户端拉取直播内容的过程中,获取拉流客户端的当前直播参数,当前直播参数包括拉流客户端拉取直播内容过程中的网络参数。根据拉流客户端的当前直播参数,可以确定拉流客户端出现直播卡顿的原因。
在步骤204,响应于确定拉流客户端出现直播卡顿,基于当前直播参数,对拉流客户端的直播内容拉取策略进行调整。
在直播的过程中,当确定拉流客户端出现直播卡顿后,可以基于当前直播参数确定拉流客户端出现直播卡顿的原因,进而基于该原因调整拉流客户端的直播内容拉取策略,以解决拉流客户端的直播卡顿问题。
在本公开实施例中,在直播开始前,获取拉流客户端的第一历史直播参数,根据第一历史直播参数预测可能会导致拉流客户端出现直播卡顿的原因,进而基于预测的卡顿原因预先配置拉流客户端的直播内容拉取策略,使拉流客户端在直播开始后按照预先配置的直播内容拉取策略进行直播内容拉取。在直播过程中,获取拉流客户端的当前直播参数,当拉流客户端出现直播卡顿后,基于当前直播参数确定导致拉流客户端出现直播卡顿的实际原因,进而基于该实际原因对拉流客户端的直播内容拉取策略进行调整。由此,在直播开始前基于第一历史直播参数预先配置直播内容拉取策略,以解决拉流客户端由于预测直播卡顿原因而出现的直播卡顿,在直播过程中基于当前直播参数对直播内容拉取策略进行调整,以解决拉流客户端由于实际卡顿原因而导致的直播卡顿,通过直播前预先配置直播内容拉取规则和直播中调整直播内容拉取规则,解决拉流客户端参与直播过程中的直播卡顿问题,减少直播卡顿的出现次数。
在一种可能的实现方式中,周期性地获取拉流客户端的第一历史直播参数,并在每次获取到第一历史直播参数后,基于获取到的第一历史直播参数配置拉流客户端的直播内容拉取策略。图3示出了根据本公开示例性实施例的直播处理方法300的流程图。如图3所示,方法300包括如下步骤。
在步骤301,每隔预设时间间隔确定发生过直播卡顿的拉流客户端。
在直播过程中,采集拉流客户端拉取直播内容时所使用网络的参数,并将采集到的网络参数作为第一历史直播参数存储到预设的大数据平台。对于一个将要进行的直播,首先确定将参与该直播的所有拉流客户端,然后针对所确定出的每个拉流客户端,大数据平台会对该拉流客户端的第一历史直播参数进行分析,确定该拉流客户端是否在出现过直播卡顿,进而可以筛选出将要参加直播且曾经发生过直播卡顿的拉流客户端。
例如,每天23:00定时确定下一天上课且历史上发生过直播卡顿的拉流客户端。比如,一个即将进行的直播包括1个推流客户端和1000个拉流客户端,大数据平台依次对1000个拉流客户端的第一历史直播参数进行分析,确定出其中100个拉流客户端曾经发生过直播卡顿。
在步骤302,确定每个拉流客户端的直播卡顿原因。
对于将要参与直播且曾经发生过直播卡顿的每个拉流客户端,大数据平台将该拉流客户端的第一历史直播参数输入预先训练的拉流卡顿诊断模型,获得拉流卡顿诊断模型的输出结果,进而根据获得的输出结果确定该拉流客户端的直播卡顿原因。拉流客户端的直播卡顿原因包括网络丢包率高、视频码率低、网络延时高、CDN节点异常和设备老旧等。
示例性地,拉流客户端的第一历史直播参数可以包括带宽数据、运营商信息、地区运营商卡顿数据、拉流客户端所处地区信息、CDN时长数据等。根据第一历史直播参数可以确定拉流客户端的直播卡顿原因,比如基于带宽数据可以判断拉流客户端是否由于带宽不足而导致卡顿,基于运营商信息可以判断拉流客户端所在地区不同运营商的CDN节点的卡顿情况,进而在配置直播内容拉取策略时,可以优先配置卡顿较少的CDN节点。
需要说明的是,对于一个拉流客户端,根据第一历史直播参数确定出的直播卡顿原因可能有多个,即拉流客户端可能曾由于多个直播卡顿原因(例如,网络丢包率高、视频码率低、网络延时高、CDN节点异常和设备老旧中的一个或多个)而发生过直播卡顿。
例如,接续步骤301中的例子,在筛选出100个曾经发生过卡顿的拉流客户端后,针对筛选出的每个拉流客户端,将该拉流客户端的第一历史直播参数输入拉流卡顿诊断模型,获得拉流卡顿诊断模型的输出结果,该输出结果包括不同直播卡顿原因的概率,进而根据该输出结果可以确定该拉流客户端的直播卡顿原因。
在步骤303,根据拉流客户端的直播卡顿原因,确定拉流客户端的直播内容拉取策略。
对于拉流客户端不同的直播卡顿原因,预先创建有相对应的直播内容拉取策略,并且设置有直播卡顿原因与直播内容拉取策略之间的对应关系。对于每个拉流客户端,在确定出该拉流客户端的卡顿原因后,根据直播卡顿原因与直播内容拉取策略之间的对应关系,确定与该拉流客户端的直播卡顿原因相对应的直播内容拉取策略。由于拉流客户端的直播卡顿原因可能有多个,因此所确定出的直播内容拉取策略也可能是多个。
示例性地,直播内容拉取策略可以包括切换协议策略、切换分辨率策略、调整缓冲寄存器策略、切换CDN线路策略和重新拉流策略等。
切换协议策略是指切换直播内容拉取时所使用的协议,直播内容拉取时所使用的协议可以包括实时消息传输协议(Real Time Messaging Protocol,RTMP)、实时通信(Real-time Communications,RTC)协议和快速UDP网络连接(Quick UDP InternetConnection,QUIC)协议。比如,拉流客户端默认使用RTMP拉取直播内容,通过切换协议策略可以使拉流客户端使用QUIC协议拉取直播内容,以降低拉流客户端的直播卡顿率。
切换分辨率策略是指切换所拉取直播内容的分辨率,分辨率可以包括高清、标清和流畅(低清)三种。比如,推流客户端采用标清和流畅的组合推送直播内容,拉流客户端默认使用标清线路拉取直播内容,通过切换分辨率策略可以使拉流客户端使用流畅线路拉取直播内容,以降低拉流客户端的直播卡顿率。
切换CDN线路策略是指切换不同的CDN线路从源站拉取直播内容。比如,一个拉流客户端默认通过CDN节点1从源站拉取直播内容,在确定该拉流客户端的卡顿是CDN节点导致后(例如,CDN节点1出现异常),通过切换CDN线路策略,使该拉流客户端通过CDN节点2从源站拉取直播内容,以降低该拉流客户端的直播卡顿率。
重新拉流策略是指拉流客户端重新进入直播间而重新开始拉取直播内容的策略。对于由于设备老旧等原因导致的直播卡顿,可以采用重拉取直播内容的策略,以降低拉流客户端的直播卡顿率。如果仍不能解决,则可以通过人工介入进行处理。
图4示出了根据本公开示例性实施例的直播卡顿原因与直播内容拉取策略对应关系的示意图。如图4所示,网络丢包率高对应的直播内容拉取策略为切换协议策略,视频码率低和网络延时高对应的直播内容拉取策略均为切换分辨率策略+调整缓冲寄存器策略,CDN节点异常对应的直播内容拉取策略为切换CDN线路策略,设备老旧对应的直播内容拉取策略为重新拉流和人工介入。
在步骤304,将直播内容拉取策略发送给对应的拉流客户端。
对于每个拉流客户端,在确定出该拉流客户端对应的直播内容拉取策略后,将确定出的直播内容拉取策略发送给该拉流客户端。拉流客户端在接收到直播内容拉取策略后,根据直播内容拉取策略对直播内容拉取参数进行配置。基于配置完成的直播内容拉取参数,拉流客户端在后续进行的直播开始后,将按照直播内容拉取参数拉取直播内容。
需要说明的是,对于未接收到直播内容拉取策略的拉流客户端,将采用默认的直播内容拉取策略拉取直播内容。比如,默认直播内容拉取策略为通过RTMP获取单分辨率标清流。
在一种可能的实现方式中,在直播过程中获取到的当前直播参数包括第一网络丢包率、第一视频码率、第一网络延时和内容分发网络节点中的一个或多个,第一网络丢包率为拉流客户端的网络丢包率,第一视频码率为拉流客户端的视频码率,第一网络延时为拉流客户端的网络延时。相应地,在基于当前直播参数对拉流客户端的直播内容拉取策略进行调整时,可以基于第一网络丢包率、第一视频码率、第一网络延时和内容分发网络节点中的一个或多个,对拉流客户端的直播内容拉取策略进行调整。
拉流客户端的网络丢包率、视频码率、网络延时和内容分发网络,均会导致拉流客户端出现直播卡顿,基于第一网络丢包率、第一视频码率、第一网络延时和内容分发网络节点中的一个或多个,对拉流客户端的直播内容拉取策略进行调整,保证能够基于当前直播参数确定拉流客户端的直播卡顿原因,进而基于确定出的直播卡顿原因调整直播内容拉取策略,从而有效解决拉流客户端的直播卡顿问题。
在一种可能的实现方式中,当前直播参数包括第一网络丢包率,第一网络丢包率为拉流客户端的网络丢包率,并且预先配置的直播内容拉取策略的协议为第一协议。相应的,在基于当前直播参数对拉流客户端的直播内容拉取策略进行调整时,响应于确定第一网络丢包率大于预设的第一丢包率阈值,将直播内容拉取策略的第一协议调整为第二协议,其中第一协议的丢包率阈值小于第二协议的丢包率阈值。
在预先配置的直播内容拉取策略中,使用第一协议拉取直播内容,当拉流客户端的第一网络丢包率大于预设的第一丢包率阈值后,对直播内容拉取策略进行调整,使拉流客户端使用第二协议拉取直播内容,而第一协议的丢包率阈值小于第二协议的丢包率阈值,即拉流客户端通过丢包率阈值更大的协议拉取直播内容,以解决由于协议超过丢包率阈值而导致的直播卡顿问题。
拉流客户端拉取直播内容时使用的协议包括RTMP、RTC协议或QUIC协议,RTMP、RTC协议和QUIC协议的丢包率阈值、网络延迟阈值和成本如下表1所示。
表1
协议类型 | 丢包率阈值 | 网络延迟阈值 | 成本 |
QUIC | 40% | 200ms | 1.5 |
RTC | 50% | 400ms | 10 |
RTMP | 10% | 200ms | 1 |
由表1中数据可见,RTMP在抗丢包率和网络延迟方面较差,但RTMP的成本是最低的,因此对于因为网络丢包率高而导致直播卡顿的拉流客户端,可以通过调整直播内容拉取策略,使用RTC协议拉取直播内容,以解决直播卡顿问题,而对于网络正常的拉流客户端,则使用RTMP拉取直播内容,在较低成本的前提下解决拉流客户端的直播卡顿问题。
例如,预先配置的直播内容拉取策略的第一协议为RTMP,即拉流客户端通过RTMP拉取直播内容。当确定拉流客户端的网络丢包率大于预设的第一丢包率阈值后,比如第一丢包率阈值为10%,将直播内容拉取策略的第一协议调整为第二协议,第二协议为RTC协议,即拉流客户端通过RTC拉取直播内容,以解决拉流客户端由于网络丢包率较高而导致的直播卡顿问题。
在一种可能的实现方式中,当前直播参数包括第一视频码率和第一网络延时,第一视频码率为拉流客户端的视频码率,第一网络延时为拉流客户端的网络延时,并且预先配置的直播内容拉取策略的分辨率为第一分辨率。相应的,在基于当前直播参数对拉流客户端的直播内容拉取策略进行调整时,响应于确定当前直播参数满足以下条件之一:第一视频码率小于预设的第一码率阈值,及第一网络延时大于预设的第一延时阈值,则将直播内容拉取策略的第一分辨率调整为第二分辨率,其中,第一分辨率大于第二分辨率。
在预先配置的直播内容拉取策略中,拉流客户端拉取分辨率为第一分辨率的直播内容,当拉流客户端的第一视频码率小于预设的第一码率阈值,和/或第一网络延时大于预设的第一延时阈值后,对直播内容拉取策略进行调整,使拉流客户端拉取分辨率为第二分辨率的直播内容,而第一分辨率大于第二分辨率,即拉流客户端拉取分辨率更小的直播内容,以解决由于视频码率过低或网络延时过高而导致的直播卡顿问题。
拉流客户端拉取直播内容时可以拉取高清、标清或流畅(低清)三种不同分辨率的直播内容,高清、标清和流畅(低清)的分辨率标准数据如下表2所示。
表2
分辨率类型 | 帧率(fps) | 视频码率(bit) | 分辨率(宽x高) |
高清 | 25 | 2000000 | 1920*1080 |
标清 | 25 | 1200000 | 1280*720 |
流畅(低清) | 15 | 512000 | 1280*720 |
由表2中数据可知,分辨率越高则视频码率越大,对于网络延时的要求越高,如果拉流客户端的视频码率小于第一码率阈值,或者拉流客户端的网络延时大于第一延时阈值,说明拉流客户端的网络状况较差,无法及时拉取高分辨率的直播内容,进而导致直播卡顿,通过调整拉流客户端的直播内容拉取策略,使拉流客户端拉取分辨率较低的直播内容,降低拉取直播内容对于网络状况的要求,从而能够解决直播卡顿的问题。
例如,预先配置的直播内容拉取策略为拉取标清分辨率的直播内容,当确定拉流客户端的第一视频码率小于第一码率阈值和/或第一网络延时大于第一延时阈值后,比如第一码率阈值为1000000bit,第一延时阈值为300毫秒,将直播内容拉取策略调整为拉取低清分辨率的直播内容,以解决拉流客户端由于网络延时较大或获得直播内容的码率过小而导致的直播卡顿问题。
在一种可能的实现方式中,当前直播参数包括内容分发网络节点,并且预先配置的直播内容拉取策略的内容分发网络节点为第一内容分发网络节点。相应的,在基于当前直播参数对拉流客户端的直播内容拉取策略进行调整时,响应于确定第一内容分发网络节点发生异常,将直播内容拉取策略的内容分发网络节点调整为正常的第二内容分发网络节点。
在预先配置的直播内容拉取策略中,拉流客户端通过第一内容分发网络节点从源站拉取直播内容,当基于当前直播参数确定第一内容分发网络节点发生异常后,对直播内容拉取策略进行调整,从可用的多个正常内容分发网络节点中选择第二内容分发网络节点,使拉流客户端通过第二内容分发网络节点从源站拉取直播内容,从而解决由于内容分发网络异常而导致的直播卡顿问题。
在一种可能的实现方式中,在图2所示的直播处理方法200的基础上,还可以预先配置推流客户端的直播内容推送策略,以解决由于推流客户端而导致的直播卡顿问题。图5示出了根据本公开另一些示例性实施例的直播处理方法500的流程图。如图5所示,直播处理方法500包括如下步骤。
在步骤501,获取第二历史直播参数,其中,第二历史直播参数包括推流客户端的历史直播数据。
在直播过程中,可以采集推流客户端的直播数据,推流客户端的直播数据包括推流客户端推送直播内容过程中的网络参数,因此根据推流客户端的直播数据可以确定推流客户端的直播卡顿原因。针对一个将要进行的直播,在该直播开始之前,获取推流客户端的第二历史直播参数,第二历史直播参数包括推流客户端在此前参与直播过程中的历史直播数据。
在步骤502,直播开始前,基于第二历史直播参数,预先配置推流客户端的直播内容推送策略。
由于推流客户端每次直播时所使用网络的状态基本相似,如果历史直播过程中推流客户端存在直播卡顿问题,则后续直播过程中仍可能由于相同的原因导致推流客户端发生直播卡顿。因此,可以根据第二历史直播参数确定推流客户端出现直播卡顿的原因,进而基于该原因预先配置推流客户端的直播内容推送策略,以使推流客户端在直播开始后,按照预先配置的直播内容推送策略推送直播内容。
在本公开实施例中,在直播开始前,获取推流客户端的第二历史直播参数,根据第二历史直播参数预测可能会导致推流客户端出现直播卡顿的原因,进而基于预测的直播卡顿原因预先配置推流客户端的直播内容推送策略,使推流客户端在直播开始后按照预先配置的直播内容推送策略进行直播内容推送。由此,在直播开始前基于第二历史直播参数预先配置直播内容推送策略,使推流客户端按照预先配置的直播内容推送策略推送直播内容,避免推流客户端由于预测的直播卡顿原因而出现直播卡顿,从而减少推流客户端出现直播卡顿的次数。
在一种可能的实现方式中,在确定出将要参与该直播的推流客户端后,大数据平台会将该推流客户端的第二历史直播参数输入预先训练的推流卡顿诊断模型,获得推流卡顿诊断模型的输出结果,进而根据该输出结果确定推流客户端的卡顿原因。示例性地,推流客户端的卡顿原因包括网络丢包率高、源站码率低、源站速率低、网络延时高、网络错误、中央处理器(central processing unit,CPU)占比高和源站帧率低等。
需要说明的是,根据第二历史直播参数确定出的推流客户端的卡顿原因可能有多个,即推流客户端曾经由于多个卡顿原因而发生过直播卡顿,此时推流客户端的卡顿原因包括网络丢包率高、源站码率低、源站速率低、网络延时高、网络错误或CPU占比高和源站帧率低中的至少一个。
对于推流客户端不同的卡顿原因,预先创建有相对应的直播内容推送策略,并且设置有直播卡顿原因与直播内容推送策略之间的对应关系。在确定出推流客户端的直播卡顿原因后,根据直播卡顿原因与直播内容推送策略之间的对应关系,确定与推流客户端的直播卡顿原因相对应的直播内容推送策略。由于推流客户端的直播卡顿原因可能有多个,因此所确定出的直播内容推送策略也可能时多个。
直播内容推送策略包括多协议策略、多分辨率策略和断流重推策略。
多协议策略是指推流客户端通过多种协议推送直播内容。直播内容推送时所使用的协议包括RTMP、RTC协议和QUIC协议,通过多协议策略可以使推流客户端通过RTMP、RTC协议和QUIC协议中的任意两个同时进行直播内容推送。多分辨率策略是指推流客户端同时推送不同分辨率的视频流。通过多分辨率策略可以使推流客户端推送高清、标清和流畅(低清)中的任意两个分辨率的直播内容。比如,推流客户端同时推送标清和流畅两种不同分辨率的视频流,且支持随时根据实际直播情况调整分辨率标准,使得用户在直播过程中能够通过切换分辨率来降低直播卡顿现象,提高直播体验。对于由于网络延迟导致直播卡顿的拉流客户端,会优先提供流畅分辨率的线路进行直播内容拉取。
断流重推策略是指中断直播内容推送后重新开始直播内容推送。对于由于网络错误、CPU占用率过高、源站帧率过低导致的卡顿,可以通知推流客户端的用户通过断流重推策略进行解决。
图6示出了根据本公开示例性实施例的直播卡顿原因与直播内容推送策略对应关系的示意图。如图6所示,网络丢包率高对应的直播内容推送策略为多协议策略,源站码率低、源站速率低和网络延时高对应的直播内容推送策略为多分辨率策略,网络错误、CPU占比高和源站帧率低对应的直播内容推送策略为断流重推策略。
在一种可能的实现方式中,在基于第二历史直播参数配置直播内容推送策略时,可以基于第二历史直播参数,为推流客户端预先配置包括主线路推送策略和备用线路推流策略的直播内容推送策略,其中,主线路推送策略包括第三协议和第三分辨率,备用线路推送策略包括第四协议和第四分辨率,第三协议的丢包率阈值小于第四协议的丢包率阈值,第三分辨率大于第四分辨。
基于第二历史直播参数为推流客户端配置主线路推送策略和备用线路推送策略后,在直播开始后,推流客户端根据主线路推送策略,通过主推送线路推送协议为第三协议且分辨率为第三分辨率的直播内容,并根据备用线路推送策略,通过备用推送线路推送协议为第四协议且分辨率为第四分辨率的直播内容。
生成包括主线路推送策略和备用线路推送策略的推流策略,使推流客户端通过主推送线路和备用推送线路同时推送直播内容,当其中一个推送线路不可用时,还可以通过另一条推送线路继续推送直播内容,保证直播的稳定性。另外,有第三协议的丢包率阈值小于第四协议的丢包率阈值,且第三分辨率大于第四分辨率,拉流客户端可以选择拉取推流客户端通过主推送线路或备用推送线路推送的直播内容,以通过不同的协议拉取不同分辨率的直播内容,解决拉流客户端的直播卡顿问题。
需要说明的是,与前述实施例中调整直播内容拉取策略相对应,第三协议可以与第一协议相同,第四协议可以与第二协议相同,第三分辨率可以与第一分辨率相同,第四分辨率可以与第二分辨率相同。比如,第一协议和第三协议均为RTMP,第二协议和第四协议均为RTC协议,第一分辨率和第三分辨率均为标清分辨率,第二分辨率和第四分辨率均为低清分辨率。
在一种可能的实现方式中,第二历史直播参数包括第二网络丢包率、第二视频码率、第二网络延时、网络状态、CPU占用率和源站帧率中的一个或多个,第二网络丢包率为推流客户端的网络丢包率,第二视频码率为推流客户端的视频码率,第二网络延时为推流客户端的网络延时。相应的,在基于第二历史直播参数预先配置推流客户端的直播内容推送策略时,可以基于第二网络丢包率、第二视频码率、第二网络延时、网络状态、CPU占用率和源站帧率中的一个或多个,预先配置推流客户端的直播内容推送策略。
推流客户端的网络丢包率、视频码率、网络延时、网络状态、CPU占用率和源站帧率,均会导致推流客户端出现直播卡顿,基于第二网络丢包率、第二视频码率、第二网络延时、网络状态、CPU占用率和源站帧率中的一个或多个,预先配置推流客户端的直播内容推送策略,保证能够基于第二历史直播参数确定推流客户端的直播卡顿原因,进而基于确定出的直播卡顿原因预先配置直播内容推送策略,从而有效解决推流客户端的直播卡顿问题。
在一种可能的实现方式中,第二历史直播参数包括第二网络丢包率,第二网络丢包率为推流客户端的网络丢包率,在基于第二历史直播参数预先配置直播内容推送策略时,响应于确定第二网络丢包率大于预设的第二丢包率阈值,为推流客户端预先配置包括至少两个协议的直播内容推送策略,其中直播内容推送策略包括的至少两个协议对应的丢包率阈值不同。
在确定推流客户端的网络丢包率大于预设的第二丢包率阈值后,为推流客户端配置包括至少两个协议的直播内容推送策略,直播开始后,推流客户端将通过直播内容推送策略包括的至少一个协议推送直播内容,拉流客户端则可以根据第一网络丢包率选择相应的协议拉取直播内容,使得拉流客户端可以根据第一网络丢包率切换不同的协议进行直播内容拉取,以解决由于网络丢包率高而导致拉流客户端的直播卡顿。
例如,在推流客户端的第二网络丢包率小于第二丢包率阈值时,比如第二丢包率阈值为10%,则推流客户端通过RTMP推送直播内容。在推流客户端的第二网络丢包率阈值大于第二丢包括阈值时,配置推流客户端的直播内容推送策略包括RTMP和RTC协议,使得推流客户端分别通过RTMP和RTC协议推送直播内容。
在一种可能的实现方式中,第二历史直播参数包括第二视频码率和第二网络延时,第二视频码率为推流客户端的视频码率,第二网络延时为推流客户端的网络延时,在基于第二历史直播参数预先配置直播内容推送策略时,响应于确定第二历史直播参数满足以下条件之一:第二视频码率小于预设的第二码率阈值,及第二网络延时大于预设的第二延时阈值,则为推流客户端预先配置包括至少两个分辨率的直播内容推送策略,其中直播内容推送策略包括的至少两个分辨率对应的分辨率值不同。
在确定推流客户端的第二视频码率小于预设的第二码率阈值,和/或第二网络延时大于预设的第二延时阈值后,为推流客户端配置包括至少两个分辨率的直播内容推送策略,直播开始后,推流客户端将推送直播内容推送策略包括的至少两个分辨率的直播内容,拉流客户端则可以根据第一视频码率和第一网络延时选择拉取不同分辨率的直播内容,以解决由于视频码率低或网络延时大而导致拉流客户端的直播卡顿。
例如,推流客户端默认推送标清分辨率的直播内容,当确定推流客户端的第二视频码率小于第二码率阈值和/或第二网络延时小于第二延时阈值后,比如第二码率阈值为1000000bit,第二延时阈值为300毫秒,配置推流客户端的直播内容推送策略包括标清分辨率和低清分辨率,以使推流客户端在直播开始后分别推送标清分辨率和低清分辨率的直播内容。
在一种可能的实现方式中,在直播过程中,可以获取推流客户端的网络状态、中央处理器占用率和源站帧率,响应于确定推流客户端满足以下条件之一:网络状态异常、中央处理器占用率大于预设的占用率阈值和源站帧率小于预设的帧率阈值,则将直播内容推送策略调整为重推送直播内容。
在直播过程中,确定推流客户端的网络状态异常、中央处理器占用率大于预设的占用率阈值或源站帧率小于预设的帧率阈值后,将推流客户端的直播内容推送策略调整为中重新开始推送直播内容,使推流客户端根据直播内容推送策略中断推送直播内容后重新开始推送直播内容,以解决由于网络状态异常、中央处理器占用率过大或源站帧率过低而导致的直播卡顿问题。
例如,在直播过程中,如果推流客户端的网络出现异常,或者中央处理器占用率大于占用率阈值,比如占用率阈值为80%,或者源站帧率小于帧率阈值,比如帧率阈值为15fps,则将直播内容推送策略调整为重推送直播内容。
图7是根据本公开示例性实施例的一种直播处理装置700的示意性框图。如图7所示,直播处理装置700包括:
第一获取模块701,用于获取第一历史直播参数,其中,第一历史直播参数为包括拉流客户端的历史直播数据;
拉流配置模块702,用于在直播开始前,基于第一历史直播参数,预先配置拉流客户端的直播内容拉取策略;
第二获取模块703,用于在直播过程中,获取拉流客户端的当前直播参数;
调整模块704,用于响应于确定拉流客户端出现直播卡顿,基于当前直播参数,对拉流客户端的直播内容拉取策略进行调整。
在本公开的一些实施例中,第一获取模块701可用于执行上述方法实施例中的步骤201,拉流配置模块702可用于执行上述方法实施例中的步骤202,第二获取模块703可用于执行上述方法实施例中的步骤203,调整模块704可用于执行上述方法实施例中的步骤204。
在一种可能的实现方式中,当前直播参数包括第一网络丢包率、第一视频码率、第一网络延时和内容分发网络节点中的一个或多个,并且其中,第一网络丢包率为拉流客户端的网络丢包率,第一视频码率为拉流客户端的视频码率,第一网络延时为拉流客户端的网络延时。
调整模块704还可以用于基于第一网络丢包率、第一视频码率、第一网络延时和内容分发网络节点中的一个或多个,对拉流客户端的直播内容拉取策略进行调整。
在一种可能的实现方式中,当前直播参数包括第一网络丢包率,第一网络丢包率为拉流客户端的网络丢包率,预先配置的直播内容拉取策略的协议为第一协议。
调整模块704还可以用于响应于确定第一网络丢包率大于预设的第一丢包率阈值,将第一协议调整为第二协议,其中,第一协议的丢包率阈值小于第二协议的丢包率阈值。
在一种可能的实现方式中,当前直播参数包括第一视频码率和第一网络延时,第一视频码率为拉流客户端的视频码率,第一网络延时为拉流客户端的网络延时,预先配置的直播内容拉取策略的分辨率为第一分辨率。
调整模块704还可以用于响应于确定当前直播参数满足以下条件之一:第一视频码率小于预设的第一码率阈值及第一网络延时大于预设的第一延时阈值,将第一分辨率调整为第二分辨率,其中,第一分辨率大于第二分辨率。
在一种可能的实现方式中,当前直播参数包括内容分发网络节点,预先配置的直播内容拉取策略的内容分发网络节点为第一内容分发网络节点。
调整模块704还可以用于响应于确定第一内容分发网络节点发生异常,将直播内容拉取策略的内容分发网络节点调整为正常的第二内容分发网络节点。
在一种可能的实现方式中,直播处理装置700还包括:
第三获取模块,用于获取第二历史直播参数,其中,第二历史直播参数包括推流客户端的历史直播数据;以及
推流配置模块,用于在直播开始前,基于第二历史直播参数,预先配置推流客户端的直播内容推送策略。
在本公开的一些实施例中,第三获取模块可用于执行上述方法实施例中的步骤501,推流配置模块可用于执行上述方法实施例中的步骤502。
在一种可能的实现方式中,推流配置模块706用于基于第二历史直播参数,为推流客户端预先配置包括主线路推送策略和备用线路推送策略的直播内容推送策略,其中,主线路推送策略包括第三协议和第三分辨率,备用线路推送策略包括第四协议和第四分辨率,其中,第三协议的丢包率阈值小于第四协议的丢包率阈值,第三分辨率大于第四分辨率。
在一种可能的实现方式中,第二历史直播参数包括第二网络丢包率,第二网络丢包率为推流客户端的网络丢包率。
推流配置模块还可以用于响应于确定第二网络丢包率大于预设的第二丢包率阈值,为推流客户端预先配置包括至少两个协议的直播内容推送策略,其中,至少两个协议对应的丢包率阈值不同。
在一种可能的实现方式中,第二历史直播参数包括第二视频码率和第二网络延时,第二视频码率为推流客户端的视频码率,第二网络延时为推流客户端的网络延时。
推流配置模块还可以用于响应于确定第二历史直播参数满足以下条件之一:第二视频码率小于预设的第二码率阈值,及第二网络延时大于预设的第二延时阈值;则为推流客户端预先配置包括至少两个分辨率的直播内容推送策略,其中,至少两个分辨率对应的分辨率值不同。
在一种可能的实现方式中,第三获取模块用于获取推流客户端的网络状态、中央处理器占用率和源站帧率。推流配置模块用于响应于确定推流客户端满足以下条件之一:网络状态为异常、中央处理器占用率大于预设的占用率阈值及源站帧率小于预设的帧率阈值,将直播内容推送策略调整为重推送直播内容。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
参考图8,现将描述可以作为本公开的服务器或客户端的电子设备800的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806、输出单元807、存储单元808以及通信单元809。输入单元806可以是能向电子设备800输入信息的任何类型的设备,输入单元806可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元807可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元808可以包括但不限于磁盘、光盘。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理。例如,在一些实施例中,方法200、方法300和方法500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。在一些实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200、方法300和方法500。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
Claims (14)
1.一种直播处理方法,包括:
获取第一历史直播参数,其中,所述第一历史直播参数包括拉流客户端的历史直播数据;
在直播开始前,基于所述第一历史直播参数,预先配置所述拉流客户端的直播内容拉取策略;
在直播过程中,获取所述拉流客户端的当前直播参数;
响应于确定所述拉流客户端出现直播卡顿,基于所述当前直播参数,对所述拉流客户端的所述直播内容拉取策略进行调整。
2.根据权利要求1所述的方法,其中,所述当前直播参数包括第一网络丢包率、第一视频码率、第一网络延时和内容分发网络节点中的一个或多个,并且其中,所述第一网络丢包率为所述拉流客户端的网络丢包率,所述第一视频码率为所述拉流客户端的视频码率,所述第一网络延时为所述拉流客户端的网络延时,
并且其中,基于所述当前直播参数,对所述拉流客户端的所述直播内容拉取策略进行调整,包括:
基于所述第一网络丢包率、所述第一视频码率、所述第一网络延时和所述内容分发网络节点中的一个或多个,对所述拉流客户端的所述直播内容拉取策略进行调整。
3.根据权利要求2所述的方法,其中,所述当前直播参数包括第一网络丢包率,所述第一网络丢包率为所述拉流客户端的网络丢包率,预先配置的所述直播内容拉取策略的协议为第一协议,
并且其中,基于所述当前直播参数,对所述拉流客户端的所述直播内容拉取策略进行调整包括:
响应于确定所述第一网络丢包率大于预设的第一丢包率阈值,将所述第一协议调整为第二协议,其中,所述第一协议的丢包率阈值小于所述第二协议的丢包率阈值。
4.根据权利要求2所述的方法,其中,所述当前直播参数包括第一视频码率和第一网络延时,所述第一视频码率为所述拉流客户端的视频码率,所述第一网络延时为所述拉流客户端的网络延时,预先配置的所述直播内容拉取策略的分辨率为第一分辨率,
并且其中,基于所述当前直播参数,对所述拉流客户端的所述直播内容拉取策略进行调整包括:
响应于确定所述当前直播参数满足以下条件之一:
所述第一视频码率小于预设的第一码率阈值;
所述第一网络延时大于预设的第一延时阈值;
将所述第一分辨率调整为第二分辨率,其中,所述第一分辨率大于所述第二分辨率。
5.根据权利要求2所述的方法,其中,所述当前直播参数包括内容分发网络节点,预先配置的所述直播内容拉取策略的内容分发网络节点为第一内容分发网络节点,
并且其中,基于所述当前直播参数,对所述拉流客户端的所述直播内容拉取策略进行调整包括:
响应于确定所述第一内容分发网络节点发生异常,将所述直播内容拉取策略的内容分发网络节点调整为正常的第二内容分发网络节点。
6.根据权利要求1-5中任一项所述的方法,还包括:
获取第二历史直播参数,其中,所述第二历史直播参数包括推流客户端的历史直播数据;以及
在直播开始前,基于所述第二历史直播参数,预先配置所述推流客户端的直播内容推送策略。
7.根据权利要求6所述的方法,其中,基于所述第二历史直播参数,预先配置所述推流客户端的直播内容推送策略包括:
基于所述第二历史直播参数,为所述推流客户端预先配置包括主线路推送策略和备用线路推送策略的直播内容推送策略,其中,所述主线路推送策略包括第三协议和第三分辨率,所述备用线路推送策略包括第四协议和第四分辨率,其中,所述第三协议的丢包率阈值小于所述第四协议的丢包率阈值,所述第三分辨率大于所述第四分辨率。
8.根据权利要求6所述的方法,其中,所述第二历史直播参数包括第二网络丢包率,所述第二网络丢包率为所述推流客户端的网络丢包率,
并且其中,基于所述第二历史直播参数,预先配置所述推流客户端的直播内容推送策略包括:
响应于确定所述第二网络丢包率大于预设的第二丢包率阈值,为所述推流客户端预先配置包括至少两个协议的直播内容推送策略,其中,所述至少两个协议对应的丢包率阈值不同。
9.根据权利要求6所述的方法,其中,所述第二历史直播参数包括第二视频码率和第二网络延时,所述第二视频码率为所述推流客户端的视频码率,所述第二网络延时为所述推流客户端的网络延时,
并且其中,基于所述第二历史直播参数,预先配置所述推流客户端的直播内容推送策略包括:
响应于确定所述第二历史直播参数满足以下条件之一:
所述第二视频码率小于预设的第二码率阈值;
所述第二网络延时大于预设的第二延时阈值;
为所述推流客户端预先配置包括至少两个分辨率的直播内容推送策略,其中,所述至少两个分辨率对应的分辨率值不同。
10.根据权利要求6所述的方法,还包括:
获取所述推流客户端的网络状态、中央处理器占用率和源站帧率;以及
响应于确定所述推流客户端满足以下条件之一:
所述网络状态为异常;
所述中央处理器占用率大于预设的占用率阈值;
所述源站帧率小于预设的帧率阈值;
将所述直播内容推送策略调整为重推送直播内容。
11.一种直播处理装置,包括:
第一获取模块,用于获取第一历史直播参数,其中,所述第一历史直播参数为包括拉流客户端的历史直播数据;
拉流配置模块,用于在直播开始前,基于所述第一历史直播参数,预先配置所述拉流客户端的直播内容拉取策略;
第二获取模块,用于在直播过程中,获取所述拉流客户端的当前直播参数;
调整模块,用于响应于确定所述拉流客户端出现直播卡顿,基于所述当前直播参数,对所述拉流客户端的所述直播内容拉取策略进行调整。
12.一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-10中任一项所述的方法。
13.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-10中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110716460.4A CN113259706B (zh) | 2021-06-28 | 2021-06-28 | 直播处理方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110716460.4A CN113259706B (zh) | 2021-06-28 | 2021-06-28 | 直播处理方法、装置、电子设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113259706A true CN113259706A (zh) | 2021-08-13 |
CN113259706B CN113259706B (zh) | 2022-06-17 |
Family
ID=77189793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110716460.4A Active CN113259706B (zh) | 2021-06-28 | 2021-06-28 | 直播处理方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259706B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113763137A (zh) * | 2021-11-10 | 2021-12-07 | 山东派盟网络科技有限公司 | 信息推送方法及计算机设备 |
CN113766261A (zh) * | 2021-09-06 | 2021-12-07 | 百果园技术(新加坡)有限公司 | 一种确定预拉取时长方法、装置、电子设备及存储介质 |
CN113923483A (zh) * | 2021-09-30 | 2022-01-11 | 北京金山云网络技术有限公司 | 直播异常的处理方法和装置、电子设备和存储介质 |
CN114189700A (zh) * | 2021-11-23 | 2022-03-15 | 广州博冠信息科技有限公司 | 直播卡顿提示方法、装置、计算机设备和存储介质 |
CN114501066A (zh) * | 2021-12-30 | 2022-05-13 | 浙江大华技术股份有限公司 | 视频流处理方法、系统、计算机设备和存储介质 |
CN114598428A (zh) * | 2022-05-10 | 2022-06-07 | 北京中科大洋科技发展股份有限公司 | 一种基于srt协议的冗余推流方法 |
CN114697695A (zh) * | 2022-03-28 | 2022-07-01 | 阿里巴巴(中国)有限公司 | 直播数据推送方法、装置、设备及存储介质 |
CN114845139A (zh) * | 2022-04-27 | 2022-08-02 | 抖动科技(深圳)有限公司 | 多层次混合分发方法、电子设备及可读存储介质 |
CN115002086A (zh) * | 2022-05-23 | 2022-09-02 | 阿里巴巴(中国)有限公司 | 实时流媒体的传输方法及电子设备 |
CN115022660A (zh) * | 2022-06-01 | 2022-09-06 | 上海哔哩哔哩科技有限公司 | 内容分发网络的参数配置方法及系统 |
CN115065832A (zh) * | 2022-05-07 | 2022-09-16 | 武汉斗鱼鱼乐网络科技有限公司 | 一种基于WebRtc的直播方法及相关设备 |
CN115622984A (zh) * | 2022-10-19 | 2023-01-17 | 上海哔哩哔哩科技有限公司 | 推流质量提升方法及装置 |
CN113766261B (zh) * | 2021-09-06 | 2024-06-11 | 百果园技术(新加坡)有限公司 | 一种确定预拉取时长方法、装置、电子设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005109786A1 (ja) * | 2004-05-06 | 2005-11-17 | Matsushita Electric Industrial Co., Ltd. | インターネット接続端末装置およびインターネット接続状態確認方法 |
CN101834879A (zh) * | 2010-02-09 | 2010-09-15 | 北京中科大洋科技发展股份有限公司 | 一种适应不同网络环境的智能高效视音频数据传输方法 |
EP2642691A1 (en) * | 2010-12-07 | 2013-09-25 | ZTE Corporation | Method and device for link fault detecting and recovering based on arp interaction |
CN106303753A (zh) * | 2016-08-04 | 2017-01-04 | 青岛海信电器股份有限公司 | 播放网络视频的方法及装置 |
CN106803951A (zh) * | 2015-11-26 | 2017-06-06 | 德科仕通信(上海)有限公司 | Hls直播卡顿故障诊断方法 |
CN107277160A (zh) * | 2017-07-12 | 2017-10-20 | 北京潘达互娱科技有限公司 | 一种内容分发网络节点切换方法与装置 |
CN109587510A (zh) * | 2018-12-10 | 2019-04-05 | 广州虎牙科技有限公司 | 一种直播方法、装置、设备和存储介质 |
CN109672910A (zh) * | 2018-12-25 | 2019-04-23 | 北京微播视界科技有限公司 | 视频播放方法、装置、电子设备及计算机可读存储介质 |
CN110225420A (zh) * | 2019-06-18 | 2019-09-10 | 亦非云互联网技术(上海)有限公司 | 一种播放/决策方法/系统、介质、播放端及服务端 |
CN110677727A (zh) * | 2019-09-10 | 2020-01-10 | 北京奇艺世纪科技有限公司 | 音视频播放方法、装置、电子设备及存储介质 |
CN111277846A (zh) * | 2020-01-15 | 2020-06-12 | 广州虎牙科技有限公司 | 一种直播的异常定位方法、装置、计算机设备和存储介质 |
CN112752113A (zh) * | 2020-12-28 | 2021-05-04 | 上海哔哩哔哩科技有限公司 | 直播服务器异常因素的确定方法及装置 |
-
2021
- 2021-06-28 CN CN202110716460.4A patent/CN113259706B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005109786A1 (ja) * | 2004-05-06 | 2005-11-17 | Matsushita Electric Industrial Co., Ltd. | インターネット接続端末装置およびインターネット接続状態確認方法 |
CN101834879A (zh) * | 2010-02-09 | 2010-09-15 | 北京中科大洋科技发展股份有限公司 | 一种适应不同网络环境的智能高效视音频数据传输方法 |
EP2642691A1 (en) * | 2010-12-07 | 2013-09-25 | ZTE Corporation | Method and device for link fault detecting and recovering based on arp interaction |
CN106803951A (zh) * | 2015-11-26 | 2017-06-06 | 德科仕通信(上海)有限公司 | Hls直播卡顿故障诊断方法 |
CN106303753A (zh) * | 2016-08-04 | 2017-01-04 | 青岛海信电器股份有限公司 | 播放网络视频的方法及装置 |
CN107277160A (zh) * | 2017-07-12 | 2017-10-20 | 北京潘达互娱科技有限公司 | 一种内容分发网络节点切换方法与装置 |
CN109587510A (zh) * | 2018-12-10 | 2019-04-05 | 广州虎牙科技有限公司 | 一种直播方法、装置、设备和存储介质 |
CN109672910A (zh) * | 2018-12-25 | 2019-04-23 | 北京微播视界科技有限公司 | 视频播放方法、装置、电子设备及计算机可读存储介质 |
CN110225420A (zh) * | 2019-06-18 | 2019-09-10 | 亦非云互联网技术(上海)有限公司 | 一种播放/决策方法/系统、介质、播放端及服务端 |
CN110677727A (zh) * | 2019-09-10 | 2020-01-10 | 北京奇艺世纪科技有限公司 | 音视频播放方法、装置、电子设备及存储介质 |
CN111277846A (zh) * | 2020-01-15 | 2020-06-12 | 广州虎牙科技有限公司 | 一种直播的异常定位方法、装置、计算机设备和存储介质 |
CN112752113A (zh) * | 2020-12-28 | 2021-05-04 | 上海哔哩哔哩科技有限公司 | 直播服务器异常因素的确定方法及装置 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113766261A (zh) * | 2021-09-06 | 2021-12-07 | 百果园技术(新加坡)有限公司 | 一种确定预拉取时长方法、装置、电子设备及存储介质 |
CN113766261B (zh) * | 2021-09-06 | 2024-06-11 | 百果园技术(新加坡)有限公司 | 一种确定预拉取时长方法、装置、电子设备及存储介质 |
CN113923483A (zh) * | 2021-09-30 | 2022-01-11 | 北京金山云网络技术有限公司 | 直播异常的处理方法和装置、电子设备和存储介质 |
CN113763137A (zh) * | 2021-11-10 | 2021-12-07 | 山东派盟网络科技有限公司 | 信息推送方法及计算机设备 |
CN113763137B (zh) * | 2021-11-10 | 2022-10-14 | 山东派盟网络科技有限公司 | 信息推送方法及计算机设备 |
CN114189700A (zh) * | 2021-11-23 | 2022-03-15 | 广州博冠信息科技有限公司 | 直播卡顿提示方法、装置、计算机设备和存储介质 |
CN114501066A (zh) * | 2021-12-30 | 2022-05-13 | 浙江大华技术股份有限公司 | 视频流处理方法、系统、计算机设备和存储介质 |
CN114697695A (zh) * | 2022-03-28 | 2022-07-01 | 阿里巴巴(中国)有限公司 | 直播数据推送方法、装置、设备及存储介质 |
CN114697695B (zh) * | 2022-03-28 | 2024-03-08 | 阿里巴巴(中国)有限公司 | 直播数据推送方法、装置、设备及存储介质 |
CN114845139A (zh) * | 2022-04-27 | 2022-08-02 | 抖动科技(深圳)有限公司 | 多层次混合分发方法、电子设备及可读存储介质 |
CN114845139B (zh) * | 2022-04-27 | 2024-02-13 | 抖动科技(深圳)有限公司 | 多层次混合分发方法、电子设备及可读存储介质 |
CN115065832A (zh) * | 2022-05-07 | 2022-09-16 | 武汉斗鱼鱼乐网络科技有限公司 | 一种基于WebRtc的直播方法及相关设备 |
CN114598428A (zh) * | 2022-05-10 | 2022-06-07 | 北京中科大洋科技发展股份有限公司 | 一种基于srt协议的冗余推流方法 |
CN115002086A (zh) * | 2022-05-23 | 2022-09-02 | 阿里巴巴(中国)有限公司 | 实时流媒体的传输方法及电子设备 |
CN115002086B (zh) * | 2022-05-23 | 2024-04-02 | 阿里巴巴(中国)有限公司 | 实时流媒体的传输方法及电子设备 |
CN115022660B (zh) * | 2022-06-01 | 2024-03-19 | 上海哔哩哔哩科技有限公司 | 内容分发网络的参数配置方法及系统 |
CN115022660A (zh) * | 2022-06-01 | 2022-09-06 | 上海哔哩哔哩科技有限公司 | 内容分发网络的参数配置方法及系统 |
CN115622984A (zh) * | 2022-10-19 | 2023-01-17 | 上海哔哩哔哩科技有限公司 | 推流质量提升方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113259706B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113259706B (zh) | 直播处理方法、装置、电子设备以及存储介质 | |
US10362323B2 (en) | Methods and apparatus of encoding real time media content | |
EP3926947B1 (en) | Dynamic video resolution and quality for improved video conferencing | |
EP3179732B1 (en) | Synchronizing playback of segmented video content across multiple video playback devices | |
CN111601118B (zh) | 直播视频的处理方法、系统、装置及终端 | |
US10645342B2 (en) | Method and system for new layout experience in video communication | |
US9641559B2 (en) | Methods and systems for dynamic adjustment of session parameters for effective video collaboration among heterogeneous devices | |
US20240073263A1 (en) | Video and audio data processing method and apparatus, computer-readable storage medium, and electronic apparatus | |
US8760490B2 (en) | Techniques for a rate-adaptive video conference bridge | |
US8572162B2 (en) | Adaptive screen painting to enhance user perception during remote management sessions | |
CN102480613B (zh) | 会议电视系统的终端的视频监控方法、装置及系统 | |
WO2013017165A1 (en) | Shaping media traffic based on manifest file in http adaptive streaming | |
CN110557458A (zh) | 远程控制娱乐终端的方法、装置及5g自助银行娱乐系统 | |
EP2667601B1 (en) | Method and device for implementing fast channel change | |
CN117321968A (zh) | 虚拟会议中屏幕共享的自动问题识别和状态通知 | |
CN115209189B (zh) | 一种视频流传输方法、系统、服务器及存储介质 | |
US20220158952A1 (en) | Delivery of Multimedia Components According to User Activity | |
CN111836020B (zh) | 监控系统中的码流传输方法、装置及存储介质 | |
CN115334068A (zh) | 一种数据传输方法、装置、终端设备和存储介质 | |
CN116781973B (zh) | 视频编解码方法、装置、存储介质和电子设备 | |
US11985072B2 (en) | Multimedia data stream processing method, electronic device, and storage medium | |
CN114501083A (zh) | 码率调节方法、装置、设备、介质及程序产品 | |
JP2007274593A (ja) | 映像受信装置及び映像配信システム並びに映像受信方法 | |
CN115580697A (zh) | 一种设备的远程控制方法、系统、装置及存储介质 | |
CN116132727A (zh) | 一种数据传输类型确定方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |