CN108616776B - 直播分析数据获取方法及装置 - Google Patents
直播分析数据获取方法及装置 Download PDFInfo
- Publication number
- CN108616776B CN108616776B CN201810415672.7A CN201810415672A CN108616776B CN 108616776 B CN108616776 B CN 108616776B CN 201810415672 A CN201810415672 A CN 201810415672A CN 108616776 B CN108616776 B CN 108616776B
- Authority
- CN
- China
- Prior art keywords
- stage
- audio
- frame
- video
- frame rate
- 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.)
- Active
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/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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种直播分析数据获取方法及装置,属于链路监控技术领域。通过将直播过程中同一秒内的音视频帧组,及其在各阶段的帧率进行采集和关联,得到一组从主播设备到观众设备的音视频帧组与对应帧率的数据,在视频发生卡顿时,将卡顿的帧所在的音视频帧组在各阶段的帧率数据进行提取和分析,即能迅速准确判断出整个直播链路中的卡顿阶段。本方案通过将同一帧组在直播各阶段的帧率数据进行关联,提高了卡顿发生阶段的排查工作效率及其准确性,实用性强。
Description
技术领域
本发明涉及链路监控领域,特别涉及一种直播分析数据获取方法及装置。
背景技术
在直播过程中,卡顿一直是影响观众观看体验的重要问题之一。视频发生卡顿时,画面流畅度不佳,音频或视频帧率低。由于直播平台、主播设备、直播内容、观众设备以及网络状况的不同,导致视频发生卡顿的原因异常复杂。从主播设备到观众设备的直播链路跨度大、链路长,使得直播卡顿问题阶段的定位工作难上加难。
目前的技术仅能够分别统计主播设备和观众设备某一个视频处理阶段的视频帧率。
上述技术统计出的视频帧率数据比较单一,当视频发生卡顿时,并不能以上述帧率为依据确定从主播设备到观众设备的直播链路各阶段中的卡顿发生阶段,缺乏实用性。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种直播分析数据获取方法及装置。该技术方案如下:
第一方面,提供了一种直播分析数据获取方法,应用于第一设备,该方法包括:
实时监控直播过程中的采集阶段、编码阶段及发送阶段;
获取该直播过程中每秒内的音视频帧组在采集阶段、编码阶段及发送阶段的帧率;
将该直播过程中获取到的每个音视频帧组和获取到的该帧率,发送至直播服务器。
在一种可能实现方式中,该方法还包括:
实时监控该直播过程中的图像美化阶段;
获取该直播过程中每秒内的音视频帧组在图像美化阶段中的帧率。
在一种可能实现方式中,该获取该直播过程中每秒内的音视频帧组在采集阶段、编码阶段及发送阶段的帧率包括:
在采集阶段中,对摄像头采集到的每秒内的音视频帧,添加对应的时间标记;
将具有相同时间标记的音视频帧作为一个音视频帧组,获取该音视频帧组在采集阶段的帧率;
获取该音视频帧组在编码阶段的帧率以及发送阶段的帧率。
在一种可能实现方式中,该获取该音视频帧组在编码阶段的帧率以及发送阶段的帧率包括:
根据该音视频帧组内的帧数以及该音视频帧组在该编码阶段的处理时长,得到该音视频帧组在编码阶段的帧率;
根据该音视频帧组内的帧数以及该音视频帧组在该发送阶段的处理时长,得到该音视频帧组在发送阶段的帧率。
在一种可能实现方式中,该方法还包括:
获取第一设备的内置音视频参数、处理器参数以及网络参数;
将第一设备的内置音视频参数、处理器参数以及网络参数发送至该直播服务器。
第二方面,提供了一种直播分析数据获取方法,应用于第二设备,该方法包括:
接收直播服务器发送的每个音视频帧组及每个音视频帧组在采集阶段、编码阶段及发送阶段的帧率;
实时监控直播过程中的接收阶段、解码阶段及渲染阶段;
获取该直播过程中每秒内的音视频帧组在接收阶段、解码阶段及渲染阶段的帧率;
当该渲染阶段发生卡顿时,将该发生卡顿的帧所在的帧组在采集阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率发送给数据分析服务器。
在一种可能实现方式中,该获取该直播过程中每秒内的音视频帧组在接收阶段、解码阶段及渲染阶段的帧率,包括:
将具有相同时间标记的音视频帧作为一个音视频帧组,获取该音视频帧组在接收阶段、解码阶段及渲染阶段的帧率。
在一种可能实现方式中,该获取该直播过程中每秒内的音视频帧组在接收阶段、解码阶段及渲染阶段的帧率,包括:
根据该音视频帧组内的帧数以及该音视频帧组在该接收阶段的处理时长,得到该音视频帧组在接收阶段的帧率;
根据该音视频帧组内的帧数以及该音视频帧组在该解码阶段的处理时长,得到该音视频帧组在解码阶段的帧率;
根据该音视频帧组内的帧数以及该音视频帧组在该渲染阶段的处理时长,得到该音视频帧组在渲染阶段的帧率。
在一种可能实现方式中,该当该渲染阶段发生卡顿时,将发生卡顿的帧所在的帧组在采集阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率发送给数据分析服务器,包括:
当该渲染阶段的音频帧与帧之间的时间间隔大于第一预设阈值,或者当该渲染阶段的视频帧与帧之间的时间间隔大于第二预设阈值时,即为该渲染阶段发生卡顿,对该发生卡顿的帧所在的帧组添加卡顿标记;
将添加卡顿标记的帧组在采集阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率发送给数据分析服务器。
在一种可能实现方式中,该方法还包括:
获取该第二设备的内置音视频参数、处理器参数以及网络参数;
将该第二设备的内置音视频参数、处理器参数以及网络参数发送至数据分析服务器。
第三方面,提供了一种卡顿发生阶段的定位方法,应用于数据分析服务器,该方法包括:
接收添加卡顿标记的帧组在第一设备上的采集阶段、编码阶段、发送阶段的帧率以及在各个第二设备上接收阶段、解码阶段及渲染阶段的帧率;
根据该接收到各个阶段的帧率及各个阶段对应的帧率阈值,以及各阶段的先后顺序,确定目标阶段;
对该各个目标阶段进行统计分析,确定卡顿发生的阶段。
在一种可能实现方式中,该根据该接收到各个阶段的帧率及各个阶段对应的帧率阈值,以及各阶段的先后顺序,确定目标阶段,包括:
当该采集阶段的帧率低于该采集阶段的帧率阈值时,确定该采集阶段为目标阶段;
当该编码阶段的帧率低于该编码阶段的帧率阈值时,确定该编码阶段为目标阶段;
当该发送阶段的帧率低于该发送阶段的帧率阈值时,确定该发送阶段为目标阶段;
当该接收阶段的帧率低于该接收阶段的帧率阈值时,确定该接收阶段为目标阶段;
当该解码阶段的帧率低于该解码阶段的帧率阈值时,确定该解码阶段为目标阶段;
当该渲染阶段的帧率低于该渲染阶段的帧率阈值时,确定该渲染阶段为目标阶段。
在一种可能实现方式中,该对该各个目标阶段进行统计分析,确定卡顿发生的阶段,包括:
对该各个目标阶段进行统计分析,获取每一个目标阶段数量与第二设备数量的比值,确定该所占比值最高的目标阶段为卡顿发生的阶段。
第四方面,提供了一种直播分析数据获取装置,应用于第一设备,该装置包括:
实时监控模块,用于实时监控直播过程中的采集阶段、编码阶段及发送阶段;
帧率获取模块,用于获取该直播过程中每秒内的音视频帧组在采集阶段、编码阶段及发送阶段的帧率;
数据发送模块,用于将该直播过程中获取到的每个音视频帧组和获取到的该帧率,发送至直播服务器。
在一种可能实现方式中,该装置还包括:
该实时监控模块,用于实时监控该直播过程中的图像美化阶段;
该帧率获取模块,用于获取该直播过程中每秒内的音视频帧组在图像美化阶段中的帧率。
在一种可能实现方式中,该帧率获取模块用于:
在采集阶段中,对摄像头采集到的每秒内的音视频帧,添加对应的时间标记;
将具有相同时间标记的音视频帧作为一个音视频帧组,获取该音视频帧组在采集阶段的帧率;
获取该音视频帧组在编码阶段的帧率以及发送阶段的帧率。
在一种可能实现方式中,该帧率获取模块用于:
根据该音视频帧组内的帧数以及该音视频帧组在该编码阶段的处理时长,得到该音视频帧组在编码阶段的帧率;
根据该音视频帧组内的帧数以及该音视频帧组在该发送阶段的处理时长,得到该音视频帧组在发送阶段的帧率。
在一种可能实现方式中,该装置还包括:
参数值获取模块,用于获取第一设备的内置音视频参数、处理器参数以及网络参数;
该数据发送模块,还用于将第一设备的内置音视频参数、处理器参数以及网络参数发送至该直播服务器。
第五方面,提供了一种直播分析数据获取装置,应用于第二设备,该装置包括:
数据接收模块,用于接收直播服务器发送的每个音视频帧组及该每个音视频帧组在采集阶段、编码阶段及发送阶段的帧率;
实时监控模块,用于实时监控直播过程中的接收阶段、解码阶段及渲染阶段;
帧率获取模块,用于获取该直播过程中每秒内的音视频帧组在接收阶段、解码阶段及渲染阶段的帧率;
数据发送模块,用于当该渲染阶段发生卡顿时,将该发生卡顿的帧所在的帧组在采集阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率发送给数据分析服务器。
在一种可能实现方式中,该帧率获取模块用于:
将具有相同时间标记的音视频帧作为一个音视频帧组,获取该音视频帧组在接收阶段、解码阶段及渲染阶段的帧率。
在一种可能实现方式中,该帧率获取模块用于:
根据该音视频帧组内的帧数以及该音视频帧组在该接收阶段的处理时长,得到该音视频帧组在接收阶段的帧率;
根据该音视频帧组内的帧数以及该音视频帧组在该解码阶段的处理时长,得到该音视频帧组在解码阶段的帧率;
根据该音视频帧组内的帧数以及该音视频帧组在该渲染阶段的处理时长,得到该音视频帧组在渲染阶段的帧率。
在一种可能实现方式中,该数据发送模块用于:
当该渲染阶段的音频帧与帧之间的时间间隔大于第一预设阈值,或者当该渲染阶段的视频帧与帧之间的时间间隔大于第二预设阈值时,即为该渲染阶段发生卡顿,对该发生卡顿的帧所在的帧组添加卡顿标记;
将添加卡顿标记的帧组在采集阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率发送给数据分析服务器。
在一种可能实现方式中,该装置还包括:
参数值获取模块,用于获取该第二设备的内置音视频参数、处理器参数以及网络参数;
该数据发送模块,还用于将该第二设备的内置音视频参数、处理器参数以及网络参数发送至数据分析服务器。
第六方面,提供了一种卡顿发生阶段的定位装置,应用于数据分析服务器,该装置包括:
数据接收模块,用于接收添加卡顿标记的帧组在第一设备上的采集阶段、编码阶段、发送阶段的帧率以及在各个第二设备上接收阶段、解码阶段及渲染阶段的帧率;
目标阶段确定模块,用于根据该接收到各个阶段的帧率及各个阶段对应的帧率阈值,以及各阶段的先后顺序,确定目标阶段;
卡顿发生阶段确定模块,用于对该各个目标阶段进行统计分析,确定卡顿发生的阶段。
在一种可能实现方式中,该目标阶段确定模块用于:
当该采集阶段的帧率低于该采集阶段的帧率阈值时,确定该采集阶段为目标阶段;
当该编码阶段的帧率低于该编码阶段的帧率阈值时,确定该编码阶段为目标阶段;
当该发送阶段的帧率低于该发送阶段的帧率阈值时,确定该发送阶段为目标阶段;
当该接收阶段的帧率低于该接收阶段的帧率阈值时,确定该接收阶段为目标阶段;
当该解码阶段的帧率低于该解码阶段的帧率阈值时,确定该解码阶段为目标阶段;
当该渲染阶段的帧率低于该渲染阶段的帧率阈值时,确定该渲染阶段为目标阶段。
在一种可能实现方式中,该卡顿发生阶段确定模块用于:
对各个目标阶段进行统计分析,获取每一个目标阶段数量与第二设备数量的比值,确定该所占比值最高的目标阶段为卡顿发生的阶段。
本发明实施例提供的技术方案带来的有益效果包括:
通过获取直播过程中从主播设备到观众设备的同一秒内的音视频帧组与对应帧率的数据,在视频发生卡顿时,将卡顿的帧所在的音视频帧组在各阶段的帧率数据进行提取和分析,即能迅速准确判断出整个直播链路中的卡顿阶段。本方案通过将同一帧组在直播各阶段的帧率数据进行关联,提高了卡顿发生阶段的排查工作效率及其准确性,实用性强。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实施场景的示意图;
图2是本发明实施例提供的一种直播分析数据获取方法流程图;
图3是本发明实施例提供的一种直播分析数据获取方法流程图;
图4是本发明实施例提供的一种卡顿发生阶段的定位方法流程图;
图5是本发明实施例提供的一种直播分析数据获取方法流程图;
图6是本发明实施例提供的一种直播分析数据获取装置的结构示意图;
图7是本发明实施例提供的一种直播分析数据获取装置的结构示意图;
图8是本发明实施例提供的一种卡顿发生阶段的定位装置的结构示意图;
图9示出了本发明一个示例性实施例提供的电子设备900的结构框图;
图10是本发明实施例提供的一种数据分析服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种实施场景的示意图。参见图1,该实施场景中包括多个第一设备101、直播服务器102、多个第二设备103和数据分析服务器104,其中,直播服务器102可以连接多个第一设备101和多个第二设备103,第二设备103与数据分析服务器104相连。第一设备101用来进行直播数据的采集、编码和发送,直播服务器用来进行直播数据的接收和发送,第二设备103用来进行直播数据的接收、解码和渲染,数据分析服务器用来接收数据并分析。第一设备101可以将直播数据发送到直播服务器102,直播服务器102可以将直播数据发送给相应的多个第二设备103,第二设备103可以将经过筛选的直播数据发送给数据分析服务器104。
图2是本发明实施例提供的一种直播分析数据获取方法流程图。参见图2,该方法包括:
201、第一设备实时监控直播过程中的采集阶段、编码阶段及发送阶段。
202、第一设备获取该直播过程中每秒内的音视频帧组在采集阶段、编码阶段及发送阶段的帧率。
203、第一设备将该直播过程中获取到的每个音视频帧组和获取到的该帧率,发送至直播服务器。
本发明实施例提供的方法,通过获取直播过程中从主播设备到观众设备的同一秒内的音视频帧组与对应帧率的数据,在视频发生卡顿时,将卡顿的帧所在的音视频帧组在各阶段的帧率数据进行提取和分析,即能迅速准确判断出整个直播链路中的卡顿阶段。本方案通过将同一帧组在直播各阶段的帧率数据进行关联,提高了卡顿发生阶段的排查工作效率及其准确性,实用性强。
在一种可能实现方式中,该方法还包括:
实时监控该直播过程中的图像美化阶段;
获取该直播过程中每秒内的音视频帧组在图像美化阶段中的帧率。
在一种可能实现方式中,该获取该直播过程中每秒内的音视频帧组在采集阶段、编码阶段及发送阶段的帧率包括:
在采集阶段中,对摄像头采集到的每秒内的音视频帧,添加对应的时间标记;
将具有相同时间标记的音视频帧作为一个音视频帧组,获取该音视频帧组在采集阶段的帧率;
获取该音视频帧组在编码阶段的帧率以及发送阶段的帧率。
在一种可能实现方式中,该获取该音视频帧组在编码阶段的帧率以及发送阶段的帧率包括:
根据该音视频帧组内的帧数以及该音视频帧组在该编码阶段的处理时长,得到该音视频帧组在编码阶段的帧率;
根据该音视频帧组内的帧数以及该音视频帧组在该发送阶段的处理时长,得到该音视频帧组在发送阶段的帧率。
在一种可能实现方式中,该方法还包括:
获取第一设备的内置音视频参数、处理器参数以及网络参数;
将第一设备的内置音视频参数、处理器参数以及网络参数发送至该直播服务器。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图3是本发明实施例提供的一种直播分析数据获取方法流程图。参见图3,该方法包括:
301、第二设备接收直播服务器发送的每个音视频帧组及该每个音视频帧组在采集阶段、编码阶段及发送阶段的帧率。
302、第二设备实时监控直播过程中的接收阶段、解码阶段及渲染阶段。
303、第二设备获取该直播过程中每秒内的音视频帧组在接收阶段、解码阶段及渲染阶段的帧率。
304、第二设备当该渲染阶段发生卡顿时,将发生卡顿的帧所在的帧组在采集阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率发送给数据分析服务器。
本发明实施例提供的方法,通过获取直播过程中从主播设备到观众设备的同一秒内的音视频帧组与对应帧率的数据,在视频发生卡顿时,将卡顿的帧所在的音视频帧组在各阶段的帧率数据进行提取和分析,即能迅速准确判断出整个直播链路中的卡顿阶段。本方案通过将同一帧组在直播各阶段的帧率数据进行关联,提高了卡顿发生阶段的排查工作效率及其准确性,实用性强。
在一种可能实现方式中,该获取该直播过程中每秒内的音视频帧组在接收阶段、解码阶段及渲染阶段的帧率,包括:
将具有相同时间标记的音视频帧作为一个音视频帧组,获取该音视频帧组在接收阶段、解码阶段及渲染阶段的帧率。
在一种可能实现方式中,该获取该直播过程中每秒内的音视频帧组在接收阶段、解码阶段及渲染阶段的帧率,包括:
根据该音视频帧组内的帧数以及该音视频帧组在该接收阶段的处理时长,得到该音视频帧组在接收阶段的帧率;
根据该音视频帧组内的帧数以及该音视频帧组在该解码阶段的处理时长,得到该音视频帧组在解码阶段的帧率;
根据该音视频帧组内的帧数以及该音视频帧组在该渲染阶段的处理时长,得到该音视频帧组在渲染阶段的帧率。
在一种可能实现方式中,该当该渲染阶段发生卡顿时,将发生卡顿的帧所在的帧组在采集阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率发送给数据分析服务器,包括:
当该渲染阶段的音频帧与帧之间的时间间隔大于第一预设阈值,或者当该渲染阶段的视频帧与帧之间的时间间隔大于第二预设阈值时,即为该渲染阶段发生卡顿,对该发生卡顿的帧所在的帧组添加卡顿标记;
将添加卡顿标记的帧组在采集阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率发送给数据分析服务器。
在一种可能实现方式中,该方法还包括:
获取该第二设备的内置音视频参数、处理器参数以及网络参数;
将该第二设备的内置音视频参数、处理器参数以及网络参数发送至数据分析服务器。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图4是本发明实施例提供的一种卡顿发生阶段的定位方法流程图。参见图4,该方法包括:
401、数据分析服务器接收该添加卡顿标记的帧组在第一设备上的采集阶段、编码阶段、发送阶段的帧率以及在各个第二设备上接收阶段、解码阶段及渲染阶段的帧率。
402、数据分析服务器根据该接收到各个阶段的帧率及各个阶段对应的帧率阈值,以及各阶段的先后顺序,确定目标阶段。
403、数据分析服务器对该各个目标阶段进行统计分析,确定卡顿发生的阶段。
本发明实施例提供的方法,通过获取直播过程中从主播设备到观众设备的同一秒内的音视频帧组与对应帧率的数据,在视频发生卡顿时,将卡顿的帧所在的音视频帧组在各阶段的帧率数据进行提取和分析,即能迅速准确判断出整个直播链路中的卡顿阶段。本方案通过将同一帧组在直播各阶段的帧率数据进行关联,提高了卡顿发生阶段的排查工作效率及其准确性,实用性强。
在一种可能实现方式中,该根据该接收到各个阶段的帧率及各个阶段对应的帧率阈值,以及各阶段的先后顺序,确定目标阶段,包括:
当该采集阶段的帧率低于该采集阶段的帧率阈值时,确定该采集阶段为目标阶段;
当该编码阶段的帧率低于该编码阶段的帧率阈值时,确定该编码阶段为目标阶段;
当该发送阶段的帧率低于该发送阶段的帧率阈值时,确定该发送阶段为目标阶段;
当该接收阶段的帧率低于该接收阶段的帧率阈值时,确定该接收阶段为目标阶段;
当该解码阶段的帧率低于该解码阶段的帧率阈值时,确定该解码阶段为目标阶段;
当该渲染阶段的帧率低于该渲染阶段的帧率阈值时,确定该渲染阶段为目标阶段。
在一种可能实现方式中,该对该各个目标阶段进行统计分析,确定卡顿发生的阶段,包括:
对该各个目标阶段进行统计分析,获取每一个目标阶段数量与第二设备数量的比值,确定该所占比值最高的目标阶段为卡顿发生的阶段。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图5是本发明实施例提供的一种直播分析数据获取方法流程图。参见图5,该方法包括:
501、第一设备实时监控直播过程中的采集阶段、图像美化阶段、编码阶段及发送阶段。
在本实施例中,具体可以按照下述步骤进行操作:
第一设备中,实时监控是指对直播的过程进行同步的监控;采集阶段是指使用摄像设备进行视频录制的过程;图像美化阶段是指用计算机对图像进行加工,以达到所需效果的过程;编码阶段是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的过程;发送阶段是指将已经编码的文件传送给其他设备的过程。
502、第一设备获取该直播过程中每秒内的音视频帧组在采集阶段、图像美化阶段、编码阶段及发送阶段的帧率。
在本实施例中,具体可以按照下述步骤进行操作:
第一设备在采集阶段中,对第一设备的摄像头采集到的每秒内的音视频帧,添加对应的时间标记。例如,第一设备在采集阶段,对摄像头采集到的第x秒内的音频和视频帧组,添加tag_x标签。
将具有相同时间标记的音视频帧作为一个音视频帧组。例如,获取添加tag_x标签的帧组对应的音频和视频帧数。
获取该音视频帧组在采集阶段的帧率。例如,根据添加tag_x标签的音视频帧组内的帧数以及该音视频帧组在采集阶段的处理时长,得到该音视频帧组在采集阶段的帧率。
根据该音视频帧组内的帧数以及该音视频帧组在该图像美化阶段的处理时长,得到该音视频帧组在图像美化阶段的帧率。例如,根据添加tag_x标签的音视频帧组内的帧数以及该音视频帧组在该图像美化阶段的处理时长,得到该音视频帧组在图像美化阶段的帧率。
根据该音视频帧组内的帧数以及该音视频帧组在该编码阶段的处理时长,得到该音视频帧组在编码阶段的帧率。例如,根据添加tag_x标签的音视频帧组内的帧数以及该音视频帧组在该编码阶段的处理时长,得到该音视频帧组在编码阶段的帧率。
根据该音视频帧组内的帧数以及该音视频帧组在该发送阶段的处理时长,得到该音视频帧组在发送阶段的帧率。例如,根据添加tag_x标签的音视频帧组内的帧数以及该音视频帧组在该发送阶段的处理时长,得到该音视频帧组在发送阶段的帧率。
通过对摄像头采集到的第x秒内的音频和视频帧组,添加tag_x标签,将直播过程中各阶段同一秒内的帧率数据进行关联,有利于在后续的数据接收和处理阶段,对同一秒内的音视频帧组在各阶段的帧率数据进行目标阶段的确定和卡顿发生阶段的确定。
在本实施例中,是以第一设备获取该直播过程中每秒内的音视频帧组在采集阶段、图像美化阶段、编码阶段及发送阶段四个阶段为例进行说明,而在实际场景中,第一设备可以是获取该直播过程中每秒内的音视频帧组在采集阶段、编码阶段及发送阶段的帧率,图像美化阶段的获取与否根据实际情况而定,在本发明实施例中不做限定。
503、第一设备将该直播过程中获取到的每个音视频帧组和获取到的对应帧率,以及第一设备的内置音视频参数、处理器参数以及网络参数发送至直播服务器。
在本实施例中,具体可以按照下述步骤进行操作:
其中,第一设备内置的音视频参数包括第一设备的视频编码器的帧率和码率;第一设备的处理器参数包括CPU和内存。
在一个可能的实施例中,可以是将添加tag_x标签的帧组进行打包,得到帧组的数据包,并且将添加tag_x的帧组对应的采集阶段、图像美化阶段、编码阶段及发送阶段的音频和视频帧率、码率,以及第一设备的内置的帧率、码率、CPU、内存以及网络参数数据封装成一个自定义视频报文帧frame_x,将自定义视频报文帧frame_x也进行打包,得到frame_x的数据包,在发送给直播服务器时,先发送帧组的数据包,再发送frame_x的数据包,使得添加tag_x标签的帧组的数据包位于自定义视频报文帧frame_x的数据包之前。
在另外一个可能的实施例中,将添加tag_x标签的帧组对应的采集阶段、图像美化阶段、编码阶段及发送阶段的音频和视频帧率、码率,以及第一设备的内置的帧率、码率、CPU、内存以及网络参数数据封装成一个自定义视频报文帧frame_x,可以是将添加tag_x标签的帧组与自定义视频报文帧frame_x一起进行打包,并发送给直播服务器。
上述步骤503,通过将可能造成同一秒内直播卡顿的所有影响因素打包,并将可能造成同一秒内直播卡顿的所有影响因素与同一秒内的帧率数据进行关联,有利于在后续的数据接收和处理阶段,对同一秒内的音视频帧组在各阶段的帧率数据进行目标阶段的确定和卡顿发生阶段的确定。
504、直播服务器接收第一设备发送的数据并将其转发给第二设备。
直播服务器是指在直播过程中可以接收主播设备发送的数据包,并将其转发给观众设备的服务器。
505、当第二设备接收到直播服务器发送的每个音视频帧组及每个音视频帧组在采集阶段、图像美化阶段、编码阶段及发送阶段的帧率后,实时监控直播过程中的接收阶段、解码阶段及渲染阶段。
第二设备的接收阶段是指第二设备接收直播服务器发送过来的数据包的过程;解码阶段是指用特定方法,把数码还原成它所代表的内容的过程;渲染阶段是指通过运算使第二设备可以显示实时图像的过程。
506、第二设备获取该直播过程中每秒内的音视频帧组在接收阶段、解码阶段及渲染阶段的帧率。
在本实施例中,具体可以按照下述步骤进行操作:
将第二设备接收到的具有相同时间标记的音视频帧作为一个音视频帧组。例如,将添加tag_x标签的帧组对应的在接收阶段、解码阶段及渲染阶段的音频和视频帧数作为一个音视频帧组。
根据该音视频帧组内的帧数以及该音视频帧组在该接收阶段的处理时长,得到该音视频帧组在接收阶段的帧率。例如,根据添加tag_x标签的音视频帧组内的帧数以及该音视频帧组在该接收阶段的处理时长,得到该音视频帧组在接收阶段的帧率。
根据该音视频帧组内的帧数以及该音视频帧组在该解码阶段的处理时长,得到该音视频帧组在解码阶段的帧率。例如,根据添加tag_x标签的音视频帧组内的帧数以及该音视频帧组在该解码阶段的处理时长,得到该音视频帧组在解码阶段的帧率。
根据该音视频帧组内的帧数以及该音视频帧组在该渲染阶段的处理时长,得到该音视频帧组在渲染阶段的帧率。例如,根据添加tag_x标签的音视频帧组内的帧数以及该音视频帧组在该渲染阶段的处理时长,得到该音视频帧组在渲染阶段的帧率。
507、第二设备当渲染阶段发生卡顿时,将该发生卡顿的帧所在的帧组在采集阶段、图像美化阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率,和第一设备的内置音视频参数、处理器参数以及网络参数,以及第二设备的内置音视频参数、处理器参数以及网络参数发送给数据分析服务器。
在本实施例中,具体可以按照下述步骤进行操作:
在第二设备中,渲染阶段发生卡顿是指至少有一组相邻的音视频帧,其在渲染阶段的时间间隔大于预设阈值,这一组相邻的帧即为发生卡顿的帧。例如,当渲染阶段的相邻的音频帧与帧之间的时间间隔大于150ms,或者当该渲染阶段的相邻的视频帧与帧之间的时间间隔大于300ms时,这一组相邻的帧即为发生卡顿的帧。
对该发生卡顿的帧所在的帧组添加卡顿标记。例如,对该发生卡顿的帧所在的帧组添加布尔标记。
另外,第二设备内置的音视频参数包括第二设备的视频解码器的帧率和码率;第二设备的处理器参数包括CPU和内存。例如:将发生卡顿的帧所在的帧组在采集阶段、图像美化阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率,以及第二设备的内置的帧率、码率、CPU、内存以及网络参数数据封装成数据包,发送给数据分析服务器。
508、数据分析服务器接收该添加卡顿标记的帧组在第一设备上的采集阶段、图像美化阶段、编码阶段、发送阶段的帧率以及在各个第二设备上接收阶段、解码阶段及渲染阶段的帧率。
数据分析服务器是由一台或多台计算机和数据库管理系统软件共同构成的数据库服务器,可以进行数据处理任务。
509、数据分析服务器根据该接收到各个阶段的帧率及各个阶段对应的帧率阈值,以及各阶段的先后顺序,确定目标阶段。
在本实施例中,具体可以按照下述步骤进行操作:
各个阶段对应的帧率阈值指的是预先设定的各个阶段帧率的临界值,将低于临界值的帧率所处的阶段确定为目标阶段;但当同一帧组对应的各个阶段的帧率中有两个以上的帧率低于对应阶段的帧率阈值时,确定顺序在先的阶段为目标阶段。
例如,当采集阶段对应的帧率低于8fps时,确定采集阶段对应的帧率为目标帧率,将采集阶段确定为目标阶段。当图像美化阶段对应的帧率低于6fps时,确定图像美化阶段对应的帧率为目标帧率,将图像美化阶段确定为目标阶段。但当同一秒内对应的音视频帧组,采集阶段对应的帧率低于8fps和图像美化阶段对应的帧率低于6fps都存在时,由于采集阶段在前,所以确定采集阶段为目标阶段。
基于科学技术人员的经验,对每个视频处理阶段总结出临界值参考数据,通过设定各个阶段帧率的临界值,便于数据分析服务器对同一秒内的音视频帧组在各阶段的帧率数据进行卡顿发生阶段的确定
510、数据分析服务器对该各个目标阶段进行统计分析,确定卡顿发生的阶段。
其中,对该各个目标阶段进行统计分析,获取每一个目标阶段数量与第二设备数量的比值,确定该所占比值最高的目标阶段为卡顿发生的阶段。
由于每一个第二设备对应一个目标阶段,所以第二设备数量即为目标阶段的总量,又因为每一个目标阶段数量与第二设备数量的比值中,所占比值最高的目标阶段表示的是该阶段出现卡顿的频率最高,所以确定该所占比值最高的目标阶段为卡顿发生的阶段。
通过将直播过程中同一秒内的音视频帧组,及其在各阶段的帧率进行采集和关联,得到一组从主播设备到观众设备的音视频帧组与对应帧率的数据,在视频发生卡顿时,将卡顿的帧所在的音视频帧组在各阶段的帧率数据进行提取和分析,即能迅速准确判断出整个直播链路中的卡顿阶段。本方案通过将同一帧组在直播各阶段的帧率数据进行关联,提高了卡顿发生阶段的排查工作效率及其准确性,实用性强。
通过数据分析服务器对该各个目标阶段进行统计分析,去除偶然因素,得出基于大量数据下的卡顿发生的阶段的统计学数据,代表性比较强,具有很高的参考价值。
图6是本发明实施例提供的一种直播分析数据获取装置的结构示意图,参见图6,该装置包括:
实时监控模块601,用于实时监控直播过程中的采集阶段、编码阶段及发送阶段。
帧率获取模块602,用于获取该直播过程中每秒内的音视频帧组在采集阶段、编码阶段及发送阶段的帧率。
数据发送模块603,用于将该直播过程中获取到的每个音视频帧组和获取到的该帧率,发送至直播服务器。
本发明实施例提供的装置,通过获取直播过程中从主播设备到观众设备的同一秒内的音视频帧组与对应帧率的数据,在视频发生卡顿时,将卡顿的帧所在的音视频帧组在各阶段的帧率数据进行提取和分析,即能迅速准确判断出整个直播链路中的卡顿阶段。本方案通过将同一帧组在直播各阶段的帧率数据进行关联,提高了卡顿发生阶段的排查工作效率及其准确性,实用性强。
在一种可能实现方式中,该装置还包括:
该实时监控模块,用于实时监控该直播过程中的图像美化阶段;
该帧率获取模块,用于获取该直播过程中每秒内的音视频帧组在图像美化阶段中的帧率。
在一种可能实现方式中,该帧率获取模块用于:
在采集阶段中,对摄像头采集到的每秒内的音视频帧,添加对应的时间标记;
将具有相同时间标记的音视频帧作为一个音视频帧组,获取该音视频帧组在采集阶段的帧率;
获取该音视频帧组在编码阶段的帧率以及发送阶段的帧率。
在一种可能实现方式中,该帧率获取模块用于:
根据该音视频帧组内的帧数以及该音视频帧组在该编码阶段的处理时长,得到该音视频帧组在编码阶段的帧率;
根据该音视频帧组内的帧数以及该音视频帧组在该发送阶段的处理时长,得到该音视频帧组在发送阶段的帧率。
在一种可能实现方式中,该装置还包括:
参数值获取模块,用于获取第一设备的内置音视频参数、处理器参数以及网络参数;
该数据发送模块,还用于将第一设备的内置音视频参数、处理器参数以及网络参数发送至该直播服务器。
需要说明的是:上述实施例提供的直播分析数据获取装置在直播分析数据获取时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的直播分析数据获取装置与直播分析数据获取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本发明实施例提供的一种直播分析数据获取装置的结构示意图,参见图7,该装置包括:
数据接收模块701,用于接收直播服务器发送的每个音视频帧组及该每个音视频帧组在采集阶段、编码阶段及发送阶段的帧率。
实时监控模块702,用于实时监控直播过程中的接收阶段、解码阶段及渲染阶段。
帧率获取模块703,用于获取该直播过程中每秒内的音视频帧组在接收阶段、解码阶段及渲染阶段的帧率。
数据发送模块704,用于当该渲染阶段发生卡顿时,将该发生卡顿的帧所在的帧组在采集阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率发送给数据分析服务器。
本发明实施例提供的装置,通过获取直播过程中从主播设备到观众设备的同一秒内的音视频帧组与对应帧率的数据,在视频发生卡顿时,将卡顿的帧所在的音视频帧组在各阶段的帧率数据进行提取和分析,即能迅速准确判断出整个直播链路中的卡顿阶段。本方案通过将同一帧组在直播各阶段的帧率数据进行关联,提高了卡顿发生阶段的排查工作效率及其准确性,实用性强。
在一种可能实现方式中,该帧率获取模块用于:
将具有相同时间标记的音视频帧作为一个音视频帧组,获取该音视频帧组在接收阶段、解码阶段及渲染阶段的帧率。
在一种可能实现方式中,该帧率获取模块用于:
根据该音视频帧组内的帧数以及该音视频帧组在该接收阶段的处理时长,得到该音视频帧组在接收阶段的帧率;
根据该音视频帧组内的帧数以及该音视频帧组在该解码阶段的处理时长,得到该音视频帧组在解码阶段的帧率;
根据该音视频帧组内的帧数以及该音视频帧组在该渲染阶段的处理时长,得到该音视频帧组在渲染阶段的帧率。
在一种可能实现方式中,该数据发送模块用于:
当该渲染阶段的音频帧与帧之间的时间间隔大于第一预设阈值,或者当该渲染阶段的视频帧与帧之间的时间间隔大于第二预设阈值时,即为该渲染阶段发生卡顿,对该发生卡顿的帧所在的帧组添加卡顿标记;
将添加卡顿标记的帧组在采集阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率发送给数据分析服务器。
在一种可能实现方式中,该装置还包括:
参数值获取模块,用于获取该第二设备的内置音视频参数、处理器参数以及网络参数;
该数据发送模块,还用于将该第二设备的内置音视频参数、处理器参数以及网络参数发送至数据分析服务器。
需要说明的是:上述实施例提供的直播分析数据获取装置在直播分析数据获取时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的直播分析数据获取装置与直播分析数据获取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本发明实施例提供的一种卡顿发生阶段的定位装置的结构示意图,参见图8,该装置包括:
数据接收模块801,用于接收该添加卡顿标记的帧组在第一设备上的采集阶段、编码阶段、发送阶段的帧率以及在各个第二设备上接收阶段、解码阶段及渲染阶段的帧率。
目标阶段确定模块802,用于根据该接收到各个阶段的帧率及各个阶段对应的帧率阈值,确定目标阶段。
卡顿发生阶段确定模块803,用于对该各个目标阶段进行统计分析,确定卡顿发生的阶段。
本发明实施例提供的装置,通过获取直播过程中从主播设备到观众设备的同一秒内的音视频帧组与对应帧率的数据,在视频发生卡顿时,将卡顿的帧所在的音视频帧组在各阶段的帧率数据进行提取和分析,即能迅速准确判断出整个直播链路中的卡顿阶段。本方案通过将同一帧组在直播各阶段的帧率数据进行关联,提高了卡顿发生阶段的排查工作效率及其准确性,实用性强。
在一种可能实现方式中,该目标阶段确定模块用于:
当该采集阶段的帧率低于该采集阶段的帧率阈值时,确定该采集阶段为目标阶段;
当该编码阶段的帧率低于该编码阶段的帧率阈值时,确定该编码阶段为目标阶段;
当该发送阶段的帧率低于该发送阶段的帧率阈值时,确定该发送阶段为目标阶段;
当该接收阶段的帧率低于该接收阶段的帧率阈值时,确定该接收阶段为目标阶段;
当该解码阶段的帧率低于该解码阶段的帧率阈值时,确定该解码阶段为目标阶段;
当该渲染阶段的帧率低于该渲染阶段的帧率阈值时,确定该渲染阶段为目标阶段。
在一种可能实现方式中,该卡顿发生阶段确定模块用于:
对该各个目标阶段进行统计分析,获取每一个目标阶段数量与第二设备数量的比值,确定该所占比值最高的目标阶段为卡顿发生的阶段。
需要说明的是:上述实施例提供的卡顿发生阶段的定位装置在直播分析数据获取时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的卡顿发生阶段的定位装置与卡顿发生阶段的定位方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9示出了本发明一个示例性实施例提供的电子设备900的结构框图。该电子设备900可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备900还可能被称为用户设备、便携式设备、膝上型设备、台式设备等其他名称。
通常,电子设备900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本申请中方法实施例提供的一种直播分析数据获取方法中由第一设备执行或第二设备所执行的操作。
在一些实施例中,电子设备900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、触摸显示屏905、摄像头906、音频电路907、定位组件908和电源909中的至少一种。
外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它设备进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图像、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置电子设备900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在电子设备900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在电子设备900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图像,也即异形屏。显示屏905可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在设备的前面板,后置摄像头设置在设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位电子设备900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源909用于为电子设备900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,电子设备900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以电子设备900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制触摸显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测电子设备900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对电子设备900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在电子设备900的侧边框和/或触摸显示屏905的下层。当压力传感器913设置在电子设备900的侧边框时,可以检测用户对电子设备900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在触摸显示屏905的下层时,由处理器901根据用户对触摸显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置电子设备900的正面、背面或侧面。当电子设备900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制触摸显示屏905的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏905的显示亮度;当环境光强度较低时,调低触摸显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在电子设备900的前面板。接近传感器916用于采集用户与电子设备900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与电子设备900的正面之间的距离逐渐变小时,由处理器901控制触摸显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与电子设备900的正面之间的距离逐渐变大时,由处理器901控制触摸显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对电子设备900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图10是本发明实施例提供的一种数据分析服务器的结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)1001和一个或一个以上的存储器1002,其中,该存储器1002中存储有至少一条指令,该至少一条指令由该处理器1001加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由设备中的处理器执行以完成上述实施例中的直播分析数据获取方法或卡顿发生阶段的定位方法。例如,该计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (21)
1.一种直播分析数据获取方法,其特征在于,所述方法包括:
第二设备接收直播服务器发送的每个音视频帧组及所述每个音视频帧组在采集阶段、编码阶段及发送阶段的帧率,所述每个音视频帧组由具有相同时间标记的音视频帧组成;
所述第二设备实时监控直播过程中的接收阶段、解码阶段及渲染阶段;
所述第二设备获取所述音视频帧组在接收阶段、解码阶段及渲染阶段的帧率;
当所述渲染阶段的音频帧与帧之间的时间间隔大于第一预设阈值,或者当所述渲染阶段的视频帧与帧之间的时间间隔大于第二预设阈值时,即为所述渲染阶段发生卡顿,所述第二设备对发生卡顿的帧所在的帧组添加卡顿标记;
所述第二设备将添加卡顿标记的帧组在采集阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率发送给数据分析服务器。
2.根据权利要求1所述的方法,其特征在于,所述第二设备获取所述直播过程中每秒内的音视频帧组在接收阶段、解码阶段及渲染阶段的帧率,包括:
所述第二设备根据所述音视频帧组内的帧数以及所述音视频帧组在所述接收阶段的处理时长,得到所述音视频帧组在接收阶段的帧率;
所述第二设备根据所述音视频帧组内的帧数以及所述音视频帧组在所述解码阶段的处理时长,得到所述音视频帧组在解码阶段的帧率;
所述第二设备根据所述音视频帧组内的帧数以及所述音视频帧组在所述渲染阶段的处理时长,得到所述音视频帧组在渲染阶段的帧率。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第二设备获取所述第二设备的内置音视频参数、处理器参数以及网络参数;
所述第二设备将所述第二设备的内置音视频参数、处理器参数以及网络参数发送至数据分析服务器。
4.根据权利要求1所述的方法,其特征在于,在所述第二设备接收所述直播服务器发送的所述每个音视频帧组及所述每个音视频帧组在采集阶段、编码阶段及发送阶段的帧率之前,所述方法还包括:
第一设备实时监控直播过程中的采集阶段、编码阶段及发送阶段;
所述第一设备在采集阶段中,对摄像头采集到的每秒内的音视频帧,添加对应的时间标记;
所述第一设备将具有相同时间标记的音视频帧作为一个音视频帧组,获取所述音视频帧组在采集阶段的帧率;
所述第一设备获取所述音视频帧组在编码阶段的帧率以及发送阶段的帧率;
所述第一设备将所述直播过程中获取到的每个所述音视频帧组和获取到的所述音视频帧组在采集阶段、编码阶段以及发送阶段的帧率,发送至所述直播服务器。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述第一设备实时监控所述直播过程中的图像美化阶段,所述图像美化阶段位于所述采集阶段与所述编码阶段之间;
所述第一设备获取所述直播过程中每秒内的音视频帧组在图像美化阶段中的帧率;
所述第一设备将所述直播过程中获取到的每秒内的音视频帧组在图像美化阶段中的帧率,发送至所述直播服务器。
6.根据权利要求4所述的方法,其特征在于,所述第一设备获取所述音视频帧组在编码阶段的帧率以及发送阶段的帧率包括:
所述第一设备根据所述音视频帧组内的帧数以及所述音视频帧组在所述编码阶段的处理时长,得到所述音视频帧组在编码阶段的帧率;
所述第一设备根据所述音视频帧组内的帧数以及所述音视频帧组在所述发送阶段的处理时长,得到所述音视频帧组在发送阶段的帧率。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述第一设备获取第一设备的内置音视频参数、处理器参数以及网络参数;
所述第一设备将第一设备的内置音视频参数、处理器参数以及网络参数发送至所述直播服务器。
8.一种卡顿发生阶段的定位方法,其特征在于,应用于数据分析服务器,所述方法包括:
接收添加卡顿标记的帧组在第一设备上的采集阶段、编码阶段、发送阶段的帧率以及在各个第二设备上接收阶段、解码阶段及渲染阶段的帧率,所述帧组包括具有相同时间标记的音视频帧,其中,所述卡顿标记为当所述渲染阶段发生卡顿时,由所述第二设备为发生卡顿的帧所在的帧组添加的标记;
各个阶段对应的帧率阈值指的是预先设定的各个阶段的帧率的临界值,将低于临界值的帧率所处的阶段确定为目标阶段;
当同一帧组对应的各个阶段的帧率中有两个以上的帧率低于对应阶段的帧率阈值时,确定顺序在先的阶段为目标阶段;
对所述各个目标阶段进行统计分析,获取每一个目标阶段数量与第二设备数量的比值,确定所述所占比值最高的目标阶段为卡顿发生的阶段。
9.根据权利要求8所述的方法,其特征在于,所述将低于临界值的频率所处的阶段确定为目标阶段,包括:
当所述采集阶段的帧率低于所述采集阶段的帧率阈值时,确定所述采集阶段为目标阶段;
当所述编码阶段的帧率低于所述编码阶段的帧率阈值时,确定所述编码阶段为目标阶段;
当所述发送阶段的帧率低于所述发送阶段的帧率阈值时,确定所述发送阶段为目标阶段;
当所述接收阶段的帧率低于所述接收阶段的帧率阈值时,确定所述接收阶段为目标阶段;
当所述解码阶段的帧率低于所述解码阶段的帧率阈值时,确定所述解码阶段为目标阶段;
当所述渲染阶段的帧率低于所述渲染阶段的帧率阈值时,确定所述渲染阶段为目标阶段。
10.一种用于直播分析数据获取的系统,其特征在于,所述系统包括第二设备,所述第二设备包括:
数据接收模块,用于接收直播服务器发送的每个音视频帧组及所述每个音视频帧组在采集阶段、编码阶段及发送阶段的帧率,所述每个音视频帧组由具有相同时间标记的音视频帧组成;
第一实时监控模块,用于实时监控直播过程中的接收阶段、解码阶段及渲染阶段;
第一帧率获取模块,用于获取所述音视频帧组在接收阶段、解码阶段及渲染阶段的帧率;
第一数据发送模块,用于当所述渲染阶段的音频帧与帧之间的时间间隔大于第一预设阈值,或者当所述渲染阶段的视频帧与帧之间的时间间隔大于第二预设阈值时,即为所述渲染阶段发生卡顿,对发生卡顿的帧所在的帧组添加卡顿标记;将添加卡顿标记的帧组在采集阶段、编码阶段、发送阶段、接收阶段、解码阶段及渲染阶段的帧率发送给数据分析服务器。
11.根据权利要求10所述的系统,其特征在于,所述第一帧率获取模块用于:
根据所述音视频帧组内的帧数以及所述音视频帧组在所述接收阶段的处理时长,得到所述音视频帧组在接收阶段的帧率;
根据所述音视频帧组内的帧数以及所述音视频帧组在所述解码阶段的处理时长,得到所述音视频帧组在解码阶段的帧率;
根据所述音视频帧组内的帧数以及所述音视频帧组在所述渲染阶段的处理时长,得到所述音视频帧组在渲染阶段的帧率。
12.根据权利要求10所述的系统,其特征在于,所述第二设备还包括:
第一参数值获取模块,用于获取所述第二设备的内置音视频参数、处理器参数以及网络参数;
所述第一数据发送模块,还用于将所述第二设备的内置音视频参数、处理器参数以及网络参数发送至数据分析服务器。
13.根据权利要求10所述的系统,其特征在于,所述系统还包括第一设备,所述第一设备用于获取所述直播过程中的每个所述音视频帧组和所述音视频帧组在采集阶段、编码阶段以及发送阶段的帧率,将每个所述音视频帧组和所述音视频帧组在采集阶段、编码阶段以及发送阶段的帧率,通过所述直播服务器发送给所述第二设备;
所述第一设备包括:
第二实时监控模块,用于实时监控直播过程中的采集阶段、编码阶段及发送阶段;
第二帧率获取模块,用于在采集阶段中,对摄像头采集到的每秒内的音视频帧,添加对应的时间标记;将具有相同时间标记的音视频帧作为一个音视频帧组,获取所述音视频帧组在采集阶段的帧率;获取所述音视频帧组在编码阶段的帧率以及发送阶段的帧率;
第二数据发送模块,用于将所述直播过程中获取到的每个所述音视频帧组和获取到的所述音视频帧组在采集阶段、编码阶段以及发送阶段的帧率,发送至所述直播服务器。
14.根据权利要求13所述的系统,其特征在于:
所述第二实时监控模块,还用于实时监控所述直播过程中的图像美化阶段,所述图像美化阶段位于所述采集阶段与所述编码阶段之间;
所述第二帧率获取模块,还用于获取所述直播过程中每秒内的音视频帧组在图像美化阶段中的帧率;将所述直播过程中获取到的每秒内的音视频帧组在图像美化阶段中的帧率,发送至直播服务器。
15.根据权利要求13所述的系统,其特征在于,所述第二帧率获取模块用于根据所述音视频帧组内的帧数以及所述音视频帧组在所述编码阶段的处理时长,得到所述音视频帧组在编码阶段的帧率;根据所述音视频帧组内的帧数以及所述音视频帧组在所述发送阶段的处理时长,得到所述音视频帧组在发送阶段的帧率。
16.根据权利要求13所述的系统,其特征在于,所述第一设备还包括:
第二参数值获取模块,用于获取第一设备的内置音视频参数、处理器参数以及网络参数;
所述第二数据发送模块,还用于将第一设备的内置音视频参数、处理器参数以及网络参数发送至所述直播服务器。
17.一种卡顿发生阶段的定位装置,其特征在于,应用于数据分析服务器,所述装置包括:
数据接收模块,用于接收添加卡顿标记的帧组在第一设备上的采集阶段、编码阶段、发送阶段的帧率以及在各个第二设备上接收阶段、解码阶段及渲染阶段的帧率,所述帧组包括具有相同时间标记的音视频帧,其中,所述卡顿标记为当所述渲染阶段发生卡顿时,由所述第二设备为发生卡顿的帧所在的帧组添加的标记;
目标阶段确定模块,用于各个阶段对应的帧率阈值指的是预先设定的各个阶段的帧率的临界值,将低于临界值的帧率所处的阶段确定为目标阶段;当同一帧组对应的各个阶段的帧率中有两个以上的帧率低于对应阶段的帧率阈值时,确定顺序在先的阶段为目标阶段;
卡顿发生阶段确定模块,用于对所述各个目标阶段进行统计分析,获取每一个目标阶段数量与第二设备数量的比值,确定所述所占比值最高的目标阶段为卡顿发生的阶段。
18.根据权利要求17所述的装置,其特征在于,所述目标阶段确定模块用于:
当所述采集阶段的帧率低于所述采集阶段的帧率阈值时,确定所述采集阶段为目标阶段;
当所述编码阶段的帧率低于所述编码阶段的帧率阈值时,确定所述编码阶段为目标阶段;
当所述发送阶段的帧率低于所述发送阶段的帧率阈值时,确定所述发送阶段为目标阶段;
当所述接收阶段的帧率低于所述接收阶段的帧率阈值时,确定所述接收阶段为目标阶段;
当所述解码阶段的帧率低于所述解码阶段的帧率阈值时,确定所述解码阶段为目标阶段;
当所述渲染阶段的帧率低于所述渲染阶段的帧率阈值时,确定所述渲染阶段为目标阶段。
19.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求3任一项所述的直播分析数据获取方法所执行的操作。
20.一种服务器,其特征在于,所述服务器包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现如权利要求8至权利要求9任一项所述的卡顿发生阶段的定位方法所执行的操作。
21.一种非临时性计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至权利要求7任一项所述的直播分析数据获取方法以及权利要求8至权利要求9任一项所述的卡顿发生阶段的定位方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810415672.7A CN108616776B (zh) | 2018-05-03 | 2018-05-03 | 直播分析数据获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810415672.7A CN108616776B (zh) | 2018-05-03 | 2018-05-03 | 直播分析数据获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108616776A CN108616776A (zh) | 2018-10-02 |
CN108616776B true CN108616776B (zh) | 2021-05-14 |
Family
ID=63661961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810415672.7A Active CN108616776B (zh) | 2018-05-03 | 2018-05-03 | 直播分析数据获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108616776B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885405B (zh) * | 2019-02-02 | 2021-11-12 | 珠海金山网络游戏科技有限公司 | 一种动态分配方法及系统、计算设备及存储介质 |
CN109981628B (zh) * | 2019-03-18 | 2021-11-23 | 网易(杭州)网络有限公司 | 网络直播软件性能的监控方法及装置、电子设备 |
CN111277846A (zh) * | 2020-01-15 | 2020-06-12 | 广州虎牙科技有限公司 | 一种直播的异常定位方法、装置、计算机设备和存储介质 |
CN111432248A (zh) * | 2020-03-30 | 2020-07-17 | 北京百度网讯科技有限公司 | 直播视频流的质量监控方法和装置 |
CN111601102B (zh) * | 2020-04-30 | 2022-02-01 | 微梦创科网络科技(中国)有限公司 | 一种直播卡顿的检测方法及系统 |
CN112565016B (zh) * | 2020-12-04 | 2022-09-30 | 北京奇艺世纪科技有限公司 | 异常时延的定位方法、系统、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140049689A1 (en) * | 2011-12-05 | 2014-02-20 | Guangzhou Ucweb Computer Technology Co., Ltd | Method and apparatus for streaming media data processing, and streaming media playback equipment |
CN104601770A (zh) * | 2014-12-25 | 2015-05-06 | 惠州Tcl移动通信有限公司 | 一种终端及其流畅性评测方法 |
CN106230634A (zh) * | 2016-08-01 | 2016-12-14 | 青岛海信宽带多媒体技术有限公司 | 一种链路故障的诊断方法、装置和机顶盒 |
CN106791956A (zh) * | 2016-11-25 | 2017-05-31 | 百度在线网络技术(北京)有限公司 | 网络直播卡顿的处理方法及装置 |
CN107846585A (zh) * | 2016-09-18 | 2018-03-27 | 中兴通讯股份有限公司 | 一种视频播放流畅度检测方法和装置 |
-
2018
- 2018-05-03 CN CN201810415672.7A patent/CN108616776B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140049689A1 (en) * | 2011-12-05 | 2014-02-20 | Guangzhou Ucweb Computer Technology Co., Ltd | Method and apparatus for streaming media data processing, and streaming media playback equipment |
CN104601770A (zh) * | 2014-12-25 | 2015-05-06 | 惠州Tcl移动通信有限公司 | 一种终端及其流畅性评测方法 |
CN106230634A (zh) * | 2016-08-01 | 2016-12-14 | 青岛海信宽带多媒体技术有限公司 | 一种链路故障的诊断方法、装置和机顶盒 |
CN107846585A (zh) * | 2016-09-18 | 2018-03-27 | 中兴通讯股份有限公司 | 一种视频播放流畅度检测方法和装置 |
CN106791956A (zh) * | 2016-11-25 | 2017-05-31 | 百度在线网络技术(北京)有限公司 | 网络直播卡顿的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108616776A (zh) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502954B (zh) | 视频分析的方法和装置 | |
CN108616776B (zh) | 直播分析数据获取方法及装置 | |
CN111147878B (zh) | 直播中的推流方法、装置及计算机存储介质 | |
CN109348247B (zh) | 确定音视频播放时间戳的方法、装置及存储介质 | |
CN108966008B (zh) | 直播视频回放方法及装置 | |
CN110278464B (zh) | 显示榜单的方法和装置 | |
CN109451343A (zh) | 视频分享方法、装置、终端及存储介质 | |
CN110493626B (zh) | 视频数据处理方法及装置 | |
CN111107389B (zh) | 确定观看直播时长的方法、装置和系统 | |
CN109922356B (zh) | 视频推荐方法、装置和计算机可读存储介质 | |
CN110121084B (zh) | 切换端口的方法、装置和系统 | |
CN111447389B (zh) | 视频生成方法、装置、终端及存储介质 | |
US11386586B2 (en) | Method and electronic device for adding virtual item | |
CN110839128B (zh) | 拍照行为检测方法、装置及存储介质 | |
CN108769738B (zh) | 视频处理方法、装置、计算机设备和存储介质 | |
CN111753784A (zh) | 视频的特效处理方法、装置、终端及存储介质 | |
CN112084811A (zh) | 身份信息的确定方法、装置及存储介质 | |
CN111083526B (zh) | 视频转场方法、装置、计算机设备及存储介质 | |
CN110839174A (zh) | 图像处理的方法、装置、计算机设备以及存储介质 | |
CN110750734A (zh) | 天气显示方法、装置、计算机设备及计算机可读存储介质 | |
CN111027490A (zh) | 人脸属性识别方法及装置、存储介质 | |
CN109451248B (zh) | 视频数据的处理方法、装置、终端及存储介质 | |
CN111083513B (zh) | 直播画面处理方法、装置、终端及计算机可读存储介质 | |
CN109819314B (zh) | 音视频处理方法、装置、终端及存储介质 | |
CN108401194B (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 |