CN109698961A - 一种监控方法、装置及电子设备 - Google Patents

一种监控方法、装置及电子设备 Download PDF

Info

Publication number
CN109698961A
CN109698961A CN201711001689.XA CN201711001689A CN109698961A CN 109698961 A CN109698961 A CN 109698961A CN 201711001689 A CN201711001689 A CN 201711001689A CN 109698961 A CN109698961 A CN 109698961A
Authority
CN
China
Prior art keywords
time
timestamp
media stream
variable quantity
moment
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
Application number
CN201711001689.XA
Other languages
English (en)
Other versions
CN109698961B (zh
Inventor
韩瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201711001689.XA priority Critical patent/CN109698961B/zh
Publication of CN109698961A publication Critical patent/CN109698961A/zh
Application granted granted Critical
Publication of CN109698961B publication Critical patent/CN109698961B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种监控方法、装置及电子设备;所述监控方法包括:获取预定时间段中的系统时间的变化量;获取所述预定时间段中,多媒体流的时间戳的变化量;比较所述系统时间的变化量和所述多媒体流的时间戳的变化量,得到比较结果;根据所述比较结果确定所述预定时间段中是否存在传输延迟。本申请至少一个实施例能够精确定位传输延迟问题。

Description

一种监控方法、装置及电子设备
技术领域
本发明涉及网络领域,尤其涉及一种监控方法、装置及电子设备。
背景技术
直播业务自去年以来,呈现出爆发式增长的态势。目前已经有相当多的企业加入直播市场,也为内容分发网络(Content Delivery Network,CDN)带来了巨大的流量和机会。相对于直播业务的增长速度,直播相关的技术发展仍不够快,从直播接入到流分发、服务质量监控等多方面均有改进的空间。特别是直播服务质量监控,无论对于直播接入的客户,还是CDN厂商来说,都非常重要,是产品化的重要一环。
直播业务对服务质量的关注点和以往的CDN业务有所不同。举例来说,常见于CDN的大小文件分发、视频点播业务通常更关注响应延迟、首字节时间、首播时间、下载速度等。首播时间等业务指标着眼于播放开始时的网络和服务器情况;下载速度着眼于CDN服务的历史平均值。而直播业务对于网络实时变化的情况更敏感,历史平均值等指标对于直播来说意义不大,首播时间也仅仅能反映一部分服务质量问题。通常,用户观看直播时,传输延迟所导致的卡顿等情况持续几秒就需要反馈报警,这就需要能够在直播业务中精确定位发生传输延迟的区间。
在直播业务中对卡顿情况进行定位的现有方案主要包括以下两种:
一种是基于客户端日志。客户端打点日志能标识出发生传输延迟的区间,拿到这类日志后,就可以筛出直播体验情况。但是,该方案存在客户端日志多种多样、分析方法难以统一化、日志难以收集等问题。
另一种是基于服务端日志的帧率、码率。通过计算帧率、码率的平均值变化来筛选发生传输延迟的情况。但是,该方案由于无法断定帧率波动到何种范围为异常,故通常采用分钟级别的帧率平均值作为参考。其劣势在于,取平均值参考的方法掩盖了许多传输延迟问题。另外,即便有秒粒度的帧率数值,这种分析方法也无法利用,难以做到秒级的传输延迟问题发现。这是因为,瞬时的帧率波动可能是正常的,基于帧率的分析很难断定出现传输延迟的精确位置,而对外展示的数据分析通常要求明确定位出传输延迟问题点。可以看到,基于帧率的分析方法存在这样的困境:瞬时帧率波动分析难以给出异常点,使用平均帧率的分析会掩盖许多传输延迟。基于码率的分析方法面临着同样的问题。
发明内容
本申请提供一种监控方法、装置及电子设备,能够精确定位传输延迟问题。
本申请采用如下技术方案。
一种监控方法,包括:
获取预定时间段中的系统时间的变化量;
获取所述预定时间段中,多媒体流的时间戳的变化量;
比较所述系统时间的变化量和所述多媒体流的时间戳的变化量,得到比较结果;
根据所述比较结果确定所述预定时间段中是否存在传输延迟。
其中,所述系统时间的变化量可以是指第一时刻的系统时间和第二时刻的系统时间之间的差值;所述时间戳的变化量可以是指第一时刻接收的属于所述多媒体流的数据的时间戳所表示的时间和第二时刻接收的属于所述多媒体流的数据的时间戳所表示的时间之间的差值;
其中,所述第一时刻可以是所述预定时间段的结束时刻,所述第二时刻可以是所述预定时间段的开始时刻。
其中,所述系统时间的变化量可以是指第一时刻的系统时间和第二时刻的系统时间之间的差值;所述时间戳的变化量可以是指第一时刻发送的属于所述多媒体流的数据的时间戳所表示的时间的修正值和第二时刻发送的属于所述多媒体流的数据的时间戳所表示的时间之间的差值;
其中,所述第一时刻可以是所述预定时间段的结束时刻,所述第二时刻可以是所述预定时间段的开始时刻。
其中,所述第一时刻发送的属于所述多媒体流的数据的时间戳所表示的时间的修正值可以是指:
第一时刻传输的属于所述多媒体流的数据的时间戳所表示的时间,减去修正时间;所述修正时间可以是所述多媒体流对应的发送缓存的容量除以所述多媒体流的发送码率所得到的商。
其中,所述属于所述多媒体流的数据的时间戳可以包括:属于所述多媒体流的视频帧的时间戳。
其中,所述根据比较结果确定所述预定时间段中是否存在传输延迟可以包括:
当所述系统时间的变化量和时间戳的变化量的差距超过预定阈值时,判断所述预定时间段中存在传输延迟。
一种监控装置,包括:
第一获取模块,用于获取预定时间段中的系统时间的变化量;
第二获取模块,用于获取所述预定时间段中,多媒体流的时间戳的变化量;
比较模块,用于比较所述系统时间的变化量和所述多媒体流的时间戳的变化量,得到比较结果;
判断模块,用于根据所述比较结果确定所述预定时间段中是否存在传输延迟。
其中,所述系统时间的变化量可以是指第一时刻的系统时间和第二时刻的系统时间之间的差值;所述时间戳的变化量可以是指第一时刻接收的属于所述多媒体流的数据的时间戳所表示的时间和第二时刻接收的属于所述多媒体流的数据的时间戳所表示的时间之间的差值;
其中,所述第一时刻可以是所述预定时间段的结束时刻,所述第二时刻可以是所述预定时间段的开始时刻。
其中,所述系统时间的变化量可以是指第一时刻的系统时间和第二时刻的系统时间之间的差值;所述时间戳的变化量可以是指第一时刻发送的属于所述多媒体流的数据的时间戳所表示的时间的修正值和第二时刻发送的属于所述多媒体流的数据的时间戳所表示的时间之间的差值;
其中,所述第一时刻可以是所述预定时间段的结束时刻,所述第二时刻可以是所述预定时间段的开始时刻。
其中,所述第一时刻发送的属于所述多媒体流的数据的时间戳所表示的时间的修正值可以是指:
第一时刻传输的属于所述多媒体流的数据的时间戳所表示的时间,减去修正时间;所述修正时间可以是所述多媒体流对应的发送缓存的容量除以所述多媒体流的发送码率所得到的商。
其中,所述属于所述多媒体流的数据的时间戳可以包括:属于所述多媒体流的视频帧的时间戳。
其中,所述判断模块根据比较结果确定所述预定时间段中是否存在传输延迟可以包括:
所述判断模块当所述系统时间的变化量和时间戳的变化量的差距超过预定阈值时,判断所述预定时间段中存在传输延迟。
一种用于进行监控的电子设备,包括:处理器和存储器;
所述存储器用于保存用于进行监控的程序;所述用于进行监控的程序在被所述处理器读取执行时,执行以下操作:
获取预定时间段中的系统时间的变化量;
获取所述预定时间段中所述多媒体流的时间戳的变化量;
比较所述系统时间的变化量和所述多媒体流的时间戳的变化量,得到比较结果;
根据所述比较结果确定所述预定时间段中是否存在传输延迟。
本申请包括以下优点:
本申请至少一个实施例中,通过对比相同时段内系统时间的变化量和多媒体帧附带的时间戳的变化量,可以确定传输延迟是否存在于该时间段中,从而可以进行传输延迟的精确定位,并可以规避基于帧率、码率平均值来分析传输延迟时的不足。
本申请实施例当应用于服务器上时,不需要收集客户端日志,因此无论采用何种类型的客户端都可以适用。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
图1是直播过程中rtmp流的传输示意图;
图2是实施例一的监控方法的流程图;
图3是实施例一的例子中对publish流的监控流程图;
图4是实施例一的例子中对play流的监控流程图;
图5是实施例二的监控装置的示意图。
具体实施方式
下面将结合附图及实施例对本申请的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本申请实施例以及实现方式中的不同特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一种配置中,进行监控的计算设备可包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存(memory)。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM),快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
首先,介绍一下直播过程中的相关技术。
在现有的播放场景中,实时消息传输协议(Real Time Messaging Protocol,rtmp)最常用。通常,进行直播的用户通过终端向CDN节点推送的音视频流都遵循rtmp协议。
rtmp包头包含五个字段,依次为:headType、timer、amfSize、amfType、streamID。其中,timer是时间戳,占用rtmp包头的第2、3、4字节,单位是毫秒。对于音视频的播放,时间戳非常关键,因为音视频的播放同步是用时间戳来控制的。streamId可以标识rtmp包所属的rtmp流。
通常,直播厂商会将音视频分发业务交给CDN厂商处理。从进行直播的用户(通常被称为主播)的终端到观看直播的用户(可称为观众)的终端,rtmp流需要经过服务器的处理、转换,如图1所示。从主播的终端11推送到CDN服务器12的rtmp流称为发布(publish)流,publish流中的多媒体帧由终端11打上时间戳后发送到CDN服务器12;从CDN服务器12向观众的终端13传输的rtmp流称为播放(play)流,play流中的多媒体帧由CDN服务器12打上时间戳后发送到终端13。通常,终端11和终端13上都安装有直播客户端或直播应用(App),由该客户端或App来进行rtmp流的推送,或接收及播放。
实施例一、一种监控方法,如图2所示,包括步骤S110~S140。
S110、获取预定时间段中的系统时间的变化量;
S120、获取所述预定时间段中,多媒体流的时间戳的变化量;
S130、比较所述系统时间的变化量和所述多媒体流的时间戳的变化量,得到比较结果;
S140、根据所述比较结果确定所述预定时间段中是否存在传输延迟。
本实施例中,通过对比相同时段内系统时间的变化量和多媒体流的时间戳的变化量,可以进行传输延迟的精确定位;而且当该方法应用在服务器上时,可以不需要收集客户端日志,因此无论采用何种类型的客户端都可以适用;并可以规避基于帧率、码率平均值来分析传输延迟时的不足。
本实施例中,步骤S110~S140可以是一个持续的、不断进行的过程;即:可以周期性进行步骤S110~S140,不断地、反复地确定是否存在传输延迟。其中,步骤S110和S120的执行顺序不分先后,且可以并行执行。
本实施例中,可以对一个或多个传输中的多媒体流进行步骤S120~S140;按照步骤S120~S140进行监控的多媒体流在后文也被称为监控的多媒体流;当对多个传输中的多媒体流进行步骤S120~S140时,即分别将这多个传输中的各多媒体流作为监控的多媒体流。
本实施例中,当对于同一个设备中发送和/或接收的多个多媒体流进行监控时,可以只执行一次步骤S110,所获取的系统时间的变化量可以用于和多个多媒体流的时间戳的变化量进行比较;也可以针对不同的多媒体流分别进行步骤S110。
当本实施例的方法应用于服务器时,所述系统时间可以是指该服务器的系统时间;一个节目从源端传输到服务器的数据属于一个多媒体流,从服务器传输到目的端的数据属于另一个多媒体流,比如图1中的publish流和play流是不同的多媒体流。
不同用户对应的多媒体流通常不同,比如用户A、用户B分别进行直播,可以分别进行监控;当以用户A的终端发送到服务器的直播流作为监控的多媒体流时,相当于是对服务器上所接收的用户A的publish流进行监控;当以用户B的终端发送到服务器的直播流作为监控的多媒体流时,相当于是对服务器上所接收的用户B的publish流进行监控。再比如用户C和用户D都在收看同一个节目,则服务器发往用户C的多媒体流和发往用户D的多媒体流是不同多媒体流,可以分别进行监控。
本实施例的方法也不排除应用在用户的终端中,比如在直播领域,主播的终端(或其中的客户端、App等)可以执行上述步骤S110、S120,来对推送的publish流进行监控;观众的终端(或其中的客户端、App等)可以执行上述步骤S110、S120,来对播放的play流进行监控。
本实施例的监控方法可以但不限于适用于直播领域;多媒体流可以但不限于为rtmp流,多媒体流可以但不限于为rtmp包序列。时间戳的变化量可以是指publish流的时间戳的变化量,或play流的时间戳的变化量。其中,多媒体流的时间戳可以是指多媒体帧的时间戳;通常,帧是逻辑概念,包是数据概念,一个帧可以包含多个rtmp包;rtmp包中有时间戳,由包组成的帧也就有了时间戳。考虑到服务端逻辑处理,记录时间戳待日志时一般以“帧”为单位,因此可以“帧”为单位取时间戳,比如提取每一帧中首个rtmp包的时间戳,作为帧的时间戳。当然,也不排除提取rtmp包的时间戳进行上述步骤的情况。
本实施例中,考虑到音频数据通常数据量较小,一般不会发生传输延迟,因此多媒体流可以专指视频流。当提取的时间戳为帧的时间戳时,这里的“帧”可以专指“视频帧”,但也不排除对音频数据同样进行监控的做法。
本实施例中,在实时监控的场景下,预定时间段的结束时刻即当前时刻;预定时间段可以是从开始传输所监控的多媒体流的时刻到当前时刻,也可以是对监控的多媒体流上一次进行监控的时刻到本次进行监控的时刻(即当前时刻)。比如对多媒体流X每秒进行一次步骤S120~S140,可以将每一秒各作为一个预定时间段,即:系统时间的变化量固定是1秒,如果在某个预定时间段确定存在传输延迟,则可以将传输延迟定位到具体的某一秒。也可以将从处理多媒体流X的开始时刻到当前时刻作为预定时间段,比如处理开始后1秒时预定时间段长度是1秒,处理开始后2秒时预定时间段长度是2秒,以此类推,即:系统时间的变化量是不断增长的;这样同样可以定位传输延迟到具体的某一秒,比如在上一次执行步骤S110~S140时未发现传输延迟,而本次执行步骤S110~S140时发现传输延迟,则说明传输延迟发生在上一次执行的时刻和本次执行的时刻之间。
本实施例的方法也可以应用于非实时监控的场景,预定时间段的开始时刻、结束时刻都是已经过去的时刻,相当于是一个回溯查找问题的过程。
本实施例中,时间戳可以由服务器解析成所表示的时间并记载到日志中,时间戳所表示的时间一般可以精确到毫秒级;系统时间可以是服务器将时间戳解析成的时间记录到日志的系统时间,一般也是毫秒级的。
本实施例中,传输延迟可以包括传输过程中由于网络带宽不足、不稳定等问题造成多媒体数据延时等情况,从观众的角度来说,传输延迟的表现形式可以但不限于包括播放中卡顿、延后等情况。
本实施例中,当应用在直播场景下的CDN服务器中时,步骤S110、S120可以由CDN服务器本身执行,也可以由另外的设备执行,该设备需要能从CDN服务器中读取到系统时间和多媒体流的时间戳(或时间戳的解析结果)。
本实施例中,可以将确定的结果(存在或不存在传输延迟)记录到服务器的日志中,记录时可以和执行步骤S120的时刻一起记录,以供后续分析。
一种实现方式中,所述多媒体流可以是接收的多媒体流。
本实现方式应用在直播中时,相当于是对publish流进行监控。
本实现方式中,所述系统时间的变化量是指第一时刻的系统时间和第二时刻的系统时间之间的差值;所述时间戳的变化量是指第一时刻接收的属于监控的多媒体流的数据的时间戳所表示的时间和第二时刻接收的属于监控的多媒体流的数据的时间戳所表示的时间之间的差值(比如第一、第二时刻接收的、属于监控的多媒体流的数据的时间戳的数值之差所表示的时间长度);
其中,所述第一时刻是所述预定时间段的结束时刻,所述第二时刻是所述预定时间段的开始时刻。
本实现方式中,相当于对系统时间、时间戳所表示的时间在预定时间段中的增长量进行比较。
其它实现方式中,只要保证系统时间的变化量和时间戳的变化量的计算方式是一致的即可,比如也可以用第二时刻的系统时间/时间戳所表示的时间,减去第一时刻的系统时间/时间戳所表示的时间,将得到的差值或该差值的绝对值作为系统时间/时间戳的变化量。
一种实现方式中,所述多媒体流可以是指:发送的多媒体流。
本实现方式应用在直播中时,相当于对play流进行监控。
本实现方式中,所述系统时间的变化量是指第一时刻的系统时间和第二时刻的系统时间之间的差值;所述时间戳的变化量是指第一时刻发送的属于监控的多媒体流的数据的时间戳所表示的时间的修正值和第二时刻发送的属于监控的多媒体流的数据的时间戳所表示的时间之间的差值;
其中,所述第一时刻是所述预定时间段的结束时刻,所述第二时刻是所述预定时间段的开始时刻。
其它实现方式中,只要保证系统时间的变化量和时间戳的变化量的计算方式是一致的即可,比如也可以用第二时刻的系统时间/时间戳所表示的时间,减去第一时刻的系统时间/时间戳所表示的时间,将得到的差值或该差值的绝对值作为系统时间/时间戳的变化量。
本实现方式中,相当于对系统时间、时间戳所表示的时间在预定时间段中的增长量进行比较,但考虑到发送时会缓存,因此需要对时间戳所表示的时间进行修正,以反映真实的发送情况。
本实现方式中,所述第一时刻发送的属于监控的多媒体流的数据的时间戳所表示的时间的修正值可以是:
第一时刻传输的属于监控的多媒体流的数据的时间戳所表示的时间,减去修正时间;所述修正时间是所述监控的多媒体流对应的发送缓存的容量除以所述监控的多媒体流的发送码率所得到的商。
其中,发送码率可以从多媒体帧的元(meta)信息中获取,可以是一段时间中的平均码率。
其中,发送缓存的容量可以是应用层缓存和传输控制协议(TransmissionControl Protocol,TCP)缓存的总容量。
上述两种实现方式在直播场景中可以分别看成是对publish流和play流的监控,在对publish流进行监控时,CDN服务器是接收端,只需要获取多媒体流的时间戳和系统时间,比较两者在预定时间段中的变化量,就可以定位publish流的传输延迟。而对于play流,CDN服务器是发送端,所以需要考虑发送缓存来修正当前时刻时间戳。
上述两种实现方式中,如果第一时刻是当前时刻,则是实时监控的场景。
上述实现方式中,根据系统时间的变化量和时间戳的变化量的差值可以具体得到延时了多少时间,从而可以对传输延迟进行定量分析。
一种实现方式中,所述根据比较结果确定所述预定时间段中是否存在传输延迟可以包括:
当所述系统时间的变化量和时间戳的变化量的差距超过预定阈值时,判断所述预定时间段中存在传输延迟。
本实现方式中,所述预定阈值可以根据经验值、或试验值、或业务要求设置。比如业务要求延时不能超过多少毫秒,超过即认为传输延迟,则该业务要求就可以作为预定阈值。
本时间方式中,当所述系统时间的变化量和时间戳的变化量的差距等于预定阈值时,判断结果可以设置成所述预定时间段中存在传输延迟,也可以设置成所述预定时间段中不存在传输延迟;可以根据经验值或实验结果进行设置。
本实现方式中,可以用系统时间的变化量和时间戳的变化量的差值的绝对值和预定阈值进行比较。对于直播场景,在传输正常的情况下,系统时间和时间戳应该是同步变化的,即:系统时间的变化量和时间戳的变化量应该是基本相同的;如果服务器收到或发出多媒体流存在传输延时,则系统时间的变化量将高于时间戳的变化量,高出的幅度如果大于预定阈值则说明出现了传输延迟。
下面用一个例子说明本实施例。本例子用在如图1所示的直播过程中,假设图1所示的是某个直播节目X的多媒体流进行播放的过程。本例中,是在CDN服务器上进行监控,需要将直播节目X的publish流和play流分别作为多媒体流进行监控;当直播节目X存在多个观众时,需要将每个观众对应的play流分别作为多媒体流进行监控。
本例子中,假设对该直播节目X的视频数据进行实时的监控,则其中某一次判断传输延迟的过程如下。
对于publish流中的视频数据进行监控的流程如图3所示,以publish流作为监控的多媒体流,包括步骤301~304:
301、判断当前的系统时间logT和publish流中当前视频帧的时间戳所表示的时间videoT是否正常;正常即属于正常值的范围,比如不是负数,不是0;如果正常则进行步骤302,如果不正常则记录在日志(log)中。
302、判断publish流中首个视频帧的时间戳所表示的时间startvideoT是否不为0,如果不为0则进行步骤303;如果为0则记录在日志中。
303、计算系统时间的变化量delta_logT,也就是当前比开始处理publish流的系统时间startLogT所经过的时间长度,即:
delta_logT=logT-startLogT。
计算时间戳的变化量delta_videoT,也就是publish流中当前视频帧的时间戳所表示的时间videoT,比该publish流中首个视频帧的时间戳所表示的时间startVideoT所经过的时间长度,即:
delta_videoT=videoT-startVideoT。
304、判断delta_logT减去delta_videoT所得到的差值是否小于或等于预定阈值deltaTh(通常,delta_logT应该大于delta_videoT,但为了保险起见,这里也可以用差值的绝对值和预定阈值进行比较);将判断结果或判断结果代表的含义(比如是否存在传输延迟)记录到日志中。
本例子中,deltaTh可以设置为1500ms,即视频帧延迟1500ms就是传输延迟。
举例来说,当delta_logT为3000ms,而delta_videoT只有1200ms时,必然存在卡顿,因为视频帧延后了1800ms。
服务器通常会在投递视频帧到发送缓存时就在视频帧中打上时间戳,这个时间戳很难表示play方向视频实际播放的进度,因此需要结合rtmp meta信息、应用层缓存、TCP缓存来修正帧时间戳进度,以便获得更精确的分析结果。修正的过程具体如下文。
对于play流中的视频数据进行监控的流程如图4所示,以play流作为监控的多媒体流,包括步骤401~405:
401、从meta信息中获取发送该play流的平均码率;
402、获取该play流对应的应用层缓存和TCP缓存的总容量。
403、使用缓存的总容量除以平均码率,得到修正时间,即滞留在缓存中的帧的时间戳范围。
404、将videoT减去所述修正时间作为修正后的videoT。
405、执行图3中的步骤301~304。
本例子给出了从主播推送,到观众播放,整个链路的监控方案,可以对视频延迟进行定量分析,当以秒预定时间段,每秒持续执行监控时,可以提供秒级的精细化传输延迟定位结果。
实施例二、一种监控装置,如图5所示,包括:
第一获取模块51,用于获取预定时间段中的系统时间的变化量;
第二获取模块52,用于获取所述预定时间段中,多媒体流的时间戳的变化量;
比较模块53,用于比较所述系统时间的变化量和所述多媒体流的时间戳的变化量,得到比较结果;
判断模块54,用于根据所述比较结果确定所述预定时间段中是否存在传输延迟。
本实施例中,第一获取模块51是上述装置中负责获取系统时间的变化量的部分,可以是软件、硬件或两者的结合。
本实施例中,第二获取模块52是上述装置中负责获取时间戳的变化量的部分,可以是软件、硬件或两者的结合。
本实施例中,比较模块53是上述装置中负责比较变化量的部分,可以是软件、硬件或两者的结合。
本实施例中,判断模块54是上述装置中负责确定是否存在传输延迟的部分,可以是软件、硬件或两者的结合。
本实施例中,对于不同的多媒体流可以各使用一个本实施例的监控装置来进行监控,也可以使用同一个监控装置进行监控。
本实施例的监控装置可以用于直播场景下,该监控装置可以但不限于位于CDN服务器中,也可以位于其它设备中,但可以从CDN服务器读取多媒体流的时间戳以及系统时间。
一种实现方式中,所述系统时间的变化量可以是指第一时刻的系统时间和第二时刻的系统时间之间的差值;所述时间戳的变化量可以是指第一时刻接收的属于监控的多媒体流的数据的时间戳所表示的时间和第二时刻接收的属于监控的多媒体流的数据的时间戳所表示的时间之间的差值;
其中,所述第一时刻是所述预定时间段的结束时刻,所述第二时刻是所述预定时间段的开始时刻。
一种实现方式中,所述系统时间的变化量可以是指第一时刻的系统时间和第二时刻的系统时间之间的差值;所述时间戳的变化量可以是指第一时刻发送的属于监控的多媒体流的数据的时间戳所表示的时间的修正值和第二时刻发送的属于监控的多媒体流的数据的时间戳所表示的时间之间的差值;
其中,所述第一时刻是所述预定时间段的结束时刻,所述第二时刻是所述预定时间段的开始时刻。
其中,所述第一时刻发送的属于监控的多媒体流的数据的时间戳所表示的时间的修正值可以是指:
第一时刻传输的属于监控的多媒体流的数据的时间戳所表示的时间,减去修正时间;所述修正时间是所述监控的多媒体流对应的发送缓存的容量除以所述监控的多媒体流的发送码率所得到的商。
一种实现方式中,所述属于监控的多媒体流的数据的时间戳可以包括:属于监控的多媒体流的视频帧的时间戳。
一种实现方式中,所述判断模块根据比较结果确定所述预定时间段中是否存在传输延迟可以包括:
所述判断模块当所述系统时间的变化量和时间戳的变化量的差距超过预定阈值时,判断所述预定时间段中存在传输延迟。
本实施例的监控装置的各模块的操作分别对应于实施例一中的步骤S110~S140,各模块操作的其它实现细节可参见实施例一。
实施例三、一种用于进行监控的电子设备,包括:处理器和存储器;
所述存储器用于保存用于进行监控的程序;所述用于进行监控的程序在被所述处理器读取执行时,执行以下操作:
获取预定时间段中的系统时间的变化量;
获取所述预定时间段中,多媒体流的时间戳的变化量;
比较所述系统时间的变化量和所述多媒体流的时间戳的变化量,得到比较结果;
根据所述比较结果确定所述预定时间段中是否存在传输延迟。
本实施例中,用于进行监控的程序在被处理器读取执行时,所执行的操作对应于实施例一中的步骤S110~S140;该程序所执行的操作的其它细节可参见实施例一。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
当然,本申请还可有其他多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请的权利要求的保护范围。

Claims (13)

1.一种监控方法,包括:
获取预定时间段中的系统时间的变化量;
获取所述预定时间段中,多媒体流的时间戳的变化量;
比较所述系统时间的变化量和所述多媒体流的时间戳的变化量,得到比较结果;
根据所述比较结果确定所述预定时间段中是否存在传输延迟。
2.如权利要求1所述的监控方法,其特征在于:
所述系统时间的变化量是指第一时刻的系统时间和第二时刻的系统时间之间的差值;所述时间戳的变化量是指第一时刻接收的属于所述多媒体流的数据的时间戳所表示的时间和第二时刻接收的属于所述多媒体流的数据的时间戳所表示的时间之间的差值;
其中,所述第一时刻是所述预定时间段的结束时刻,所述第二时刻是所述预定时间段的开始时刻。
3.如权利要求1所述的监控方法,其特征在于:
所述系统时间的变化量是指第一时刻的系统时间和第二时刻的系统时间之间的差值;所述时间戳的变化量是指第一时刻发送的属于所述多媒体流的数据的时间戳所表示的时间的修正值和第二时刻发送的属于所述多媒体流的数据的时间戳所表示的时间之间的差值;
其中,所述第一时刻是所述预定时间段的结束时刻,所述第二时刻是所述预定时间段的开始时刻。
4.如权利要求3所述的监控方法,其特征在于,所述第一时刻发送的属于所述多媒体流的数据的时间戳所表示的时间的修正值是指:
第一时刻传输的属于所述多媒体流的数据的时间戳所表示的时间,减去修正时间;所述修正时间是所述多媒体流对应的发送缓存的容量除以所述多媒体流的发送码率所得到的商。
5.如权利要求2或3所述的监控方法,其特征在于:
所述属于所述多媒体流的数据的时间戳包括:属于所述多媒体流的视频帧的时间戳。
6.如权利要求1~4中任一项所述的监控方法,其特征在于,所述根据比较结果确定所述预定时间段中是否存在传输延迟包括:
当所述系统时间的变化量和时间戳的变化量的差距超过预定阈值时,判断所述预定时间段中存在传输延迟。
7.一种监控装置,其特征在于,包括:
第一获取模块,用于获取预定时间段中的系统时间的变化量;
第二获取模块,用于获取所述预定时间段中,多媒体流的时间戳的变化量;
比较模块,用于比较所述系统时间的变化量和所述多媒体流的时间戳的变化量,得到比较结果;
判断模块,用于根据所述比较结果确定所述预定时间段中是否存在传输延迟。
8.如权利要求7所述的监控装置,其特征在于:
所述系统时间的变化量是指第一时刻的系统时间和第二时刻的系统时间之间的差值;所述时间戳的变化量是指第一时刻接收的属于所述多媒体流的数据的时间戳所表示的时间和第二时刻接收的属于所述多媒体流的数据的时间戳所表示的时间之间的差值;
其中,所述第一时刻是所述预定时间段的结束时刻,所述第二时刻是所述预定时间段的开始时刻。
9.如权利要求7所述的监控装置,其特征在于:
所述系统时间的变化量是指第一时刻的系统时间和第二时刻的系统时间之间的差值;所述时间戳的变化量是指第一时刻发送的属于所述多媒体流的数据的时间戳所表示的时间的修正值和第二时刻发送的属于所述多媒体流的数据的时间戳所表示的时间之间的差值;
其中,所述第一时刻是所述预定时间段的结束时刻,所述第二时刻是所述预定时间段的开始时刻。
10.如权利要求9所述的监控装置,其特征在于,所述第一时刻发送的属于所述多媒体流的数据的时间戳所表示的时间的修正值是指:
第一时刻传输的属于所述多媒体流的数据的时间戳所表示的时间,减去修正时间;所述修正时间是所述多媒体流对应的发送缓存的容量除以所述多媒体流的发送码率所得到的商。
11.如权利要求8或9所述的监控装置,其特征在于:
所述属于所述多媒体流的数据的时间戳包括:属于所述多媒体流的视频帧的时间戳。
12.如权利要求7~10中任一项所述的监控装置,其特征在于,所述判断模块根据比较结果确定所述预定时间段中是否存在传输延迟包括:
所述判断模块当所述系统时间的变化量和时间戳的变化量的差距超过预定阈值时,判断所述预定时间段中存在传输延迟。
13.一种用于进行监控的电子设备,包括:处理器和存储器;
其特征在于:
所述存储器用于保存用于进行监控的程序;所述用于进行监控的程序在被所述处理器读取执行时,执行以下操作:
获取预定时间段中的系统时间的变化量;
获取所述预定时间段中所述多媒体流的时间戳的变化量;
比较所述系统时间的变化量和所述多媒体流的时间戳的变化量,得到比较结果;
根据所述比较结果确定所述预定时间段中是否存在传输延迟。
CN201711001689.XA 2017-10-24 2017-10-24 一种监控方法、装置及电子设备 Active CN109698961B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711001689.XA CN109698961B (zh) 2017-10-24 2017-10-24 一种监控方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711001689.XA CN109698961B (zh) 2017-10-24 2017-10-24 一种监控方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN109698961A true CN109698961A (zh) 2019-04-30
CN109698961B CN109698961B (zh) 2021-06-22

Family

ID=66228063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711001689.XA Active CN109698961B (zh) 2017-10-24 2017-10-24 一种监控方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN109698961B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111432248A (zh) * 2020-03-30 2020-07-17 北京百度网讯科技有限公司 直播视频流的质量监控方法和装置
CN112671718A (zh) * 2020-12-03 2021-04-16 网宿科技股份有限公司 回源链路的切换方法、服务器及存储介质
CN112751722A (zh) * 2019-10-31 2021-05-04 上海哔哩哔哩科技有限公司 数据传输质量监控方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811751A (zh) * 2015-04-28 2015-07-29 深圳市优网科技有限公司 一种流媒体播放时的卡顿识别方法和装置
CN105979332A (zh) * 2015-12-04 2016-09-28 乐视致新电子科技(天津)有限公司 一种视频数据的检测方法和装置
CN106658188A (zh) * 2016-12-20 2017-05-10 天脉聚源(北京)传媒科技有限公司 一种智能监测视频卡顿的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811751A (zh) * 2015-04-28 2015-07-29 深圳市优网科技有限公司 一种流媒体播放时的卡顿识别方法和装置
CN105979332A (zh) * 2015-12-04 2016-09-28 乐视致新电子科技(天津)有限公司 一种视频数据的检测方法和装置
CN106658188A (zh) * 2016-12-20 2017-05-10 天脉聚源(北京)传媒科技有限公司 一种智能监测视频卡顿的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751722A (zh) * 2019-10-31 2021-05-04 上海哔哩哔哩科技有限公司 数据传输质量监控方法和系统
CN111432248A (zh) * 2020-03-30 2020-07-17 北京百度网讯科技有限公司 直播视频流的质量监控方法和装置
CN112671718A (zh) * 2020-12-03 2021-04-16 网宿科技股份有限公司 回源链路的切换方法、服务器及存储介质
CN112671718B (zh) * 2020-12-03 2023-07-21 网宿科技股份有限公司 回源链路的切换方法、服务器及存储介质

Also Published As

Publication number Publication date
CN109698961B (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
US11284131B2 (en) Establishment and use of time mapping based on interpolation using low-rate fingerprinting, to help facilitate frame-accurate content revision
Krishnamoorthi et al. BUFFEST: Predicting buffer conditions and real-time requirements of HTTP (S) adaptive streaming clients
Ameigeiras et al. Analysis and modelling of YouTube traffic
EP2775673B1 (en) Content reproduction information estimating device, method and program
US20130067109A1 (en) Monitoring Over-the-Top Adaptive Video Streaming
US20230109728A1 (en) Methods and apparatus to monitor media
RU2011137994A (ru) Плавная потоковая передача клиентского мультимедиа без фиксации состояния
CN109698961A (zh) 一种监控方法、装置及电子设备
US11496781B2 (en) Advanced preparation for content revision based on expected latency in obtaining new content
CN105592318B (zh) 一种实现hls频道回看业务的系统、设备和方法
JP2015029268A (ja) マルチメディアフローの識別方法および対応する装置
US10200433B2 (en) Client device, a method for receiving a streaming media data and a streaming media data transmission system
US10284889B1 (en) Determining an actual start of program content relative to a scheduled start of the program content
US11095699B1 (en) Streaming media file management
CA3117028A1 (en) Real-time ad tracking proxy
US9813321B2 (en) Hybrid content delivery system
Koskimies et al. QoE estimation-based server benchmarking for virtual video delivery platform
CN110545451A (zh) 一种流媒体卡顿识别方法、服务器和系统
CN107623847B (zh) 一种视频业务的视频质量评估方法和装置
CN106534104B (zh) 频道录制方法及装置
US10051025B2 (en) Method and apparatus for estimating packet loss
Ninomiya et al. Inferring Live Streaming Delays in the Wild.
KR20160130884A (ko) 사용자 행동 분석에 따른 비디오 스트리밍 데이터 전송 방식 결정 방법 및 시스템
WO2001069934A1 (en) Method and system for transmitting information flows

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