CN103281594A - 监控基于开放互联网的自适应视频流式传输 - Google Patents
监控基于开放互联网的自适应视频流式传输 Download PDFInfo
- Publication number
- CN103281594A CN103281594A CN 201310079496 CN201310079496A CN103281594A CN 103281594 A CN103281594 A CN 103281594A CN 201310079496 CN201310079496 CN 201310079496 CN 201310079496 A CN201310079496 A CN 201310079496A CN 103281594 A CN103281594 A CN 103281594A
- Authority
- CN
- China
- Prior art keywords
- video
- terminal device
- client terminal
- network
- video session
- 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.)
- Pending
Links
Images
Abstract
本发明涉及监控基于开放互联网的自适应视频流式传输。描述了用于在网络中监控基于开放互联网的自适应视频流式传输的系统和方法。在一个实施例中,方法可包括识别所基于的通信中所使用的协议,其中该协议可以是多个不同自适应视频流式传输协议的其中之一。监控使用多个不同协议的视频会话并收集视频会话数据。为网络生成用户体验质量(QoE)和关键QoE指标(KQI)。网络操作者可访问视频会话数据以分析在视频会话期间的初始缓冲延迟、再缓冲延迟、带宽变化和间断。
Description
相关申请的交叉参考
本申请要求保护申请号为61/533,518的美国临时专利申请的提交日的权益,该临时专利申请的发明名称为“Monitoring Over-The-Top IP Viideo forBandwidth Usage,User Experience,and DataAnalytics Feed for OtherApplications”,并且提交日为2011年9月12日,在这里通过参考由此将其公开的内容整个结合到此。
技术领域
一般地,本说明书涉及数据监控,并且更特别地,涉及用于监控基于开放互联网的(over-the-top)自适应视频流式传输的系统和方法。
背景技术
在整个网络业务中,移动数据网络持续经历空前的扩充,并且新类型的客户端装置正消耗更大量的网络带宽。最近几年中,web使能的智能电话、平板装置、因特网使能的TV、游戏控制台和类似装置的普遍使用引发了一场网络业务的高速增长。在网络增长的整个趋势中,视频被预期成为数据带宽的主要消费者。
基于开放互联网的(over-the-top,OTT)内容递送包括将视频和/或音频数据递送至客户端装置,而无需客户端的因特网提供者或网络操作者对内容本身负责,而仅对其通信负责。一般来讲,OTT递送不包括通过从因特网提供者或网络操作者(如Comcast,AT&T等)购买或租用视频或音频内容而发生的递送,并且典型地,OTT递送涉及可从第三方(如 BSkyB,ESPN等)获得的内容。然而,需要指出的是,网络操作者(如Comcast)也将用于递送OTT视频的相同技术部署成递送其自己的流式传输内容,并且因此,本申请中描述的方法也具有这种情况中的可应用性。
通过超文本传输协议(HTTP)、实时消息传送协议(RTMP)和实时传送协议(RTP)的自适应流式传输已作为主要的流式传输媒体递送技术而出现。今天,很多流行的因特网媒体服务利用这样的自适应流式传输技术向对网络传输条件有更多容忍的最终用户递送无缝媒体流。
发明内容
这里描述用于监控基于开放互联网的自适应视频流式传输的系统和方法的实施例。与用于监控媒体载送分组的常规方法相反,这里描述的新监控范例尤其适合用于监控基于文件的媒体流。在各种实施例中,将具有媒体监控软件和硬件的系统部署在一个或多个网络位置处,并将所述系统配置成生成从软件代理、探测器、服务器日志和/或其他源导出的媒体流数据记录。这些媒体流数据记录然后馈送多个高级下游应用以保证优化的最终用户体验和/或给网络操作者提供新的收入机会。
因此,在一个实施例中,方法可包括通过一个或多个网络监控装置执行操作。例如,方法可包括监控在客户端装置和视频流式传输服务器之间通过网络传送的通信,以及识别通信中使用的协议。该协议可包括多个潜在不同自适应视频流式传输协议中的一个。该方法还可包括创建与客户端装置相关的媒体流管线(pipeline),这样的媒体流管线可包括多个媒体文件和与多个媒体文件中的每一个相关的重放长度。
该方法还可包括,至少部分基于媒体流管线来计算以下各项中的至少一个:客户端装置已缓冲内容多久,缓冲增长或收缩地多快,或者所述客户端装置何时将播放完内容。该方法进一步可包括至少部分基于媒体流管线来测量视频流的至少一部分的比特率。
在一些实施例中,该方法可包括记录客户端装置的再缓冲事件,所述再缓冲事件是至少部分基于媒体流管线而检测的,以及至少部分基于媒体流管线来记录与再缓冲事件相关的再缓冲持续时间和恢复事件。该方法还可包括:至少部分基于媒体流管线,记录针对在视频流期间的多个时段中的每一个的标记,每个标记指示体验质量(QoE)事件的严重性。该方法还可包括聚合媒体流管线和对应于网络中给定位置的其他客户端装置的其他媒体流管线。附加地或可替换地,该方法可包括:至少部分基于媒体流管线,确定客户端装置的内容缓冲超过阈值水平,以及至少部分基于该确定,指示客户端装置的潜在欺骗。
在一些实施例中,这里描述的方法中的一个或多个可以由一个或多个计算机系统执行。在其它实施例中,一种有形的计算机可读存储介质可以具有存储在其上的程序指令,当所述程序指令由一个或多个计算机系统执行时,使该一个或多个计算机系统执行这里公开的一种或多种操作。在另一些实施例中,系统可包括至少一个处理器和与该至少一个处理器耦合的存储器,该存储器被配置成存储可由至少一个处理器执行以实行这里公开的一种或多种操作的程序指令。
附图说明
现在对附图进行参考,其中:
图1是示意根据一些实施例的用于监控基于开放互联网的自适应视频流式传输的系统的框图;
图2示意根据一些实施例的通过不同HTTP流逐段传送的不同质量的各个媒体流;
图3示意根据一些实施例的用于最终用户会话的HTTP下载事务的一部分的DF和MF流;
图4是监控系统的框图,该监控系统追踪针对不同装置上的和使用不同协议的多个用户的视频会话的用户体验数据;
图5是示意根据一些实施例的网络监控软件的框图;
图6是根据一些实施例的监控OTT自适应视频流式传输的方法的流程图;
图7是被配置成实现根据一些实施例的这里描述的各种系统和方法的计算机系统的框图。
虽然该说明书提供了几个实施例和说明性附图,但是本领域普通技术人员应认识到当前说明书并不仅限于所描述的实施例或附图。可以理解,附图和详细描述不意图将本说明书限于所公开的特定形式,但是反之,意图在于覆盖所有落在权利要求的精神和范围中的修改、等同形式和可替换形式。而且,任何在此使用的标题仅用于组织目的而并无意限制描述的范围。如这里使用的,词语“可”意为传达允许的意思(即,意为“具有做某事的潜力”),而不是强制的意思(即,意为“必须”)。类似地,词语“包括”、“包含”和“具有”意为“包括,但不限于”。
具体实施方式
由于在整个网络业务中数据网络经历着空前的增长,所以网络操作者面临少见的挑战。服务提供者希望维持足够高的体验质量(QoE)水平以将用户离网最小化并使服务收入最大化。在历史上,由于网络最初聚焦在数据和/或移动语音上,因此这已经成为一个可管理的问题。但是,随着视频业务的出现和扩展,维持高水平的QoE变得更加困难。至少部分地针对这些问题,已经发展出了被称为“自适应比特率流式传输”(或者简单地说为“自适应流式传输”)的技术。一般来讲,自适应流式传输技术检测用户的带宽和/或CPU性能,并响应于该带宽和/或性能调整视频流的质量(或比特率)。确定视频QoE的现有技术在评估自适应流式传输递送方法时是无效的。因此,这里描述了用于监控基于开放互联网的自适应视频流式传输的各种系统和方法。
图1是示意根据一些实施例的用于监控基于开放互联网的自适应视频流式传输的系统的简化框图。多个流式传输视频服务器101-103通过网络107给客户端装置104-106提供视频流。由于数据分组包含经过网络107的视频流,所以由网络监控系统108监控视频流。比如,流式传输视频服务器101-103可以是内容递送网络(CDN)中边缘服务器或者视频内容的拥有者或源。
基于内容提供者、内容本身和/或客户端装置104-106,选择用于将视频内容从流式传输视频服务器101-103提供至客户端装置104-106的协议。比如,在超文本传输协议(HTTP)、实时消息传送协议(RTMP)和实时传送协议(RTP)上支持用于视频内容的自适应流式传输。典型的服务提供者的网络107服务于许多不同类型的客户端装置104-106。在任何特定时间,客户端装置104-106访问来自许多不同流式传输视频服务器101-103的视频内容,其通过网络107产生许多不同HTTP、RTMP和RTP会话。
针对各种客户端装置104-106的视频会话中的每一个具有不同的开始和结束时间以及具有不同的可用带宽。在每个视频会话期间,该会话的可用带宽可改变多次。而且,在视频会话期间,视频流也可开始和结束,这可能创建视频流中的间断。这些问题使服务提供者很难为订户确定QoE。
为了评估订户的QoE和关键QoE指标(KQI),网络监控系统108关联每个视频会话的相关数据分组,追踪每个视频流可用的带宽,检测每个会话的带宽变化,以及检测每个视频流中的间断。监控系统108追踪每个会话和每个客户端的用户体验信息的相同集合,而无需考虑用于支持视频会话的协议(如HTTP、RTMP、RTP等)。通过使用诸如每个流上的带宽多久改变一次、每个流上使用的不同带宽、每个流中检测到的间断的数目之类的信息,监控系统108可以识别关于每个用户体验的特定信息。例如,监控系统可以确定使用的屏幕分辨率、屏幕分辨率多久改变一次、流所需的缓冲的数量、视频中的间断的持续时间。服务提供者可以使用该消息来调整可用于客户端装置104-106的网络服务,比如分配给每个用户的带宽和经由网络107的数据分组的路由。
客户端装置104-106可包括任何计算机系统或装置,例如比如个人计算机、膝上型计算机、平板计算机、移动装置、智能电话、网络使能的装置、web使能的电视等等。客户端装置104-106可以允许用户通过图形用户接口(GUI)使用web浏览器应用等等操纵因特网或其他数据网络。另外地或可替换地,通过独立的或基于web的客户端应用,客户端装置104-106可以访问可由视频流式传输服务器101-103使用的内容目录。用户然后可以请求将视频(或其他流式传输内容)流式传输至客户端装置104-106。
网络107可包括例如任何适合的有线或无线计算机或数据网络,其包括例如因特网、或第三代(3G)、第四代(4G)或长期演进(LTE)无线网络。
网络监控系统108可包括耦合至网络107的网络监控器或分析器、分组嗅探器、探测器等等。
图2示意根据一个实施例的多个各个媒体流的分配。使用通过HTTP、RTMP、RTP或其他协议的自适应流式传输分配媒体内容。媒体服务器203分配实况转播的视频内容(201)或记录的视频内容(202),并以不同比特率向分配服务器204提供相同内容的两个或更多版本(21-23)。在一个实施例中,分配服务器204起流式传输视频服务器101-103(图1)的作用。分配服务器204存储用不同比特率编码的内容的每个版本。
当分配服务器204从客户端装置205-207接收到对内容的请求时,它确定将内容的不同版本中的哪一个或者以哪个比特率提供给请求装置。分配服务器204可以基于网络208上的可用带宽或者基于请求装置205-207的特性(例如装置的处理性能、屏幕分辨率或者服务协定)选择内容版本。例如,装置205可具有高带宽和/或CPU处理功率,并且因此为了最好的重放条件而接收高比特率视频内容(24)。装置207可以具有低带宽和/或CPU处理功率,并且因此接收最差的重放条件所支持的低比特率视频内容(26)。装置206可以具有变化的带宽或其他可变性能,这要求分配服务器204为装置206选择针对当前条件所支持的请求内容的比特率(25)。
网络监控系统208被耦合至网络209中的接口,并且捕获视频会话24-26的数据分组。网络监控系统208可包括多个耦合至一个或多个网络接口的监控探测器。监控探测器从接口被动地捕获消息、数据分组或者协议数据单元(PDU),而无需干扰网络209的操作。监控探测器立即处理捕获的数据和/或将该数据传送至中央监控服务器。在网路监控系统208中关联和处理捕获的数据,并且提取关于视频会话24-26和网络209的当前状态的信息。网络操作者使用工作站210访问该信息。监控系统将捕获的数据存储在数据库211中。
网络监控系统208可通过分组捕获装置(如用来优化以处理高带宽IP业务的高速、高密度探测器)耦合至网络209的接口。网络监控系统208从接口被动地捕获消息业务,而无需中断网络209的操作。网络监控系统208可捕获和关联与网络接口上的特定数据会话24-26相关的分组。可以将相关的分组合并到针对网络209上的特定流、会话或呼叫的记录。在可替换的实施例中,网络监控系统208可以是驻留在网络节点、交换器或服务器上并且捕获进出节点、交换器或服务器的数据分组的活动部件,比如软件代理。
在视频流式传输会话期间,重放条件从对于任何给定装置205-207的其初始状态变化。比如,网络带宽和/或装置性能可增加或减少。在检测到这种变化时,分配服务器204将视频流切换至相同内容的不同版本,比如不同的比特率。网络监控系统208检测视频会话中的这些变化并将这些数据存储至数据库中和/或将其呈现给工作站210上的网络操作者。
图3示意根据一个实施例的自适应流式传输视频会话。媒体文件/递送格式(DF)和清单文件(MF)流是用于最终用户的HTTP下载事务的一部分。在其它实施例中,RTMP和RTP协议可被用于支持自适应流式传输会话。实质上,对于相同的视频,自适应流式传输的所有实施都在客户端和服务器之间传输两种类型的文件。特别地,服务器301将来自源302的视频转换成一系列的清单文件(也被称为“播放列表”),这些清单文件可包括信息,如可用视频文件名称、相应比特率、编码类型和指示媒体文件的时间/长度的方式。服务器301还创建一系列由清单文件描述的媒体文件(视频/音频片段)。在网络303上传输MF和DF文件,并且然后由客户端装置304重新合并该MF和DF文件以在显示器305上播放。
网络303上的拥塞和带宽变化影响至客户端305的MF和DF文件的流动,并由此影响在显示器305上播放的视频的质量。网络监控系统306捕获多个视频会话的MF和DF文件。网络监控系统306分析捕获的MF和DF文件,并提取会话数据以确定用户QoE和KQI。
图4是监控系统400的框图,该监控系统追踪不同装置上和使用不同协议的多个用户的视频会话的用户体验数据。穿过网络402,在内容服务器403和客户端装置404之间传输多个视频会话401。内容服务器403可以使用自适应流式传输以便提供通过HTTP、RTMP、RTP或其他协议的视频会话401。每个视频会话使用的协议取决于内容的来源。例如,不同内容提供者可能使用不同协议。每个视频会话使用的比特率取决于分配给会话或客户端的网络402的带宽。带宽可以基于一个又一个会话而变化和/或在各个视频会话期间变化。客户端404的性能也会影响用于各个视频会话的比特率。
监控探测器405捕获来自网络402的数据分组,包括视频会话401的数据。监控探测器405确定识别对于捕获的数据分组的信息,并且将相关数据合并进会话记录中。监控探测器405将会话记录和捕获的分组数据馈送至自适应流式传输监控引擎406。会话记录可包括在相关视频会话活动时被周期性地提供给自适应流式传输监控引擎406的多个片段。自适应流式传输监控引擎406识别用于每个会话记录的协议,自适应流式传输监控引擎406使用适当的算法407-410来从每个会话记录提取会话数据。在一个实施例中,自适应流式传输监控引擎406是运行监控系统400中的一个或多个处理器的软件应用。
将会话数据作为监控馈送411提供给会话监控应用412和/或者将其存储在数据库413。数据库413还可以存储订户信息和客户端装置数据。网络操作者通过工作站终端414访问实时的或存储的会话数据。
监控系统400允许网络402的服务提供者收集来自所有视频会话的数据,而不考虑使用的协议。监控系统400识别用于视频会话的协议,并且然后提取会话数据和参数。多个会话的数据被存储到数据库413,该数据库413允许服务提供者追踪每个会话或者提取系统范围的参数。监控探测器405和/或自适应流式传输监控引擎406通过分析该会话的每个数据分组来识别用于该每个会话的协议的类型。一个会话的数据分组可以对应于被流式传输至客户端装置的视频的2-10秒的片段。
监控探测器405和/或自适应流式传输监控引擎406还追踪可用于每个视频会话的带宽并且识别实时发生的带宽变化。监控探测器405和/或自适应流式传输监控引擎406为任何会话检测何时在数据分组的流中发生间断或片段丢失。将会话参数、带宽信息和间断数据收集至数据库413和/或将其呈现给工作站414上的服务提供者。
例如,服务提供者可以基于每会话、每用户、每装置或每协议地询问存储在数据库413的数据。监控系统400使用收集到的信息并且针对每个会话和整个网络产生QoE和KQI。例如,QoE和KQI可以例如基于多久检测再缓冲、屏幕分辨率变化、间断和/或片段丢失一次。会话期间的额外缓冲(即再缓冲)、多次屏幕分辨率变化和视频流中的间断会降低用户的QoE。另外,视频选择或请求与视频会话流的开始(即初始缓冲)之间的延迟的长度和会话期间使用的压缩水平也会影响用户的QoE。
图5是示意根据一些实施例的网络监控软件的框图。在一些情况下,至少部分由网络监控系统400(图4)执行网络监控软件。可以将通信接口501配置成允许网络监控软件接收通过网络402交换的分组和数据。视频流和/或分组检查模块502(比如自适应流式传输监控引擎406)可被配置成接收由通信接口501获得的数据并从这些数据中提取特定信息。关联引擎503可被配置成使用所提取的信息来为每个客户端装置404创建媒体流管线504,所述所提取的信息然后可以被存储至数据库413中。
一般来讲,数据库413可包括任何合适类型的应用或可被配置成为持久性数据存储库的数据结构。例如,可以将数据库413配置成相关数据库,该相关数据库包括行和列的一个或多个表,并且可根据询问语言(如SQL等等)搜索或询问该相关数据库。可替换地,将数据库413配置成结构化数据存储,该结构化数据存储包括根据置标语言(如XML等等)格式化的记录。在其他实施例中,可以使用通过相应类型的应用可访问和管理的一个或多个任意或最小化的结构化文件来实现数据库413。
在各种实施例中,图5所示的模块501-504可以代表被配置成执行结合图4描述的操作的一组软件例程、逻辑函数、和/或数据结构。尽管将模块501-504示为截然不同的逻辑块,但在其他实施例中,由这些模块提供的功能的至少一些可以合并成较少的块。相反地,可以实施模块501-504中的一个或多个以使得其在两个或更多个逻辑块之中被划分。而且,尽管以特定配置示出,但在其他实施例中,这些各种模块可以以其他方式重新布置。
图6是根据一些实施例的监控OTT自适应视频流式传输的方法的流程图。在各种实施中,至少部分由网络监控系统400(图4)执行该方法。在框601处,本方法可包括从通过网络(如网络402)在客户端装置(如客户端404)和视频流式传输服务器(如内容服务器403)之间传输的通信中选择标签。然后,在框602中,该方法可包括,至少部分基于所选标签来识别在通信中使用的协议,其中所识别的协议是多个不同自适应视频流式传输协议中的一个。
在各种实施例中,不同自适应流式传输的实现可以具有从监控观点来看以识别为目的的不同标签。例如,平滑流式传输客户端(比如客户端)在HTTP GET请求URL中具有“.ismv”或“.isma”。同时,HTTP实况转播流式传输以流式传输控制为目的特别定义了一组可以从HTTP TCP流中识别的独特的“EXT-X-*”标签。识别这些流的其他方式可包括使用预配置主机ID或因特网协议(IP)地址的列表。这些方法有利于消耗较少的监控设备资源,但是以自动发现为代价。因此,它在公知感兴趣的主机/IP的一些部署情节中是可以被接受的。
在框603中,该方法可包括至少部分基于识别的协议,将在视频流期间在客户端装置和视频流式传输服务器之间交换的清单文件(MF)流与递送格式(DF)流关联。例如,一旦识别到自适应流式传输流,就有可能在主要电影HTTP请求(由观看者通过客户端触发)和针对每个2-10秒电影片段的后续HTTP请求之间关联。然后,在框604中,该方法可包括创建与客户端装置相关并且至少部分基于关联的DF和MF流的媒体流管线。
可以使用DF流和MF流之间的关联来将所有各个HTTP下载事务合并进一个逻辑最终用户会话中,由此实现下游应用测量利用、用户体验、和/或最终用户级别处的其它分析。然而,在各个实施例中,不同自适应流式传输协议可不同地实现DF/MF流。而且,不同客户端(比如浏览器、独立应用等)甚至对相同的协议可以不同地运转。在一些情况下,利用传输层安全(TLS)或其它加密,在网络上传输一些关联所需的信息。结果,在不同场景中可实现关联的不同级别。
一般来讲,可以将用于HTTP自适应流式传输的视频会话分为三个阶段。在阶段1中,建立会话。客户端和认证服务器基于客户端的内容选择建立会话。可以检查用户的证书和/或媒体可用性。在阶段2中,执行初始MF交换。该阶段可包括客户端与CDN或流式传输服务器的相互作用,和描述媒体流和编解码器的不同带宽(质量)的可用性的MF的传输或接收。在阶段3中,客户端然后可以基于其CPU/带宽可用性,从CDN服务器请求在不同HTTP流上逐段传输的不同质量的各个媒体流。阶段1和2二者的通信可以发生在HTTP安全(HTTPS)通道内部,并且因此对网络监控系统来说其不是容易可用的。因为媒体内容已经采用数字版权管理(DRM)加密等加密,所以阶段3典型地使用HTTP而发生。因为在不同卖主之间HTTP自适应流式传输的实现是不同的,所以构建特定每客户端的媒体流管线的方法也依据特定实现而改变。
另一方面,选择构建其SIL客户端,而无需使用平滑流式传输API,尽管其提供具有几乎相同用户体验的“无缝自适应流式传输”实现。与平滑流式传输相比,其通过在安全的TLS管通道中承载MF来以更安全的方式构建(阶段2)。一些客户端(如应用的)甚至也在安全通道中承载初始客户端/服务器交换(阶段1)。
特别地,对相同媒体(视频和音频二者)流的所有客户端请求具有相同URL令牌,在一些情况下,该URL令牌可与先前描述的视频ID有区别。因此,这样的令牌也用于关联媒体会话。
同时,HTTP实况转播流式传输采用两级MF结构。初始MF包含对于相同媒体流的每个可用媒体文件的带宽/编解码器信息。在一些实施例中,这些媒体序列标签可被用于建立从客户端期望的请求的列表。当请求来自于客户端时,URL可以与MF文件中列出的URL进行比较,并且还可以为片段记录下其持续时间(8秒)。在一些情况下,维持这样的序列和标签的列表可以允许监控系统400构建每HTTP流式传输客户端的列表。这可以在监控软件中建立可用于客户端重放的媒体文件的管线。通过追踪文件的数量和每客户端的每个文件的重放长度,该技术还允许监控软件计算客户端已缓冲内容多久、缓冲增长/收缩地多快以及还有多久在客户端侧内容将会播放完并因此触发再缓冲。
一些实施例中,还可以通过监控MF/DF文件来使每个请求的媒体文件的比特率可用。尤其是,可以从对应的URL中识别视频片段的比特率。在这些情况下,比特率的变化可以直接影响客户端请求URL。
需要指出的是,可通过多个TCP流传输相同的段。因此,可以保留针对所有HTTP/TCP流的会话记录,并在会话上下文中单独追踪段。比特率可被计算成在任何特定时段内在会话中传输的所有字节的总和。因为当媒体流被建立(如,初始下载、比特率变化、欺骗模式等)时,客户端可被配置成每次缓冲几分钟的媒体,可以周期性执行比特率的计算直到其稳定为止。当其稳定时,所计算的比特率可以与当时传输的DF的期望比特率匹配。
相反地,HTTP实况转播流式传输描述每视频片段的EXT-X-STREAM-INF标签的带宽参数中的比特率。当客户端请求相比于先前已请求的文件具有不同带宽的新文件时,通过监控客户端已经请求什么比特率文件,网络监控系统400可以追踪比特率变化。
基于上述描述的性能,网络监控系统400接着可以被配置成为HTTP自适应流式传输监控提供一组有利特征。例如,网络监控系统400可以被配置成聚合每客户端媒体流带宽使用,网络范围和专用于特定网络位置二者。因而,在一些实施例中,网络监控系统400可给予操作者将自适应流式传输对其网络负载的影响可视化的能力。例如,可以累积历史数据以计划朝网络规划目的的趋势。
进一步地,基于对该客户端的媒体管线的分析,可以测量多个每客户端关键质量指标(KQI)。例如,再缓冲通常由视频流中的中断导致,并可以由此导致大的观看者QoE的降级。例如,可以通过监控媒体重放长度来测量每客户端的该消极事件的频率。随着剩余长度低于临界阈值并且缓冲大小降低,再缓冲事件可以被记录和报告。一些实施方式中,对于客户端的每个类型(如装置、网络、应用等),这些各种参数是可配置的。还有,当剩余重放长度回归正常时,可以记录恢复事件连同再缓冲的时间(即重放间断时间)。
频繁的比特率搅动(churn)也显著地降低用户QoE,因为一些客户端(如)由于在不同比特率之间切换重放流所必需的部件的重新初始化,一般不能以无缝方式处理事件,其也用作预拥塞指标。例如,可以从HTTP客户端请求中的用户代理域识别客户端。
在一些实施例中,可以将所有QoE事件记录在每客户端数据记录中以用于进一步的分析。基于事件的严重性和频率,可以针对媒体流的持续时间的每个监控或报告时段(如30秒)记录不同类型的标签(如绿/黄/红)。因而,可以将QoE标签的模式用于根本原因分析以及其他应用。例如,如果播放媒体流持续几分钟并且朝向重放的结束,则记录一系列红/黄标签,并且随后用户立刻终止流,这样的一序列事件可以指示用户放弃观看视频,由于严重的质量降低。
在一些实施例中,可以基于特定网络位置聚合所有每客户端的KQI记录,监控这些流以产生每节点和/或位置视频拥塞分析。除在该位置提供所有流的聚合的视图外(例如以每30秒红/黄/绿流的百分比的柱状图的形式),类似地可以将所聚合的记录用于根本原因分析等等。例如,如果在一个特定位置处,媒体QoE降级发生在恰好的固定间隙,则这可以指示具有错误配置的设备的网络问题。
关注的数字媒体流式传输之一是盗版和内容的非法拷贝。因此,经常只允许客户端非常受限制的缓冲以及不能存储流媒体。使用相同的每客户端媒体流管线,可以在每客户端级别处检测媒体内容的额外缓冲,并且可以基于政策违反来引出警报。如前述,这可能是由于在每会话级别上针对相同会话的媒体流DF已被适当地识别和聚合。在没有这个会话关联的情况下,媒体下载将与常规的HTTP web下载一样,并很难或不可能被检测为欺骗。
如这里描述的,用于监控基于开放互联网的自适应视频流式传输的系统和方法的实施例可由一个或多个计算机系统实现或执行。一个这样的计算机系统在图7中被举例说明。在各种实施例中,计算机系统700可以是服务器、大型计算机系统、工作站、网络计算机、桌上型计算机、膝上型计算机、或诸如此类。例如,在一些情况下,图1中所示的网络监控系统115可以被实现为计算机系统700。此外,流式传输视频服务器100或客户端装置105中的一个或多个可以包括处于计算机系统700的形式的一个或多个计算机。如上述解释的,在不同的实施例中,这些各种计算机系统可以被配置为以任何合适的方式彼此通信,诸如例如,通过网络110。
如举例说明的那样,计算机系统700包括一个或多个通过输入/输出(I/O)接口730耦合到系统存储器720的处理器710。计算机系统700进一步包括耦合到I/O接口730的网络接口740,和一个或多个输入/输出设备750,例如光标控制设备760、键盘770、和(多个)显示器780。在一些实施例中,预期给定实体(例如,网络监控系统115)可以使用计算机系统700的单个实例来实现,而在其他实施例中,多个这样的系统或构成计算机系统700的多个节点可以被配置为主控实施例的不同部分或实例。例如,在一个实施例中,一些元件可以通过计算机系统700中的与实现其他元件的那些节点不同的一个或多个节点来实现(例如,第一计算机系统可以实现流/分组检查模块405,而另一个计算机系统可以实现网络监控系统115的账户关联引擎410)。
在各种实施例中,计算机系统700可以是包括一个处理器710的单处理器系统,或是包括两个或多个处理器710(例如,两个、四个、八个、或另外合适的数目)的多处理器系统。处理器710可以是任何能够执行程序指令的处理器。例如,在各种实施例中,处理器710可以是实现任何多种多样的指令集体系结构(ISAs)的通用目的或嵌入式处理器,例如x86,或ISAs,或任何其他合适的ISA。在多处理器系统中,处理器710中的每一个通常但不必须实现相同的ISA。而且,在一些实施例中,至少一个处理器710可以是图形处理单元(GPU)或其他专用图形渲染设备。
系统存储器720可以被配置为存储程序指令和/或处理器710可存取的数据。在各种实施例中,系统存储器720可以使用任何合适的存储器技术来实现,例如静态随机存取存储器(SRAM),同步动态RAM(SDRAM),非易失性/闪存型存储器,或任何其他类型的存储器。例如,如解释说明的那样,实施特定操作的程序指令和数据(结合图1至5描述的那些)可以分别作为程序指令725和数据存储735被存储在系统存储器720中。在其他实施例中,程序指令和/或数据可以被接收、发送或存储在不同类型的计算机可存取介质上或与系统存储器720或计算机系统700分离的类似介质上。一般而言,计算机可存取介质可以包括任何有形的存储介质或存储器介质例如磁性或光学介质-例如,通过I/O接口730耦合到计算机系统700的盘或CD/DVD-ROM。以非瞬时的形式存储在有形的计算机可存取介质上的程序指令和数据可以进一步通过例如电、电磁或数字信号的传输介质或信号传送,其可以通过例如网络和/或无线链路的通信介质被传送,诸如其可以通过网络接口740实现。
在一个实施例中,I/O接口730可以被配置为调整处理器710、系统存储器720和设备中的任意外围设备(包括网络接口740或其他外围接口,例如输入/输出设备750)之间的I/O业务。在一些实施例中,I/O接口730可以进行任何需要的协议、定时或其他数据变换来将数据信号从一个组件(例如,系统存储器720)转换成合适于供另一个组件(例如,处理器710)使用的形式。在一些实施例中,I/O接口730可以包括对通过各种类型的外围总线(诸如例如外设部件互联(PCI)总线标准或通用串行总线(USB)标准的变形)附接的设备的支持。在一些实施例中,I/O接口730的功能可以被分为两个或更多个独立组件,诸如例如北桥和南桥。另外,在一些实施例中,I/O接口730的一些或所有功能,例如到系统存储器720的接口,可以直接结合到处理器710中。
网络接口740可以被配置为允许在计算机系统700和附接到网络的其他设备(例如其他计算机系统)之间、或计算机系统700的节点之间交换数据。在各种实施例中,网络接口740可以支持通过有线或无线通用数据网络(例如任何合适类型的因特网网络)的通信;通过例如模拟语音网络或数字光纤通信网络的电信/电话网络的通信;通过例如光纤信道SANs的存储区域网络的通信;或通过任何其他合适类型的网络和/或协议的通信。
在一些实施例中,输入/输出设备750可以包括一个或多个显示器终端、键盘、键区、触摸屏、扫描设备、语音或光学识别设备,或任何其他适合通过一个或多个计算机系统700输入或取回数据的设备。多输入/输出设备750可以存在于计算机系统700中或分布在计算机系统700的许多节点上。在一些实施例中,相似的输入/输出设备可以与计算机系统700分离,并可以通过有线或无线连接(例如通过网络接口740)与计算机系统700的一个或多个节点相互作用。
如图7中所示,存储器720可以包括:程序指令725,其被配置为实现于此所述的特定实施例;和数据存储735,其包括可由程序指令725存取的各种数据。在一个实施例中,程序指令725可以包括如上述图举例说明的实施例的软件元件。例如,程序指令725可以在各种实施例中使用任何期望的编程语言、脚本语言或编程语言和/或脚本语言的结合(例如,C、C++、C#、JavaTM、JavaScriptTM、Perl等等)来实现。数据存储735可以包括用于这些实施例的数据。在其他实施例中,可以包括其他或不同的软件元件和数据。
本领域普通技术人员会意识到,计算机系统700只是举例说明而不是意图限制于此描述的公开的范围。特别是,所述计算机系统和设备可以包括可以执行指示的操作的硬件或软件的任何组合。另外,在一些实施例中,由举例说明的组件执行的操作可以由较少的组件执行或被分配在额外的组件上。类似地,在其他实施例中,一些举例说明的组件的操作可以不被执行和/或其他额外的操作可以获得。因此,于此描述的系统和方法可以利用其他计算机系统配置来实现或执行。
附图和这里描述的各种系统和方法代表用于监控基于开放互联网的自适应视频流式传输的系统和方法的示例实施例。在各种实施例中,这里描述的技术可以使用遍及网络认出不同类型的视频业务和存储带宽利用信息的技术,以提供视频业务表征能力,比如针对历史趋势。可以基于利用来设置和触发警报,因此检测特定位置中的额外的和/或异常的嗒嗒声。而且,可以提供每个内容递送会话的详细记录。这些记录中的信息可以用作政策管理系统的输入以便基于预置政策提供区别的网络服务和/或实现视频内容递送的优化。一些情况下,这里描述的技术还可以实现从其它类型的内容中区别产生额外费用的内容,并因此确保对其各自的递送的适当收费。另外,可以将基于视频会话记录的数据库存和/或数据开采能力与其他订户信息(如人口统计学)组合以实现目标产品和/或广告提供。
可以以软件、硬件或其结合来实现该各种技术。给定方法中的每个操作执行的顺序可以被改变,并且于此举例说明的所述系统的各种元件可以被增加、重新排序、组合、省略、修改等等。利用本说明书的益处作出各种修改和改变对本领域普通技术人员来说将是清楚的。意图使于此描述的(多个)发明包括所有这样的修改和改变,并且因此,上述描述应该被认为是示例性说明而非限制性的意义。
Claims (20)
1.一种方法,包括:
通过一个或多个网络监控装置来执行:
从网络接口捕获数据分组,所述数据分组与多个视频会话相关;
将所述数据分组与所述视频会话中的一个关联;
识别所述视频会话中的每一个所使用的协议;
基于所使用的协议的类型从所述视频会话中的每一个提取自适应流式传输参数;以及
产生针对所述多个视频会话的体验质量(QoE)数据。
2.如权利要求1所述的方法,其中用于所述视频流中的每一个的协议是多个不同自适应视频流式传输协议的其中之一。
3.如权利要求1所述的方法,进一步包括:
确定视频会话可用的带宽。
4.如权利要求3所述的方法,进一步包括:
识别在视频会话期间分配给所述视频会话的带宽的变化。
5.如权利要求1所述的方法,进一步包括:
确定由在对视频内容的初始请求之后缓冲视频会话数据而造成的在客户端装置处的初始延迟。
6.如权利要求1所述的方法,进一步包括:
确定在视频会话期间客户端装置何时必须暂停视频重放以缓冲附加数据。
7.如权利要求1所述的方法,进一步包括:
识别在视频会话期间客户端装置上的屏幕分辨率的变化。
8.如权利要求1所述的方法,进一步包括:
将在对于所述视频会话中的每一个的视频流式传输服务器和客户端装置之间交换的清单文件(MF)流与递送格式(DF)流关联。
9.如权利要求8所述的方法,进一步包括:
创建至少部分基于关联的DF流和MF流并且与所述客户端装置相关的媒体流管线。
10.如权利要求9所述的方法,进一步包括:
通过所述一个或多个网络监控装置来执行:
至少部分基于所述媒体流管线来测量所述视频流的至少一部分的比特率。
11.如权利要求1所述的方法,进一步包括:
通过所述一个或多个网络监控装置来执行:
记录客户端装置的再缓冲事件,所述再缓冲事件是至少部分基于所述媒体流管线而检测的;以及
至少部分基于所述媒体流管线来记录与所述再缓冲事件相关的再缓冲持续时间和恢复事件。
12.一种系统,包括:
至少一个处理器;以及
耦合到所述至少一个处理器的存储器,所述存储器被配置成存储所述至少一个处理器可执行的程序指令以使所述系统:
识别在客户端装置和视频流式传输服务器之间使用的多个潜在不同的自适应视频流式传输协议中的一个;
计算以下各项中的至少一项:所述客户端装置已缓冲内容多久,缓冲增长或收缩地多快,或者客户端装置将何时播放完内容;以及
记录体验质量(QoE)事件,其包括针对所述客户端装置的再缓冲、恢复和再缓冲持续时间。
13.如权利要求12所述的系统,其中所述程序指令能够进一步由所述至少一个处理器执行以使所述系统:
确定视频流的至少一部分的比特率。
14.如权利要求12所述的系统,其中所述程序指令能够进一步由所述至少一个处理器执行以使所述系统:
确定视频会话的可用带宽。
15.如权利要求12所述的系统,其中所述程序指令能够进一步由所述至少一个处理器执行以使所述系统:
识别在视频会话期间分配给所述视频会话的带宽的变化。
16.如权利要求12所述的系统,其中所述程序指令能够进一步由所述至少一个处理器执行以使所述系统:
确定由在对视频内容的初始请求之后缓冲视频会话数据而造成的在客户端装置处的初始延迟。
17.如权利要求12所述的系统,其中所述程序指令能够进一步由所述至少一个处理器执行以使所述系统:
确定在视频会话期间客户端装置何时必须暂停视频重放以缓冲附加数据。
18.如权利要求12所述的系统,其中所述程序指令能够进一步由所述至少一个处理器执行以使所述系统:
识别在视频会话期间客户端装置上的屏幕分辨率的变化。
19.一种非瞬时性计算机可读存储介质,在其上存储有程序指令,当所述程序指令由一个或多个计算机系统执行时,使所述一个或多个计算机系统:
从网络接口捕获数据分组,所述数据分组与多个视频会话相关;
将所述数据分组与所述视频会话中的一个关联;
识别所述视频会话中的每一个所使用的协议;
基于所使用的协议的类型从所述视频会话中的每一个提取自适应流式传输参数;以及
产生针对所述多个视频会话的体验质量(QoE)数据。
20.如权利要求19所述的非瞬时性计算机可读存储介质,其中当所述程序指令由一个或多个计算机系统执行时,进一步使所述一个或多个计算机系统:
计算以下各项中的至少一项:所述客户端装置已缓冲内容多久,缓冲增长或收缩地多快,或者客户端装置将何时播放完内容。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/349,431 | 2012-01-12 | ||
US13/349,431 US20130067109A1 (en) | 2011-09-12 | 2012-01-12 | Monitoring Over-the-Top Adaptive Video Streaming |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103281594A true CN103281594A (zh) | 2013-09-04 |
Family
ID=49078221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201310079496 Pending CN103281594A (zh) | 2012-01-12 | 2013-01-12 | 监控基于开放互联网的自适应视频流式传输 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103281594A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105723679A (zh) * | 2013-11-11 | 2016-06-29 | 亚马逊科技公司 | 用于数据流的客户端可配置安全选项 |
CN105917656A (zh) * | 2013-11-01 | 2016-08-31 | 爱立信股份有限公司 | 用于在内容递送网络中预先供应自适应位速率(abr)资产的系统和方法 |
CN106063281A (zh) * | 2014-03-06 | 2016-10-26 | 阿尔卡特朗讯公司 | 确定视频会话中重新缓冲事件的方法 |
CN109952559A (zh) * | 2016-12-30 | 2019-06-28 | 德州仪器公司 | 具有单独可选元素及成组复制的流式传输引擎 |
CN110995538A (zh) * | 2019-12-03 | 2020-04-10 | 北京博睿宏远数据科技股份有限公司 | 网络数据采集方法、装置、系统、设备及存储介质 |
US10635644B2 (en) | 2013-11-11 | 2020-04-28 | Amazon Technologies, Inc. | Partition-based data stream processing framework |
CN111147944A (zh) * | 2019-12-26 | 2020-05-12 | 广州易方信息科技股份有限公司 | 一种基于大数据日志分析的点播侵权风险发现方法 |
US10691716B2 (en) | 2013-11-11 | 2020-06-23 | Amazon Technologies, Inc. | Dynamic partitioning techniques for data streams |
CN114710420A (zh) * | 2022-04-14 | 2022-07-05 | 广州形银科技有限公司 | 一种基于主动网络技术的混合网络监控系统 |
-
2013
- 2013-01-12 CN CN 201310079496 patent/CN103281594A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105917656A (zh) * | 2013-11-01 | 2016-08-31 | 爱立信股份有限公司 | 用于在内容递送网络中预先供应自适应位速率(abr)资产的系统和方法 |
CN105723679A (zh) * | 2013-11-11 | 2016-06-29 | 亚马逊科技公司 | 用于数据流的客户端可配置安全选项 |
CN105723679B (zh) * | 2013-11-11 | 2019-04-26 | 亚马逊科技公司 | 用于配置节点的系统和方法 |
US10635644B2 (en) | 2013-11-11 | 2020-04-28 | Amazon Technologies, Inc. | Partition-based data stream processing framework |
US10691716B2 (en) | 2013-11-11 | 2020-06-23 | Amazon Technologies, Inc. | Dynamic partitioning techniques for data streams |
CN106063281A (zh) * | 2014-03-06 | 2016-10-26 | 阿尔卡特朗讯公司 | 确定视频会话中重新缓冲事件的方法 |
CN109952559A (zh) * | 2016-12-30 | 2019-06-28 | 德州仪器公司 | 具有单独可选元素及成组复制的流式传输引擎 |
CN109952559B (zh) * | 2016-12-30 | 2023-06-06 | 德州仪器公司 | 具有单独可选元素及成组复制的流式传输引擎 |
US11860790B2 (en) | 2016-12-30 | 2024-01-02 | Texas Instruments Incorporated | Streaming engine with separately selectable element and group duplication |
CN110995538A (zh) * | 2019-12-03 | 2020-04-10 | 北京博睿宏远数据科技股份有限公司 | 网络数据采集方法、装置、系统、设备及存储介质 |
CN111147944A (zh) * | 2019-12-26 | 2020-05-12 | 广州易方信息科技股份有限公司 | 一种基于大数据日志分析的点播侵权风险发现方法 |
CN114710420A (zh) * | 2022-04-14 | 2022-07-05 | 广州形银科技有限公司 | 一种基于主动网络技术的混合网络监控系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103281594A (zh) | 监控基于开放互联网的自适应视频流式传输 | |
EP2615777A1 (en) | Monitoring over-the-top adaptive video streaming | |
US10958954B2 (en) | Live video streaming system and method | |
US20220086512A1 (en) | Methods and apparatus to measure exposure to streaming media | |
US10764623B2 (en) | Method and system for media adaption | |
Dimopoulos et al. | Measuring video QoE from encrypted traffic | |
US11824946B2 (en) | Systems and methods for distributing content | |
US8239546B1 (en) | Global access control for segmented streaming delivery | |
US9356985B2 (en) | Streaming video to cellular phones | |
CA2861811A1 (en) | Dynamically-executed syndication services | |
US11089076B1 (en) | Automated detection of capacity for video streaming origin server | |
US9112825B2 (en) | Performance monitoring of a media player launched by a web browser | |
US11212332B2 (en) | Dynamic archiving of streaming content | |
US20160260141A1 (en) | Communication Method, User Device, Content Server and Controller | |
US10405054B2 (en) | System and method of remotely determining QoE | |
CA3034846C (en) | Real-time advertisement preparation system | |
US11863823B2 (en) | Systems and methods for providing recording of a blacked-out media content item | |
CN112235592B (zh) | 直播方法、直播处理方法、装置、计算机设备 | |
Akhtar et al. | Understanding video management planes | |
KR101784131B1 (ko) | 메시징 서비스를 이용한 동영상 제공 방법, 동영상 제공을 위한 api 서버 및 스트리밍 서버 | |
Anda et al. | Identification of malicious behaviour in content delivery network environment | |
KR102241615B1 (ko) | 비디오 웹페이지 소스코드의 메타데이터를 이용하여 비디오 제목을 식별하는 방법 및 이를 수행하는 장치들 | |
Raj et al. | Analyzing Aggregate User Behavior on a Large Multi-platform Content Distribution Service | |
Guo et al. | A Comprehensive Analysis of Video Service Quality on IQIYI from Large-Scale Data Sets | |
CN113453062A (zh) | 视频元数据的获取、处理方法及装置、系统、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130904 |