CN110662017A - 一种视频播放质量检测方法和装置 - Google Patents

一种视频播放质量检测方法和装置 Download PDF

Info

Publication number
CN110662017A
CN110662017A CN201810704809.0A CN201810704809A CN110662017A CN 110662017 A CN110662017 A CN 110662017A CN 201810704809 A CN201810704809 A CN 201810704809A CN 110662017 A CN110662017 A CN 110662017A
Authority
CN
China
Prior art keywords
video
code stream
target
stream information
quality detection
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
CN201810704809.0A
Other languages
English (en)
Other versions
CN110662017B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810704809.0A priority Critical patent/CN110662017B/zh
Priority to EP19827407.8A priority patent/EP3800894A4/en
Priority to PCT/CN2019/091619 priority patent/WO2020001315A1/zh
Publication of CN110662017A publication Critical patent/CN110662017A/zh
Priority to US17/136,672 priority patent/US11563992B2/en
Application granted granted Critical
Publication of CN110662017B publication Critical patent/CN110662017B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/004Diagnosis, testing or measuring for television systems or their details for digital television systems
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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

Landscapes

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

Abstract

本发明提供了一种视频播放质量检测方法。该方法包括:从承载网络中获取到目标视频的第一视频数据包,获取第一视频数据包中第一视频数据的数据字节数,并根据上述数据字节数确定出视频质量检测缓冲区中存储的缓冲量字节数。获取到目标视频对应的视频帧码流信息,根据目标视频的视频帧率和视频帧码流信息减少视频质量检测缓冲区中存储的缓冲量字节数。根据减少后的视频质量检测缓冲区中存储的缓冲量字节数确定出目标视频在视频播放器上播放的播放状态。根据上述播放状态确定目标视频的视频播放质量。采用本发明实施例,可提升视频质量检测方法的用户体验和准确率。

Description

一种视频播放质量检测方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种视频播放质量检测方法和检测装置。
背景技术
随着科学技术的不断发展,网络视频业务实现了突破性的发展,其已成为各大运营商的基础业务。而随着视频业务的不断普及,人们对视频业务的播放质量要求也在不断的上升。如,人们会要求更高的视频清晰度、更好的视频播放质量。因此,如何保障视频业务的视频播放质量已经成为视频业务技术领域的一大研究热点。
现有的视频播放质量检测方法,一般是通过用户主动发送的视频播放质量反馈信息或故障举报信息来确定出视频播放质量,再对视频业务进行及时的故障定位、故障隔离和纠正,以此来提升视频业务的业务质量。但是,现有的视频播放质量检测方法需要依赖用户主动反馈的信息,若用户反馈的信息不及时或者不准确,则会降低播放质量检测方法的实时性和准确率。因此,现有的视频播放质量检测方法用户体验差,准确率低。
发明内容
本发明实施提供了一种视频播放质量检测方法和检测装置。可提升视频质量检测的用户体验和准确率。
第一方面,本发明实施例提供了一种视频播放质量检测方法。上述方法适用于目标视频的视频播放质量检测,上述目标视频由视频资源服务器传输至视频播放器。从承载网络中获取到目标视频的第一视频数据包,再获取上述第一视频数据包中包含的第一视频数据的数据字节数。然后,根据上述视频字节数确定出视频质量检测缓冲区中存储的缓冲量字节数。这里,上述承载网络为介于视频资源服务器和视频播放器之间用于传输上述目标视频的网络,上述目标视频对应包括上述第一视频数据包在内的多个视频数据包。获取到上述目标视频对应的视频帧码流信息,根据上述目标视频的视频帧率和上述视频帧码流信息减少上述视频质量检测缓冲区中存储的缓冲量字节数。这里,上述视频帧码流信息中包括上述目标视频的部分或者全部视频帧中各视频帧对应的单帧码流信息。任一视频帧对应的单帧码流信息至少包括上述任一视频帧对应的码流字节数和码流信息标识。然后,根据减少后的上述视频质量检测缓冲区中存储的缓冲量字节数确定出上述目标视频在上述视频播放器上播放的播放状态。最后,根据上述播放状态确定上述目标视频的视频播放质量。
在本发实施例中,通过目标视频的视频数据包对应的数据字节数据和目标视频的视频帧码流信息实时的对视频质量检测缓冲区中存储的缓冲量字节数进行调整,以使得视频质量检测缓冲区中存储的缓冲量字节数能够实时且准确的反映出视频播放器播放目标视频过程中视频数据的实际缓冲量。从而根据视频质量检测缓冲区中存储的缓冲量字节数即可准确检测出目标视频在视频播放器上的播放质量。通过上述操作,可提升视频质量检测方法的实时性和准确率,可提升视频质量检测方法的的用户体验。
在一些可行的实施方式中,可获取上述目标视频的视频属性信息,再根据上述视频属性信息确定出目标视频的视频标识。这里,上述视频属性信息可包括视频标识、编码格式、视频帧率、视频时长、视频码流大小等,此处不做限定。一个视频标识唯一对应一个视频。若根据上述视频标识在码流信息云服务器中匹配到目标已解码视频信息,则根据上述目标已解码视频信息确定出目标视频对应的视频帧码流信息。这里,上述码流信息云服务器中包括一组或多组已解码视频信息,一组已解码信息中至少包括一个视频的视频标识和视频帧码流信息。通过目标视频的视频标识从码流信息云服务器中获取到目标视频的视频帧码流信息,方法简单,易于实现。可降低视频播放质量检测方法的数据处理量,提升视频播放质量检测方法的效率。
在一些可行的实施方式中,上述视频播放质量检测装置包含码流信息缓冲区。若根据所述视频标识在所述云码流信息服务器中匹配不到所述目标已解码视频信息,则可从码流信息缓冲区中获取所述目标视频对应的视频帧码流信息。这里,所述视频帧码流信息由所述目标视频对应的部分或者全部已解码视频帧确定并存储于所述码流信息缓冲区中,所述目标视频对应的部分或全部已解码视频帧由所述目标视频对应的部分或者全部视频数据包中包含的视频数据解码得到。
在一些可行的实施方式中,可获取所述目标视频对应的第二视频数据包中包含的第二视频数据。再根据所述视频编码类型确定出目标解码方式,根据上述目标解码方式对所述第二视频数据进行解码。再根据解码后的所述第二视频数据确定出所述第二视频数据包对应的多个视频帧的单帧码流信息。最后,将所述第二视频数据包对应的多个视频帧的单帧码流信息保存至所述码流信息缓冲区,以更新所述码流信息缓冲区中存储的所述目标视频的视频帧码流信息。这里,上述目标视频对应的第二视频数据包可指代目标视频对应的对个视频数据包中的任意一个视频数据包。通过对目标视频的视频数据包中的视频数据进行解码,并根据解码后的视频数据确定出目标视频的视频帧码流信息,可使得后续根据目标视频的视频帧码流信息减少后的视频质量检测缓冲区中存储的缓冲量字节数更准确,可提升视频播放质量检测方法的准确率。
在一些可行的实施方式中,所述解码后的所述第二视频数据包括多个解码视频帧。可对所述多个解码视频帧中任一解码视频帧i执行以下操作:
获取所述解码视频帧i包含的画面码流字节数和音频码流字节数。将所述画面码流字节数和所述音频码流字节数进行合成为所述解码视频帧i对应的单帧码流字节数。获取所述解码视频帧i对应的帧标识,根据所述解码视频帧i对应的帧标识确定出所述解码视频帧i对应的码流信息标识。
最后,根据所述多个解码视频帧中各解码视频帧对应的各单帧码流字节数和所述各解码视频帧对应的各码流信息标识确定出所述第二视频数据包对应的多个视频帧的单帧码流信息。
在一些可行的实施方式中,可将所述码流信息缓冲区中存储的所述目标视频的视频帧码流信息传输至所述码流信息云服务器,以将所述目标视频对应的视频帧码流信息存储于所述码流信息云服务器中。将所述目标视频对应的视频帧码流信息存储于所述码流信息云服务器中,可使得码流信息云服务器中存储的视频帧码流数据得到更新,以使得下一次对目标视频进行视频播放质量检测时可直接从码流信息云服务器中获取到目标视频的视频帧码流信息。
在一些可行的实施方式中,若根据目标视频的视频帧率确定出的第一减少周期到达,则可确定所述目标视频的起始时刻对应的第一视频帧,并从所述目标视频的视频帧码流信息确定出所述第一视频帧对应的第一单帧码流信息。然后,可获取所述第一单帧码流信息中包含的第一码流字节数,并将所述视频质量检测缓冲区中存储的缓冲量字节数减少所述第一码流字节数对应大小的数值,以得到减少后的所述视频质量检测缓冲区中存储的缓冲量字节数。
在一些可行的实施方式中,若所述第一减少周期之后的第二减少周期到达,则可获取上述第一减少周期内对应的第一单帧码流信息。再根据所述第一单帧码流信息中包括的第一码流信息标识确定出第二码流信息标识,并根据所述第二码流信息标识从所述目标视频对应的视频帧码流信息中确定出第二单帧码流信息。然后获取所述第二单帧码流信息中包含的第二码流字节数,将所述视频质量检测缓冲区中存储的缓冲量字节数减少所述第二码流字节数对应大小的数值,即可以得到减少后的所述视频质量检测缓冲区中存储的缓冲量字节数。根据目标视频的视频帧码流信息中的单帧码流信息对视频质量检测缓冲区中存储的缓冲量字节数进行减少操作,可使得减少后的视频质量检测缓冲区中存储的缓冲量字节数能够实时且准确的反映出视频播放器播放目标视频过程中视频数据的实际缓冲量。
在一些可行的实施方式中,所述播放状态包括卡顿状态。若所述减少后的所述视频质量检测缓冲区中存储的缓冲量字节数小于或等于卡顿字节数阈值,则确定所述目标视频的播放状态为所述卡顿状态。
在一些可行的实施方式中,当确定出所述目标视频的播放状态为卡顿状态时,可确定所述目标视频对应的卡顿次数。然后,若所述目标视频对应的卡顿次数大于或等于第一预设次数阈值,则可确定所述目标视频的视频播放质量差。或者,当预设检测时段到达时所述目标视频对应的卡顿次数大于或等于第二预设次数阈值,也可确定所述目标视频的视频播放质量差。根据标视频对应的卡顿次数确定目标视频的视频播放质量,方法简单,易于实现,可提升视频播放质量检测方法的效率和适用性。
在一些可行的实施方式中,当确定所述目标视频的播放状态为所述卡顿状态时,可停止执行所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数的步骤。直至当所述视频质量检测缓冲区中存储的缓冲量字节数大于或等于流畅字节数阈值时,确定所述目标视频的播放状态由所述卡顿状态切换至所述流畅状态。然后继续执行所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数的步骤。同时,根据所述目标视频的播放状态由所述卡顿状态切换至所述流畅状态之间的持续时间更新所述目标视频的卡顿总时长。若所述目标视频的卡顿总时长等于或大于第一预设卡顿时长,则确定所述目标视频的播放质量为差。或者,在预设检测时段到达时所述目标视频的卡顿总时长等于或大于第二预设卡顿时长,则确定所述目标视频的播放质量为差。通过目标视频的卡顿总时长来确定目标视频的视频播放状态,可避免卡顿次数小但卡顿总时长过长导致的误判,可提升视频播放质量检测方法的准确率。
第二方面,本发明实施例提供了一种视频播放质量检测装置。该检测装置包括用于执行上述第一方面的任意一种可能的实现方式所提供的视频播放质量检测方法的单元,因此也能是实现第一方面提供的视频播放质量检测方法所具备的有益效果(或者优点)。
第三方面,本发明实施例提供了一种云码流信息服务器。所述云码流信息服务器包括云处理器和云存储器,所述云存储器存储一组或多组已解码视频信息,所述一组或者多组已解码信息用于确定包括目标视频在内的一个或者多个视频中各视频的视频标识和视频帧码流信息。所述云处理器用于:
接收所述视频播放质量检测装置发送的查询请求,所述查询请求中包括所述目标视频的视频标识。根据所述目标视频的视频标识从所述云存储器中查找目标已解码视频信息。然后,将所述目标已解码视频信息发送给所述视频播放质量检测装置。这里,所述目标已解码视频信息用于确定出所述目标视频的视频帧码流信息。所述目标视频的视频帧码流信息用于确定出减少后的所述视频质量检测缓冲区中存储的缓冲量字节数。所述减少后的所述视频质量检测缓冲区中存储的缓冲量字节数用于确定出所述目标视频的视频播放质量。
在本发明实施例中,通过码流信息云服务器实现目标视频的视频帧码流信息的存储和共享,可降低视频播放质量检测方法的数据处理量,提升视频播放质量检测方法的效率。
在一些可行的实施方式中,若查找不到所述目标已解码视频信息,所述云处理器还用于向所述视频播放质量检测装置发送查询失败通知。
在一些可行的实施方式中,所述云处理器还用于:
获取所述目标视频数据。根据所述目标视频的视频编码类型对所述视频数据进行解码,并根据解码后的所述视频数据确定出所述视频数据包对应的多个视频帧的单帧码流信息。
将所述视频数据包对应的多个视频帧的单帧码流信息保存至所述云存储器。
在一些可行的实施方式中,所述云码流信息服务器与多个视频播放质量检测装置相连接。若查找不到所述目标已解码视频信息,所述云处理器还用于获取所述多个视频播放质量检测装置中各视频播放质量检测装置的解码负载参量。再根据所述各视频播放质量检测装置的解码负载参量确定出所述多个视频播放质量检测装置中的一个或多个空闲视频播放质量检测装置。然后,从所述一个或多个空闲视频播放质量检测装置中确定出目标空闲视频播放质量检测装置,并通过所述目标空闲视频播放质量检测装置确定出目标视频的视频帧码流信息。通过从与云码流信息服务器相连接的多个视频播放质量检测装置中选择出解码负载量最小的视频播放质量检测装置来完成目标视频的视频帧码流信息的确定操作,可使得上述多个视频播放质量检测装置的视频解码能力得到充分的利用,可提升视频播放质量检测方法的效率。
在一些可行的实施方式中,所述云处理器用于接收并保存所述视频播放质量检测装置发送的目标视频的视频帧码流信息。这里,所述目标视频的视频帧码流信息存储于视频播放质量检测装置内的码流信息缓冲区中。
第四方面,本发明实施例提供了一种视频播放质量检测系统。所述视频播放质量检测系统包括视频资源服务器、如第三方面所述的云码流信息服务器和一个或多个如第一方面所述的所述视频播放质量检测装置。这里,上述视频资源服务器用于保存至少包括目标视频在内的多个视频。上述视频资源服务器也用于通过承载网络向所述视频播放质量检测装置提供所述多个视频中的一个或多个视频。
在一些可行的实施方式中,上述视频播放器用于通过承载网络从所述视频服务器中获取视频并播放。
第五方面,本申请实施例提供了一种电子设备,该电子设备可以为终端设备或其他类型的计算机设备。该电子设备包括存储器和处理器,还可以包括输入/输出设备和通信接口等。其中,该存储器用于存储一组程序代码,上述处理器用于调用存储器中存储的程序代码执行上述一方面中任意一种可能的实现方式所提供的视频播放质量检测方法,因此也能实现第一方面提供的视频播放质量检测方法所具备的有益效果。
第六方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行上述第一方面中任意一种可能的实现方式所提供的视频播放质量检测方法,也能实现第一方面提供的视频播放质量检测方法所具备的有益效果。
第七方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面提供的视频播放质量检测方法,也能实现第一方面提供的视频播放质量检测方法所具备的有益效果。
采用本发明实施例,可提升视频质量检测的用户体验和准确率。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的视频播放质量检测系统的结构示意图;
图2是本发明实施例提供的视频播放质量检测方法的流程示意图;
图3是本发明实施例提供的已解码视频信息组成示意图;
图4是本发明实施例提供的一种视频播放质量检测装置一结构示意图;
图5是本发明实施例提供的一种视频播放质量检测装置另一结构示意图;
图6是本发明实施例提供的一种码流信息云服务平台的结构示意图;
图7是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对发明实施例的技术方案进行清楚、完整地描述。
本发明实施例所提供的视频播放质量检测方法可由独立于视频资源服务器和视频播放器之外的具备数据处理能力的视频播放质量检测装置来实现。其中,上述视频播放质量检测装置可以是具备数据处理能力的终端设备,也可以是可执行数据处理过程的功能主体,所述终端设备可以是常规终端设备,也可以是云终端设备,此处不作限定。本发明实施例以视频播放质量检测装置为执行主体对本发明提供的视频播放质量检测方法进行描述。
请参见图1,图1是本发明实施例提供的视频播放质量检测系统的结构示意图。该视频播放质量检测系统包括:视频资源服务器101、视频播放器102、若下文实施例二所描述的视频播放质量检测装置103及如下文实施例三所描述的码流信息云服务器104。
在一些可行的实施方式中,上述视频资源服务器101可用于保存至少包括目标视频在内多个视频。上述视频播放器102可根据其接收到的用户操作指令通过承载网络向上述视频资源服务器101发送视频播放请求。然后,上述视频资源服务器101会响应视频播放器102发出的视频播放请求,并通过承载网络向视频播放器102发送上述视频播放请求确定出的视频。视频播放器102可通过承载网络从上述视频资源服务器101获取到视频并播放。其中,上述承载网络为介于上述视频资源服务器101和视频播放器102之间用于视频传输或信令交互的网络。这里,一个视频在承载网络中可以视频数据包的形式进行传输,上述视频数据包的种类可为http数据包。一个传输中的视频可对应多个视频数据包,此处不作限定。
在一些可行的实施方式中,当检测到视频资源服务器101通过承载网络向视频播放器102发送待检测的目标视频时,视频播放质量检测装置103可从通过端口镜像或分光器等方法从承载网络中获取目标视频的一个或多个视频数据包,并根据目标视频的视频数据包获取到目标视频的视频帧码流信息,然后根据目标视频的视频帧码流信息检测目标视频在上述视频播放器102上的播放状态。具体检测过程可参见下文实施例一所描述的视频播放质量检测的过程,此处便不再赘述。
在一些可行的实施方式中,上述云码流信息服务器104中存储有一组或多组已解码视频信息,所述一组或者多组已解码信息用于确定包括所述目标视频在内的一个或者多个视频中各视频的视频标识和视频帧码流信息。上述云码流信息服务器104可用于接收所述视频播放质量检测装置103发送的查询请求。其中,所述查询请求中包括所述目标视频的视频标识。然后,再根据所述目标视频的视频标识查找目标已解码视频信息,并在查找到目标已解码视频信息后将上述目标已解码视频信息发送给视频播放质量检测装置103。具体的查找过程可参见下文实施例一所描述的查找过程,此处便不再赘述。
实施例一
请参见图2,图2是本发明实施例提供的视频播放质量检测方法的流程示意图。本发明实施例提供的视频播放质量检测方法适用于上述视频播放质量检测系统。本发明实施例提供的视频播放质量检测方法可包括步骤:
S101,从承载网络中获取到目标视频的第一视频数据包,获取该第一视频数据包中第一视频数据的数据字节数,并根据上述数据字节数确定出视频质量检测缓冲区中存储的缓冲量字节数。
在一些可行的实施方式中,视频播放质量检测装置可实时监测上述视频播放器是否向上述视频资源服务器发送用于获取目标视频的视频播放请求。其中,目标视频即为待检测视频。若视频播放质量检测装置监测到该视频播放请求,则可在视频资源服务器向视频播放器发送目标视频时从承载网络中获取到目标视频的第一视频数据包。其中,目标视频可对应多个视频数据包,上述第一视频数据包可指代上述多个视频数据包中任一视频数据包。可选的,视频播放质量检测装置可通过端口镜像的方式从承载网络中获取到目标视频的第一视频数据包。例如,视频播放质量检测装置可在承载网络的核心层或汇聚层输出端口设置端口镜像,通过端口镜像复制并获取承载网络传输的目标视频的第一视频数据包。可选的,视频播放质量检测装置还可通过分光器从承载网络中获取到目标视频的第一视频数据包。视频播放质量检测装置通过端口镜像或分光器等方法从承载网络中获取目标视频的第一视频数据包,并不会影响视频播放器对目标视频的获取及播放,可提升视频播放质量检测方法的适用性和用户体验。
视频播放质量检测装置从承载网络中获取到目标视频的第一视频数据包后,可获取上述第一视频数据包中包含的第一视频数据的数据字节数。然后,视频播放质量检测装置可根据第一视频数据的数据字节数确定出视频质量检测缓冲区中存储的缓冲量字节数。其中,上述缓冲量字节数指代的是视频播放质量检测装置已经从承载网络中下载到本地但并未因模拟上述视频播放器进行视频播放而减少掉的视频数据的数据字节数。具体实现中,视频播放质量检测装置在获取到目标视频的第一视频数据包后,可对上述第一视频数据包进行深度解析,以确定上述第一视频数据的数据字节数和第一视频数据包所关联的目标视频的视频属性信息。例如,视频播放质量检测装置可结合视频资源服务器与视频播放器之间的网络协议对抓取到的第一视频数据包进行分析。视频播放质量检测装置在确定出第一视频数据包中第一视频数据和目标视频的视频属性信息占用的字节区间后,可对该字节区间中的包数据进行解析,以确定上述第一视频数据对应的数据字节数和目标视频的视频属性信息。这里,目标视频对应的多个视频数据包中各视频数据包携带的视频属性信息相同。视频播放质量检测装置在获取到第一视频数据对应的数据字节数时(假设当前时刻为T1),可将T1时刻视频质量检测缓冲区中存储的缓冲量字节数与上述数据字节数之和确定为字节数更新值,并将视频质量检测缓冲区中存储的缓冲量字节数更新为上述字节数更新值。可选的,视频播放质量检测装置对视频质量检测缓冲区中存储的缓冲量字节数进行更新后,可判断更新后的视频质量检测缓冲区中存储的缓冲量字节数是否等于或大于预设的缓冲量上限值。若视频播放质量检测装置确定出更新后的视频质量检测缓冲区中存储的缓冲量字节数等于或大于预设的缓冲量上限值,则视频播放质量检测装置可停止获取新的视频数据包,直至当视频质量检测缓冲区中存储的缓冲量字节数小于或等于上述缓冲量上限值,则重新获取新的视频数据包,并根据新的数据包对应的数据字节数再次对视频质量检测缓冲区中存储的缓冲量字节数进行更新。这里,需要说明的是,当视频播放质量检测缓冲区中存储的缓冲量字节数小于缓冲量上限值时,视频播放质量检测装置每获取到新的视频数据包后,都会根据新的视频数据包对应的数据字节数对视频质量缓冲区中存储的缓冲量字节数进行更新,直至视频播放器接收到完整的目标视频或者视频质量检测缓冲区中存储的缓冲量字节数达到缓冲量上限值为止。
在本发明实施例中,根据视频播放质量检测装置获取到的视频数据包对应的数据字节数对视频质量检测缓冲区中存储的缓冲量字节数进行增加,可准确且实时的反映出视频播放器因从承载网络中下载视频数据而导致其视频数据缓冲量的增大。
S102,获取到上述目标视频的对应的视频帧码流信息,根据目标视频的视频帧率和视频帧码流信息减少视频质量检测缓冲区中存储的缓冲量字节数。
在一些可行的实施方式中,视频播放质量检测装置可获取到目标视频对应的视频帧码流信息。其中,目标视频的视频帧码流信息中可包括目标视频的部分或者全部视频帧中各视频帧对应的单帧码流信息。然后,视频播放质量检测装置可根据目标视频对应的视频帧码流信息和上述视频属性信息中包含的视频帧率对上述视频质量检测缓冲区中存储的缓冲量字节数进行减少,以得到减少后的视频质量检测缓冲区中存储的缓冲量字节数。
具体实现中,视频播放质量检测装置对上述第一视频数据包进行解析得到的目标视频的视频属性信息中包括多个用于描述上述目标视频的基本属性的系统数据。上述视频属性信息可包括视频标识、视频格式、编码类型、视频码流大小、视频时长或视频帧率等,此处不作限定。例如,假设视频A对应的视频属性信息的数据格式为[Xxxx,.avi,H.264,300M,30min,25fps]。上述视频属性信息表明视频A对应的视频名称为Xxxx,视频格式为.avi,视频编码类型为H.264,视频码流为300Mb,视频时长为30min,视频帧率为25fps。当视频质量检测缓冲区中存储的缓冲量字节数大于等于预设的播放缓冲量阈值时(对应于视频播放器在视频数据缓冲到一定量后才开始播放的具体场景),视频播放质量检测装置可获取到目标视频的视频帧码流信息。
可选的,视频播放质量检测装置可从上述视频基本信息中提取出目标视频的视频标识(为方便理解和描述,下文用目标标识代替描述)。这里,上述视频资源服务器中存储的多个视频中各视频仅对应一个特定的视频标识。实际应用中,视频资源服务器可对视频资源库中存储的任一视频按照统一规则进行命名。例如,可根据视频资源的全局资源标识、视频类型、编码格式这三属性确定出某一视频的视频标识。如视频B的视频标识具体可为film.domain.com/mp4/1080P/10001。对视频资源库中任一视频按照统一规则确定视频标识,可使得视频标识与视频唯一对应,避免出现视频标识与视频匹配出错的情况出现,可保证后续目标已解码视频信息查找的准确率。视频播放质量检测装置获取到目标视频对应的目标标识后,可生成并向码流信息云服务器发送查询请求。其中,上述查询请求至少包目标视频的目标标识。码流信息云服务器的云处理器根据上述查询请求中的目标标识从其包含的云存储器中查找与目标视频相匹配的目标已解码视频信息。其中,所述云存储器中包括一组或多组已解码视频信息。请一并参见图3,图3是本发明实施例提供的已解码视频信息组成示意图。由图可知,一组已解码信息中至少包括一个视频的视频标识和视频帧码流信息。具体实现中,若码流信息云服务器的云处理器根据上述目标标识从上述云存储器中查找到一组已解码视频信息中包含的视频标识与目标视频的目标标识相匹配,则可将该组已解码视频信息确定为目标视频对应的目标已解码视频信息,并发送给视频播放质量检测装置。然后,视频播放质量检测装置可提取出目标已解码视频信息中包含的视频帧码流信息,并确定为目标视频对应的视频帧码流信息。请参见图3,由图3可知,所述视频帧码流信息中包括所述目标视频的部分或者全部视频帧中各视频帧对应的单帧码流信息。若图中所示的单帧码流信息1到单帧码流信息n。任一视频帧对应的单帧码流信息至少包括任一视频帧对应的码流字节数和码流信息标识。如图中的码流字节数k1到码流字节数kn及各码流字节数对应的码流信息标识。通过目标视频的视频标识从码流信息云服务器中获取到目标视频的视频帧码流信息,方法简单,易于实现。可降低视频播放质量检测方法的数据处理量,提升视频播放质量检测方法的效率。
可选的,若视频播放质量检测装置确定上述码流信息服务器中任意一组已解码视频信息均无法与目标视频的目标标识相匹配,则码流信息云服务器可向所述视频播放质量检测装置发送查询失败通知。视频播放质量检测装置获取到上述查询失败通知后,可从码流信息缓冲区中获取到上述目标视频对应的视频帧码流信息。这里,所述视频帧码流信息由所述目标视频对应的部分或者全部已解码视频帧确定并存储于所述码流信息缓冲区中,所述目标视频对应的部分或全部已解码视频帧由所述目标视频对应的部分或者全部视频数据包解码得到。
在一些可行的实施方式中,若视频播放质量检测装置获取到上述查询失败请求,则视频质量检测装置还可从其获取到的目标视频的第二视频数据包中提取出第二视频数据视频数据。其中,上述目标视频对应的第二视频数据包可指代目标视频对应的对个视频数据包中的任意一个视频数据包,包括上述第一视频数据包。然后,视频质量检测装置可从上述视频属性信息中提取出第二视频数据包对应的视频编码类型,并根据上述视频编码类型确定出第二视频数据对应的目标解码方式。其中,上述视频编码类型可为Mpeg、mpg、dat、MP4等格式,此处不作限定。然后,视频播放质量检测装置可根据上述目标解码方式调用相应的目标解码器对上述第二视频数据进行解码操作,以得到解码后的第二视频数据。对应的多个解码视频帧。可选的,若上述视频播放质量检测装置关联了一个解码器库,上述解码器库中包含有多个解码器,则视频播放质量检测装置可根据上述视频编码类型在与其关联的解码器库中确定M个可用解码器。然后,视频播放质量检测装置可对比这M个可用解码器的负载量,并选择负载量最小的可用解码器作为目标解码器。选择负载量最小的解码器进行解码操作,可提升解码速率,进而提升视频播放质量检测方法的效率。
视频播放质量检测装置获取到解码后的第二视频数据后,可根据上述解码后的第二视频数据确定出第二视频数据包对应的多个视频帧的单帧码流信息。其中,上述解码后的第二视频数据包括多个解码视频帧。下面以上述多个解码视频帧中任意一个解码视频帧中i为例。视频播放质量检测装置可获取到解码视频帧中i对应的画面码流字节数(假设为Skb)和音频码流字节数(假设为T kb),然后确定解码视频帧中i对应的单帧码流字节数为(S+T)kb。视频播放质量检测装置还可获取到上述解码视频帧i对应的帧标识,再根据上述帧标识确定出解码视频帧i对应的码流信息标识,再由解码视频帧i对应的单帧码流字节数和码流信息标识确定出解码视频帧i对应的单帧码流信息。其中,一个帧标识唯一对应一个码流信息标识。在一个视频中,上述帧标识用于区别视频包含的各个视频帧,并且可对应于各视频帧在视频中的先后次序关系。因此,相对应的,根据帧标识确定出的码流信息标识也可表征各单帧码流信息之间的相互位置关系。例如,假设帧标识2对应视频的第10个视频帧,帧标识1对应视频的第9个视频帧,则帧标识2确定出的码流信息标识所对应的单帧码流信息可为视频帧码流信息中的第10个单帧码流信息,帧标识1确定出的码流信息标识所对应的单帧码流信息可为视频帧码流信息中的第9个单帧码流信息。视频播放质量检测装置重复上述操作即可确定出第二视频数据包对应的多个单帧码流信息。然后,视频播放质量检测装置可将上述第二视频数据包对应的多个单帧码流字节数保存至上述码流信息缓冲区,以更新所述码流信息缓冲区中存储的所述目标视频的视频帧码流信息。这里,可以理解的是,由于视频播放质量检测装置需要一定的时间才能将码流信息缓冲区中存储的所述目标视频的视频帧码流信息更新完成,因此,在未更新完成之前,码流信息缓冲区中存储的视频帧码流信息为目标视频的部分视频帧中各视频帧对应的单帧码流信息。更新完成后,码流信息缓冲区中存储的视频帧码流信息才可为目标视频的全部视频帧中各视频帧对应的单帧码流信息。
可选的,视频播放质量检测装置还可将码流信息缓冲区中存储的目标视频的视频帧码流信息发送给所述码流信息云服务器。码流信息云服务器获取并保存所述目标视频对应的视频帧码流信息。具体实现中,视频播放质量检测装置可将码流信息缓冲区中存储的目标视频的视频帧码流信息发送给所述码流信息云服务器,码流信息云服务器可确定出一组与上述目标视频相关联的第一已解码视频信息。上述第一已解码视频信息的组成可一并参见图3,此处便不再赘述。然后,码流信息云服务器可将获取到的码流信息缓冲区中存储的视频帧码流信息存储在上述第一已解码视频信息中。将所述目标视频对应的视频帧码流信息存储于所述码流信息云服务器中,可使得码流信息云服务器中存储的视频帧码流数据得到更新,以使得下一次对目标视频进行视频播放质量检测时可直接从码流信息云服务器中获取到目标视频的视频帧码流信息。通过上述操作,可提升视频体验质量检测方法的效率。
在一些可行的实施方式中,视频播放质量检测装置在获取到上述目标视频的视频帧码流信息后,可根据目标视频的视频帧率和视频帧码流信息减少视频质量检测缓冲区中存储的缓冲量字节数,以使得减少后的视频质量检测缓冲区中存储的缓冲量字节数能够实时且准确的反映出上述视频播放器播放目标视频过程中其视频数据的实际缓冲量。
具体实现中,若视频播放质量检测装置第一次对视频播放质量检测缓冲区中存储的缓冲量字节数进行减少,则当所述视频帧率确定出的第一减少周期到达时,视频播放质量检测装置可确定所述目标视频的起始时刻对应的第一视频帧,并从所述目标视频的视频帧码流信息确定出所述目标视频帧对应的第一单帧码流信息。然后,视频播放质量检测装置可获取所述目标单帧码流信息中包含的第一码流字节数,并将所述视频质量检测缓冲区中存储的缓冲量字节数减少所述第一码流字节数对应大小的数值,以得到减少后的所述视频质量检测缓冲区中存储的缓冲量字节数。可选的,若视频播放质量检测装置检测到上述第一减少周期之后的第二减少周期到达,则视频播放质量检测装置可获取上述第一减少周期到达时,视频质量检测缓冲区中存储的缓冲量字节数减少的数值所对应的第一单帧码流信息。然后,再根据上述第一单帧码流信息中包含的第一码流标识信息确定出第二码流标识信息,并根据所述第二码流信息标识从所述目标视频对应的视频帧码流信息中确定出第二单帧码流信息。最后,视频播放质量检测装置可获取所述第二单帧码流信息中包含的第二码流字节数,将所述视频质量检测缓冲区中存储的缓冲量字节数减少所述第二码流字节数对应大小的数值,从而得到减少后的所述视频质量检测缓冲区中存储的缓冲量字节数。同理,第二减少周期后的任意一个减少周期i到达时,都可采用上述同样的过程获取到减少周期i对应的单帧码流字节数。需要说明的是,上述第一减少周期和第二减少周期大小相同,使用第一和第二仅用于区别不同时刻的减少周期。例如,假设目标视频的视频帧率为25fps,也就是说一秒可播放25个目标视频帧,则由视频帧率确定的减少周期为40ms。若视频播放质量检测装置检测到第二减少周期(即40ms)到达,则可获取第二减少周期之前的第一减少周期到达时,视频质量检测缓冲区中存储的缓冲量字节数减少的数值所对应的第一单帧码流信息。然后,视频播放质量检测装置可根据第一单帧码流信息中的第一码流信息标识确定出第二单帧码流信息。例如,获取到的第一码流信息标识为19,表征第一单帧码流信息为目标视频对应的视频帧码流信息中的第19个单帧码流信息,则第二码流信息标识即为20。然后,视频播放质量检测装置可将第二码流信息标识20关联的第20个单帧码流信息确定出第二单帧码流信息。然后获取所述第二单帧码流信息中包含的第二码流字节数,将所述视频质量检测缓冲区中存储的缓冲量字节数减少所述第二码流字节数对应大小的数值。
可选的,视频播放质量检测装置还可以以预设的时间间隔T为预设周期对视频质量检测缓冲区中存储的缓冲量字节数进行减操作。其中,T为上述减少周期的整数倍。例如,当视频播放质量检测装置确定5S的预设周期到达时,可将上述视频质量检测缓冲区中存储的缓冲量字节数减去125个单帧码流字节数,以得到减少后的缓冲量字节数。同理,这里125个单帧码流字节数中每个单帧码流字节数的确定过程均可参见上述所述通过第一减少周期到达时减少的单帧码流字节数确定第二减少周期到达时需要减少的单帧码流字节数。
在本发明实施例中,根据目标视频的视频帧码流信息对视频质量检测缓冲区中存储的缓冲量字节数进行减少,可准确且实时的模拟出视频播放器的视频数据缓冲量在播放过程中的减少的数据量。可使得后续根据减少后的视频质量检测缓冲区中存储的缓冲量字节确定出的目标视频的播放状态真实有效,可提升视频播放质量检测方法的准确率。
S103,根据减少后的视频质量检测缓冲区中存储的缓冲量字节数确定出目标视频在视频播放器上播放的播放状态。
在一些可行的实施方式中,视频播放质量检测装置根据目标视频的视频帧码流信息和视频帧率对视频质量检测缓冲区中存储的缓冲量字节数进行减少后,可使得减少后的视频质量检测缓冲区中存储的缓冲量字节数能实时且准确的反映出视频播放器播放目标视频时其视频数据的实际缓冲量。因此,视频播放质量检测装置可根据减少后的视频质量检测缓冲区中存储的缓冲量字节数确定出目标视频在视频播放器上播放的播放状态。
可选的,当视频播放质量检测装置获取到减少后的视频质量检测缓冲区中存储的缓冲量字节数后,若视频播放质量检测装置确定出减少后得缓冲量字节数小于或等于预先设定的卡顿字节数阈值,则可确定目标视频的播放状态为卡顿状态。这里,根据视频播放器的视频播放机制可知,若视频播放器中的视频数据缓冲量小于某一阈值时,说明播放资源不足,视频播放器就会停止播放该视频。因此,当视频播放质量检测装置确定出减少后得缓冲量字节数小于或等于预先设定的卡顿字节数阈值时,即可确定出目标视频处于卡顿状态。其中,上述卡顿字节数阈值可根据视频播放器的类型确定,不同的类型的视频播放器确定出的卡顿字节数阈值可能不同,此处不限定。
在本发明实施例中,减少的视频质量检测缓冲区中存储的缓冲量字节数可实时且准确的反映出视频播放器播放目标视频时其视频数据的实际缓冲量。因此,根据减少后的视频质量检测缓冲区中存储的缓冲量字节数确定出的目标视频在视频播放器上的播放状态真实有效,准确率高。
S104,根据上述播放状态确定目标视频的视频播放质量。
在一些可行的实施方式中,视频播放质量检测装置在确定出目标视频在视频播放器上的播放状态后,可根据上述播放状态确定目标视频的视频播放质量。具体实现中,当视频播放质量检测装置确定目标视频在视频播放器上的播放状态为卡顿状态时,可确定出目标视频对应的卡顿次数。例如,视频播放质量检测装置可记录下目标视频卡顿发生的时间,并统计从视频播放起始时间到当前时刻目标视频卡顿的总次数。然后,视频播放质量检测装置可判断目标视频的卡顿次数是否大于或等于第一预设次数阈值。若视频播放质量检测装置确定出目标视频对应的卡顿次数大于或等于第一预设卡顿阈值,则可确定目标视频在视频播放器上播放质量差。反之,视频播放质量检测装置可确定目标视频在视频播放器上的播放质量好。可选的,视频播放质量检测装置还可在预设检测时段到达时,判断目标视频的卡顿次数是否大于或等于第二预设次数阈值。若视频播放质量检测装置确定出在预设检测时段到达时目标视频的卡顿次数大于或等于第二预设次数阈值,则可确定目标视频在视频播放器上播放质量差。反之,视频播放质量检测装置可确定目标视频在视频播放器上的播放质量好。根据标视频对应的卡顿次数确定目标视频的视频播放质量,方法简单,易于实现,可提升视频播放质量检测方法的效率和适用性。
在一些可行的实施方式中,当视频播放质量检测装置确定出目标视频的播放状态为卡顿状态后,可停止执行所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数的步骤。此时,视频播放质量检测装置可继续获取新的视频数据包,并根据新的视频数据包中视频数据的数据字节数对视频播放质量检测缓冲区中存储的缓冲量字节数进行增加。这样就可以同步模拟出视频播放器在处于卡顿状态时的视频数据缓冲机制。直到上述视频播放质量检测缓冲区中存储的缓冲量字节数等于或大于预设的流畅字节数阈值时,视频播放质量检测装置可确定目标视频在视频播放终端上的播放状态由卡顿状态切换至流畅状态。此时,视频播放质量检测装置可继续执行根据所述视频帧码流信息和视频帧率减少所述视频播放质量检测缓冲区中存储的缓冲量字节数的步骤。然后,视频播放质量检测装置可获取目标视频的播放状态由卡顿状态切换至流畅状态的持续时间,并根据上述持续时间对目标视频的卡顿总时长进行更新。视频播放质量检测装置在获取到目标视频的卡顿总时长后,若确定出目标视频的卡顿总时长等于或大于预设卡顿时长阈值,则可确定目标视频的视频播放质量为差。可选的,视频播放质量检测装置还可在预设检测时段到达时,判断目标视频的卡顿总时长是否等于或大于第二预设时长。若视频播放质量检测装置确定出目标视频的卡顿总时长等于或大于第二预设时长,则可确定目标视频的视频播放质量为差。通过目标视频的卡顿总时长来确定目标视频的视频播放状态,可避免卡顿次数小但卡顿总时长过长导致的误判,可提升视频播放质量检测方法的准确率。
可选的,视频播放质量检测装置在获取到减少后的视频播放质量检测缓冲区中存储的缓冲量字节数之后,可根据上述缓冲量字节数确定出目标视频在视频播放终端上的播放时间。例如,当上述缓冲量字节数大于预设的播放阈值时,可确定上述视频播放器开始播放目标视频。根据缓冲量字节数的大小实时的判断视频播放器上目标视频是否开始播放,可使得视频播放质量检测装置能够更充分的判断出视频播放器上目标视频的播放状态,可使得视频播放质量检测装置能够有效的辅助上述视频播放器为用户提供更好的视频观看体验。
在本发实施例中,通过目标视频的视频数据包对应的数据字节数据和目标视频的视频帧码流信息实时的对视频质量检测缓冲区中存储的缓冲量字节数进行调整,以使得视频质量检测缓冲区中存储的缓冲量字节数能够实时且准确的反映出视频播放器播放目标视频过程中视频数据的实际缓冲量。从而根据视频质量检测缓冲区中存储的缓冲量字节数即可准确检测出目标视频在视频播放器上的播放质量。通过上述操作,可提升视频质量检测方法的实时性和准确率,可提升视频质量检测方法的的用户体验。
实施例二
请参见图4,图4是本发明实施例提供的一种视频播放质量检测装置一结构示意图。上述视频播放质量检测装置包括:
获取单元10,用于从承载网络中获取到所述目标视频的第一视频数据包。
字节数确定单元20,用于当所述获取单元10从承载网络中获取到所述目标视频的第一视频数据包时,获取所述第一视频数据包中第一视频数据的数据字节数,并根据所述数据字节数确定出视频播放质量检测缓冲区中存储的缓冲量字节数。其中,所述承载网络为介于所述视频资源服务器和所述视频播放器之间用于传输所述目标视频的网络。所述目标视频对应包括所述第一视频数据包在内的多个视频数据包。
字节数减少单元30,用于当获取到所述目标视频对应的视频帧码流信息时,根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数。其中,所述视频帧码流信息中包括所述目标视频的部分或者全部视频帧中各视频帧对应的单帧码流信息。任一视频帧对应的单帧码流信息至少包括所述任一视频帧对应的码流字节数和码流信息标识。
播放状态确定单元40,用于根据所述字节数减少单元减少后的所述视频质量检测缓冲区中存储的缓冲量字节数确定出所述目标视频在所述视频播放器上播放的播放状态。
播放质量确定单元50,用于根据所述播放状态确定单元确定出的所述播放状态确定所述目标视频的视频播放质量。
在一些可行的实施方式中,上述字节数减少单元30用于:
获取所述目标视频的视频属性信息,根据所述视频属性信息确定出所述目标视频的视频标识。若根据所述视频标识在码流信息云服务器中匹配到目标已解码视频信息,则根据所述目标已解码视频信息确定出所述目标视频对应的视频帧码流信息。其中,所述码流信息云服务器中包括一组或多组已解码视频信息。一组已解码信息中至少包括一个视频的视频标识和视频帧码流信息。
在一些可行的实施方式中,所述视频播质量检测装置包含码流信息缓冲区。所述字节数减少单元30还用于:
从码流信息缓冲区中获取所述目标视频对应的视频帧码流信息。其中,所述视频帧码流信息由所述目标视频对应的部分或者全部已解码视频帧确定并存储于所述码流信息缓冲区中。所述目标视频对应的部分或全部已解码视频帧由所述目标视频对应的部分或者全部视频数据包中包含的视频数据解码得到。
在一些可行的实施方式中,所述视频属性信息包括视频编码类型和视频帧率,所述字节数减少单元30还用于:
获取所述目标视频对应的第二视频数据包中包含的第二视频数据。根据所述视频编码类型对所述第二视频数据进行解码,并根据解码后的所述第二视频数据确定出所述第二视频数据包对应的多个视频帧的单帧码流信息。将所述第二视频数据包对应的多个视频帧的单帧码流信息保存至所述码流信息缓冲区,以更新所述码流信息缓冲区中存储的所述目标视频的视频帧码流信息。
在一些可行的实施方式中,所述解码后的所述第二视频数据包括多个解码视频帧。所述字节数减少单元30还用于:
对所述多个解码视频帧中任一解码视频帧i执行以下操作:
获取所述解码视频帧i包含的画面码流字节数和音频码流字节数。将所述画面码流字节数和所述音频码流字节数进行合成为所述解码视频帧i对应的单帧码流字节数。获取所述解码视频帧i对应的帧标识,根据所述解码视频帧i对应的帧标识确定出所述解码视频帧i对应的码流信息标识。
根据所述多个解码视频帧中各解码视频帧对应的各单帧码流字节数和所述各解码视频帧对应的各码流信息标识确定出所述视频数据包对应的多个视频帧的单帧码流信息。
在一些可行的实施方式中,所述字节数减少单元30还用于:
将所述码流信息缓冲区中存储的所述目标视频的视频帧码流信息传输至所述码流信息云服务器,以将所述目标视频对应的视频帧码流信息存储于所述码流信息云服务器中。
在一些可行的实施方式中,所述字节数减少单元30还用于:
若根据所述视频帧率确定出的第一减少周期到达,则确定所述目标视频的起始时刻对应的所述目标视频的第一视频帧,并从所述目标视频的视频帧码流信息确定出所述第一视频帧对应的第一单帧码流信息。
获取所述第一单帧码流信息中包含的第一码流字节数,并将所述视频质量检测缓冲区中存储的缓冲量字节数减少所述第一码流字节数对应大小的数值,以得到减少后的所述视频质量检测缓冲区中存储的缓冲量字节数。
在一些可行的实施方式中,所述字节数减少单元30还用于:
若所述第一减少周期之后的第二减少周期到达,根据所述第一单帧码流信息中包括的第一码流信息标识确定出第二码流信息标识,并根据所述第二码流信息标识从所述目标视频对应的视频帧码流信息中确定出第二单帧码流信息。
获取所述第二单帧码流信息中包含的第二码流字节数,将所述视频质量检测缓冲区中存储的缓冲量字节数减少所述第二码流字节数对应大小的数值,以得到减少后的所述视频质量检测缓冲区中存储的缓冲量字节数。
在一些可行的实施方式中,所述播放状态包括卡顿状态,所述播放状态确定单元40用于:
若所述字节数减少单元30减少后的所述视频播放质量检测缓冲区中存储的缓冲量字节数小于或等于卡顿字节数阈值,则确定所述目标视频的播放状态为所述卡顿状态。
在一些可行的实施方式中,所述播放质量确定单元50用于:
当所述播放状态确定单元40确定出所述目标视频的播放状态为卡顿状态时,确定出所述目标视频对应的卡顿次数。若所述目标视频对应的卡顿次数大于或等于第一预设次数阈值,或者,当预设检测时段到达时,所述目标视频对应的卡顿次数大于或等于第二预设次数阈值,则确定所述目标视频的视频播放质量差。
在一些可行的实施方式中,请一并参见图5,图5是本发明实施例提供的一种视频播放质量检测装置的另一结构示意图。所述视频播放质量检测装置还包括:
播放状态切换单元60,用于触发所述字节数减少单元30停止执行所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数的步骤。
直至当所述视频质量检测缓冲区中存储的缓冲量字节数大于或等于预设的流畅字节数阈值时,确定所述目标视频的播放状态由所述卡顿状态切换至所述流畅状态,并触发所述字节数减少单元30继续执行所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数的步骤。根据所述目标视频的播放状态由卡顿状态切换至所述流畅状态之间的持续时间更新所述目标视频的卡顿总时长。
所述播放质量确定单元50,用于若所述播放状态切换单元60确定的目标视频的卡顿总时长等于或大于第一预设卡顿时长,或者在预设检测时段到达时,所述目标视频的卡顿总时长等于或大于第二预设卡顿时长,则确定所述目标视频的播放质量为差。
在一些可行的实施方式中,获取单元10可实时监测上述视频播放器是否向上述视频资源服务器发送用于获取目标视频的视频播放请求。其中,目标视频即为待检测视频。若获取单元10监测到该视频播放请求,则可在视频资源服务器向视频播放器发送目标视频时从承载网络中获取到目标视频的第一视频数据包。其中,目标视频可对应多个视频数据包,上述第一视频数据包可指代上述多个视频数据包中任一视频数据包。可选的,获取单元10可通过端口镜像的方式从承载网络中获取到目标视频的第一视频数据包。例如,获取单元10可在承载网络的核心层或汇聚层输出端口设置端口镜像,通过端口镜像复制并获取承载网络传输的目标视频的第一视频数据包。可选的,获取单元10还可通过分光器从承载网络中获取到目标视频的第一视频数据包。
当获取单元10从承载网络中获取到目标视频的第一视频数据包时,字节数确定单元20可获取上述第一视频数据包中包含的第一视频数据的数据字节数。然后,字节数确定单元20可根据第一视频数据的数据字节数确定出视频质量检测缓冲区中存储的缓冲量字节数。其中,上述缓冲量字节数指代的是获取单元10已经从承载网络中下载到本地但并未因模拟上述视频播放器进行视频播放而减少掉的视频数据的数据字节数。字节数确定单元20根据第一视频数据的数据字节数确定出视频质量检测缓冲区中存储的缓冲量字节数可参见实施例中步骤S101所描述的确定出视频质量检测缓冲区中存储的缓冲量字节数的过程,此处便不再赘述。
在一些可行的实施方式中,字节数减少单元30可获取到目标视频对应的视频帧码流信息。其中,目标视频的视频帧码流信息中可包括目标视频的部分或者全部视频帧中各视频帧对应的单帧码流信息。然后,字节数减少单元30可根据目标视频对应的视频帧码流信息和字节数确定单元20获取的视频属性信息中包含的视频帧率对上述视频质量检测缓冲区中存储的缓冲量字节数进行减少,以得到减少后的视频质量检测缓冲区中存储的缓冲量字节数。字节数减少单元30根据目标视频对应的视频帧码流信息和目标视频的视频帧率对上述视频质量检测缓冲区中存储的缓冲量字节数进行减少的过程可参见实施例一中步骤S102中所描述根据目标视频对应的视频帧码流信息和视频帧率对视频质量检测缓冲区中存储的缓冲量字节数进行减少过程,此处便不再赘述。
播放质量确定单元40可根据字节数减少单元30获取的减少后的视频质量检测缓冲区中存储的缓冲量字节数确定出目标视频在视频播放器上播放的播放状态。播放质量确定单元40确定目标视频在视频播放器上播放的播放状态的过程具体可参见实施例一种步骤S103中所描述的根据减少后的视频质量检测缓冲区中存储的缓冲量字节数确定出目标视频在视频播放器上播放的播放状态的过程,此处便不再赘述。
当播放状态确定单元40确定出目标视频的播放状态为卡顿状态时,播放质量确定单元50可确定出目标视频对应的卡顿次数。然后,播放质量确定单元50可根据目标视频对应的卡顿次数确定出目标视频的视频播放质量。具体过程可参见实施例一中步骤S104中所描述的根据目标视频对应的卡顿次数确定出目标视频的视频播放质量的过程,此处便不再赘述。
可选的,当播放状态确定单元40确定出目标视频的播放状态为卡顿状态时,播放状态切换单元60可触发字节数数减少单元30停止执行所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数的步骤。以同步模拟出视频播放器处于卡顿状态时的视频数据缓冲机制。此时,获取单元10可继续获取新的视频数据包,字节数确认单元20可根据新的视频数据包中的视频数据的数据字节数对视频播放质量检测缓冲区中存储的缓冲量字节数进行增加。直到上述视频播放质量检测缓冲区中存储的缓冲量字节数等于或大于预设的流畅字节数阈值时,播放状态切换单元60可确定目标视频在视频播放终端上的播放状态由卡顿状态切换至流畅状态。播放状态切换单元60可触发字节数减少单元30继续执行所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数的步骤。同时,播放质量确定单元50可记录目标视频的播放状态由卡顿状态切换至流畅状态的持续时间,并根据上述持续时间对目标视频的卡顿总时长进行更新。播放质量确定单元50在获取到目标视频的卡顿总时长后,可根据目标视频的卡顿总时长确定目标视频的视频播放质量。具体过程可参见实施例一中步骤S104中所描述的根据目标视频的卡顿总时长确定目标视频的视频播放质量的过程,此处便不再赘述。
可选的,播放状态确定单元40还可根据上述缓冲量字节数确定出目标视频在视频播放终端上的播放时间。具体过程可参见实施例一的步骤S104中所描述的确定过程,此处便不再赘述。
在本发实施例中,通过目标视频的视频数据包对应的数据字节数据和目标视频的视频帧码流信息实时的对视频质量检测缓冲区中存储的缓冲量字节数进行调整,以使得视频质量检测缓冲区中存储的缓冲量字节数能够实时且准确的反映出视频播放器播放目标视频过程中视频数据的实际缓冲量。从而根据视频质量检测缓冲区中存储的缓冲量字节数即可准确检测出目标视频在视频播放器上的播放质量。通过上述操作,可提升视频质量检测方法的实时性和准确率,可提升视频质量检测方法的的用户体验。
请参见图6,图6是本发明实施例提供的一种云码流信息服务器结构示意图。所述云码流信息服务器包括云云处理器601和云云存储器602。所述云存储器602存储一组或多组已解码视频信息,所述一组或者多组已解码信息用于确定包括目标视频在内的一个或者多个视频中各视频的视频标识和视频帧码流信息。
在一些可行的实施方式中,所述云处理器601用于接收所述视频播放质量检测装置发送的查询请求,所述查询请求中包括所述目标视频的视频标识。再根据所述目标视频的视频标识从所述云存储器602中查找目标已解码视频信息。然后,将所述目标已解码视频信息发送给所述视频播放质量检测装置。这里,所述目标已解码视频信息用于确定出所述目标视频的视频帧码流信息。所述目标视频的视频帧码流信息用于确定出减少后的所述视频质量检测缓冲区中存储的缓冲量字节数。所述减少后的所述视频质量检测缓冲区中存储的缓冲量字节数用于确定出所述目标视频的视频播放质量。
在一些可行的实施方式中,若查找不到所述目标已解码视频信息,所述云处理器601还用于向所述视频播放质量检测装置发送查询失败通知。
在一些可行的实施方式中,所述云处理器601还用于获取所述目标视频数据。根据所述目标视频的视频编码类型对所述视频数据进行解码,并根据解码后的所述视频数据确定出所述视频数据包对应的多个视频帧的单帧码流信息。再将所述视频数据包对应的多个视频帧的单帧码流信息保存至所述云存储器。
在一些可行的实施方式中,所述云码流信息服务器与多个视频播放质量检测装置相连接。若查找不到所述目标已解码视频信息,所述云处理器601还用于获取所述多个视频播放质量检测装置中各视频播放质量检测装置的解码负载参量。再根据所述各视频播放质量检测装置的解码负载参量确定出所述多个视频播放质量检测装置中的一个或多个空闲视频播放质量检测装置。然后,所述云处理器601从所述一个或多个空闲视频播放质量检测装置中确定出目标空闲视频播放质量检测装置,并通过所述目标空闲视频播放质量检测装置确定出目标视频的视频帧码流信息。这里,通过从与云码流信息服务器相连接的多个视频播放质量检测装置中选择出解码负载量最小的视频播放质量检测装置来完成目标视频的视频帧码流信息的确定操作,可使得上述多个视频播放质量检测装置的视频解码能力得到充分的利用,可提升视频播放质量检测方法的效率。
在一些可行的实施方式中,所述云处理器601用于接收并保存所述视频播放质量检测装置发送的目标视频的视频帧码流信息。这里,所述目标视频的视频帧码流信息存储于视频播放质量检测装置内的码流信息缓冲区中。
请参见图7,图7是本发明实施例提供的一种电子设备的结构示意图。本发明实施例提供的电子设备包括处理器701、存储器702和总线系统703。其中,上述处理器701、存储器702通过总线系统703连接。
上述存储器702用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器702包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM)。图7中仅示出了一个存储器,当然,存储器也可以根据需要,设置为多个。
存储器702也可以是处理器701中的存储器,在此不做限制。
存储器702存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
上述处理器701控制电子设备的操作,处理器701可以是一个或多个中央处理器(central processing unit,CPU)。在处理器701是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
具体的应用中,电子设备的各个组件通过总线系统703耦合在一起,其中总线系统703除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图7中将各种总线都标为总线系统703。为便于表示,图7中仅是示意性画出。
本发明实施例揭示的视频播放质量检测方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。
本发明的实施例中提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,可实现上述实施例一中所描述的一种视频播放质量检测方法。
上述计算机可读存储介质可以是前述任一实施例所述的视频播放质量检测装置的内部存储单元,例如视频播放质量检测装置的硬盘或内存。上述计算机可读存储介质也可以是上述终端设备的外部存储设备,例如所述终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述计算机可读存储介质还可以既包括上述终端设备的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述终端设备所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

Claims (30)

1.一种视频播放质量检测方法,其特征在于,所述方法适用于目标视频的视频播放质量检测,所述目标视频由视频资源服务器传输至视频播放器播放,所述方法包括:
从承载网络中获取到所述目标视频的第一视频数据包,获取所述第一视频数据包中第一视频数据的数据字节数,并根据所述数据字节数确定出视频质量检测缓冲区中存储的缓冲量字节数,其中,所述承载网络为介于所述视频资源服务器和所述视频播放器之间用于传输所述目标视频的网络,所述目标视频包括所述第一视频数据包在内的多个视频数据包;
获取到所述目标视频对应的视频帧码流信息,根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数,其中,所述视频帧码流信息中包括所述目标视频的部分或者全部视频帧中各视频帧对应的单帧码流信息,任一视频帧对应的单帧码流信息至少包括所述任一视频帧对应的码流字节数和码流信息标识;
根据减少后的所述视频质量检测缓冲区中存储的缓冲量字节数确定出所述目标视频在所述视频播放器上播放的播放状态;
根据所述播放状态确定所述目标视频的视频播放质量。
2.根据权利要求1所述的方法,其特征在于,所述获取到所述目标视频对应的视频帧码流信息包括:
获取所述目标视频的视频属性信息,根据所述视频属性信息确定出所述目标视频的视频标识;
若根据所述视频标识在码流信息云服务器中匹配到目标已解码视频信息,则根据所述目标已解码视频信息确定出所述目标视频对应的视频帧码流信息,其中,所述码流信息云服务器中包括一组或多组已解码视频信息,一组已解码信息中至少包括一个视频的视频标识和视频帧码流信息。
3.根据权利要求2所述的方法,其特征在于,所述视频播质量检测装置包含码流信息缓冲区,若根据所述视频标识在所述云码流信息服务器中匹配不到所述目标已解码视频信息,所述方法还包括:
从所述码流信息缓冲区中获取所述目标视频对应的视频帧码流信息,其中,所述视频帧码流信息由所述目标视频对应的部分或者全部已解码视频帧确定并存储于所述码流信息缓冲区中,所述目标视频对应的部分或全部已解码视频帧由所述目标视频对应的部分或者全部视频数据包中包含的视频数据解码得到。
4.根据权利要求3所述的方法,其特征在于,所述视频属性信息包括视频编码类型,所述方法还包括:
获取所述目标视频对应的第二视频数据包中包含的第二视频数据;
根据所述视频编码类型对所述第二视频数据进行解码,并根据解码后的所述第二视频数据确定出所述第二视频数据包对应的多个视频帧的单帧码流信息;
将所述第二视频数据包对应的多个视频帧的单帧码流信息保存至所述码流信息缓冲区。
5.根据权利要求4所述的方法,其特征在于,所述解码后的所述第二视频数据包括多个解码视频帧,所述根据解码后的所述第二视频数据确定出所述第二视频数据包对应的多个视频帧的单帧码流信息包括:
对所述多个解码视频帧中任一解码视频帧i执行以下操作:
获取所述解码视频帧i包含的画面码流字节数和音频码流字节数;
将所述画面码流字节数和所述音频码流字节数进行合成为所述解码视频帧i对应的单帧码流字节数;
获取所述解码视频帧i对应的帧标识,根据所述解码视频帧i对应的帧标识确定出所述解码视频帧i对应的码流信息标识;
根据所述多个解码视频帧中各解码视频帧对应的各单帧码流字节数和所述各解码视频帧对应的各码流信息标识确定出所述第二视频数据包对应的多个视频帧的单帧码流信息。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述方法还包括:
将所述码流信息缓冲区中存储的所述目标视频的视频帧码流信息传输至所述码流信息云服务器,以将所述目标视频对应的视频帧码流信息存储于所述码流信息云服务器中。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数包括:
若根据所述视频帧率确定出的第一减少周期到达,则确定所述目标视频的起始时刻对应的所述目标视频的第一视频帧,并从所述目标视频的视频帧码流信息确定出所述第一视频帧对应的第一单帧码流信息;
获取所述第一单帧码流信息中包含的第一码流字节数,并将所述视频质量检测缓冲区中存储的缓冲量字节数减少所述第一码流字节数对应大小的数值,以得到减少后的所述视频质量检测缓冲区中存储的缓冲量字节数。
8.根据权利要求7所述的方法,其特征在于,所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数包括:
若所述第一减少周期之后的第二减少周期到达,根据所述第一单帧码流信息中包括的第一码流信息标识确定出第二码流信息标识,并根据所述第二码流信息标识从所述目标视频对应的视频帧码流信息中确定出第二单帧码流信息;
获取所述第二单帧码流信息中包含的第二码流字节数,将所述视频质量检测缓冲区中存储的缓冲量字节数减少所述第二码流字节数对应大小的数值,以得到减少后的所述视频质量检测缓冲区中存储的缓冲量字节数。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述播放状态包括卡顿状态,所述根据减少后的所述视频质量检测缓冲区中存储的缓冲量字节数确定出所述目标视频在所述视频播放器上播放的播放状态包括:
若所述减少后的所述视频质量检测缓冲区中存储的缓冲量字节数小于或等于卡顿字节数阈值,则确定所述目标视频的播放状态为所述卡顿状态。
10.根据权利要求9所述的方法,其特征在于,所述根据所述播放状态确定所述目标视频的视频播放质量包括:
当确定出所述目标视频的播放状态为卡顿状态时,确定所述目标视频对应的卡顿次数;
若所述目标视频对应的卡顿次数大于或等于第一预设次数阈值,或者,当预设检测时段到达时,所述目标视频对应的卡顿次数大于或等于第二预设次数阈值,则确定所述目标视频的视频播放质量差。
11.根据权利要求9所述的方法,其特征在于,当确定所述目标视频的播放状态为所述卡顿状态时,所述方法还包括:
停止执行所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数的步骤;
直至当所述视频质量检测缓冲区中存储的缓冲量字节数大于或等于流畅字节数阈值时,确定所述目标视频的播放状态由所述卡顿状态切换至所述流畅状态,并继续执行所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数的步骤;
根据所述目标视频的播放状态由所述卡顿状态切换至所述流畅状态之间的持续时间更新所述目标视频的卡顿总时长;
所述根据所述播放状态确定所述目标视频的视频播放质量包括:
若所述目标视频的卡顿总时长等于或大于第一预设卡顿时长,或者在预设检测时段到达时,所述目标视频的卡顿总时长等于或大于第二预设卡顿时长,则确定所述目标视频的播放质量为差。
12.一种视频播放质量检测装置,所述检测装置适用于目标视频的视频播放质量检测,所述目标视频由视频资源服务器传输至视频播放器播放,所述检测设备包括:
获取单元,用于从承载网络中获取到所述目标视频的第一视频数据包;
字节数确定单元,用于获取所述获取单元得到的所述第一视频数据包中第一视频数据的数据字节数,并根据所述数据字节数确定出视频播放质量检测缓冲区中存储的缓冲量字节数,其中,所述承载网络为介于所述视频资源服务器和所述视频播放器之间用于传输所述目标视频的网络,所述目标视频包括所述第一视频数据包在内的多个视频数据包;
字节数减少单元,用于获取到所述目标视频对应的视频帧码流信息,根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数,其中,所述视频帧码流信息中包括所述目标视频的部分或者全部视频帧中各视频帧对应的单帧码流信息,任一视频帧对应的单帧码流信息至少包括所述任一视频帧对应的码流字节数和码流信息标识;
播放状态确定单元,用于根据所述字节数减少单元减少后的所述视频质量检测缓冲区中存储的缓冲量字节数确定出所述目标视频在所述视频播放器上播放的播放状态;
播放质量确定单元,用于根据所述播放状态确定单元确定出的所述播放状态确定所述目标视频的视频播放质量。
13.根据权利要求12所述的检测装置,其特征在于,所述字节数减少单元用于:
获取所述目标视频的视频属性信息,根据所述视频属性信息确定出所述目标视频的视频标识;
若根据所述视频标识在码流信息云服务器中匹配到目标已解码视频信息,则根据所述目标已解码视频信息确定出所述目标视频对应的视频帧码流信息,其中,所述码流信息云服务器中包括一组或多组已解码视频信息,一组已解码信息中至少包括一个视频的视频标识和视频帧码流信息。
14.根据权利要求13所述的检测装置,其特征在于,所述视频播质量检测装置包含码流信息缓冲区,所述字节数减少单元还用于:
从所述码流信息缓冲区中获取所述目标视频对应的视频帧码流信息,其中,所述视频帧码流信息由所述目标视频对应的部分或者全部已解码视频帧确定并存储于所述码流信息缓冲区中,所述目标视频对应的部分或全部已解码视频帧由所述目标视频对应的部分或者全部视频数据包中包含的视频数据解码得到。
15.根据权利要求14所述的检测装置,其特征在于,所述视频属性信息包括视频编码类型,所述字节数减少单元还用于:
获取所述目标视频对应的第二视频数据包中包含的第二视频数据;
根据所述视频编码类型对所述第二视频数据进行解码,并根据解码后的所述第二视频数据确定出所述第二视频数据包对应的多个视频帧的单帧码流信息;
将所述第二视频数据包对应的多个视频帧的单帧码流信息保存至所述码流信息缓冲区。
16.根据权利要求15所述的检测装置,其特征在于,所述解码后的所述第二视频数据包括多个解码视频帧,所述字节数减少单元还用于:
对所述多个解码视频帧中任一解码视频帧i执行以下操作:
获取所述解码视频帧i包含的画面码流字节数和音频码流字节数;
将所述画面码流字节数和所述音频码流字节数进行合成为所述解码视频帧i对应的单帧码流字节数;
获取所述解码视频帧i对应的帧标识,根据所述解码视频帧i对应的帧标识确定出所述解码视频帧i对应的码流信息标识;
根据所述多个解码视频帧中各解码视频帧对应的各单帧码流字节数和所述各解码视频帧对应的各码流信息标识确定出所述第二视频数据包对应的多个视频帧的单帧码流信息。
17.根据权利要去14-16任一项所述的检测装置,其特征在于,所述字节数减少单元还用于:
将所述码流信息缓冲区中存储的所述目标视频的视频帧码流信息传输至所述码流信息云服务器,以将所述目标视频对应的视频帧码流信息存储于所述码流信息云服务器中。
18.根据权利要求12-17任一项所述的检测装置,其特征在于,所述字节数减少单元还用于:
若根据所述视频帧率确定出的第一减少周期到达,则确定所述目标视频的起始时刻对应的目标视频的第一视频帧,并从所述目标视频的视频帧码流信息确定出所述第一视频帧对应的第一单帧码流信息;
获取所述第一单帧码流信息中包含的第一码流字节数,并将所述视频质量检测缓冲区中存储的缓冲量字节数减少所述第一码流字节数对应大小的数值,以得到减少后的所述视频质量检测缓冲区中存储的缓冲量字节数。
19.根据权利要求12-17任一项所述的检测装置,其特征在于,所述字节数减少单元还用于:
若所述第一减少周期之后的第二减少周期到达,根据所述第一单帧码流信息中包括的第一码流信息标识确定出第二码流信息标识,并根据所述第二码流信息标识从所述目标视频对应的视频帧码流信息中确定出第二单帧码流信息;
获取所述第二单帧码流信息中包含的第二码流字节数,将所述视频质量检测缓冲区中存储的缓冲量字节数减少所述第二码流字节数对应大小的数值,以得到减少后的所述视频质量检测缓冲区中存储的缓冲量字节数。
20.根据权利要去12-19任一项所述的检测装置,其特征在于,所述播放状态包括卡顿状态,所述播放状态确定单元用于:
若所述字节数减少单元减少后的所述视频播放质量检测缓冲区中存储的缓冲量字节数小于或等于卡顿字节数阈值,则确定所述目标视频的播放状态为所述卡顿状态。
21.根据权利要去20所述的检测装置,其特征在于,所述播放质量确定单元用于:
当所述播放状态确定单元确定出所述目标视频的播放状态为卡顿状态时,确定出所述目标视频对应的卡顿次数;
若所述目标视频对应的卡顿次数大于或等于第一预设次数阈值,或者,当预设检测时段到达时,所述目标视频对应的卡顿次数大于或等于第二预设次数阈值,则确定所述目标视频的视频播放质量差。
22.根据权利要求20所述的检测装置,其特征在于,所述检测装置还包括:
播放状态切换单元,用于触发所述字节数减少单元停止执行所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数的步骤;
直至当所述视频质量检测缓冲区中存储的缓冲量字节数大于或等于流畅字节数阈值时,确定所述目标视频的播放状态由所述卡顿状态切换至所述流畅状态,并触发所述字节数减少单元继续执行所述根据所述目标视频的视频帧率和所述视频帧码流信息减少所述视频质量检测缓冲区中存储的缓冲量字节数的步骤;
根据所述目标视频的播放状态由卡顿状态切换至所述流畅状态之间的持续时间更新所述目标视频的卡顿总时长;
所述播放质量确定单元,用于若所述播放状态切换单元确定的目标视频的卡顿总时长等于或大于第一预设卡顿时长,或者在预设检测时段到达时,所述目标视频的卡顿总时长等于或大于第二预设卡顿时长,则确定所述目标视频的播放质量为差。
23.一种计算机可读存储介质,其特征在于,包括指令,所述指令在计算机上运行时,使得计算机执行如权利要求1-11任一项所述的方法。
24.一种云码流信息服务器,其特征在于,所述云码流信息服务器包括云处理器和云存储器,所述云存储器存储一组或多组已解码视频信息,所述一组或者多组已解码信息用于确定包括目标视频在内的一个或者多个视频中各视频的视频标识和视频帧码流信息,所述云处理器用于:
接收视频播放质量检测装置发送的查询请求,所述查询请求中包括所述目标视频的视频标识;
根据所述目标视频的视频标识从所述云存储器中查找目标已解码视频信息,所述目标已解码视频信息用于确定出所述目标视频的视频帧码流信息,其中,所述目标视频的视频帧码流信息用于确定出减少后的所述视频质量检测缓冲区中存储的缓冲量字节数,所述减少后的所述视频质量检测缓冲区中存储的缓冲量字节数用于确定出所述目标视频的视频播放质量;
将所述目标已解码视频信息发送给所述视频播放质量检测装置。
25.根据权利要求24所述的云码流信息服务器,其特征在于,若查找不到所述目标已解码视频信息,所述云处理器还用于:
向所述视频播放质量检测装置发送查询失败通知。
26.根据权利要求24或25任一项所述的云码流信息服务器,其特征在于,所述云处理器还用于:
获取所述目标视频视频数据;
根据所述目标视频的视频编码类型对所述视频数据进行解码,并根据解码后的所述视频数据确定出所述视频数据包对应的多个视频帧的单帧码流信息;
将所述视频数据包对应的多个视频帧的单帧码流信息保存至所述云存储器。
27.根据权利要求24-26任一项所述的云码流信息服务器,其特征在于,所述云码流信息服务器与多个视频播放质量检测装置相连接,所述云处理器还用于:
获取所述多个视频播放质量检测装置中各视频播放质量检测装置的解码负载参量,根据所述各视频播放质量检测装置的解码负载参量确定出所述多个视频播放质量检测装置中的一个或多个空闲视频播放质量检测装置;
从所述一个或多个空闲视频播放质量检测装置中确定出目标空闲视频播放质量检测装置,并通过所述目标空闲视频播放质量检测装置获取出目标视频的视频帧码流信息。
28.根据权利要求24-27任一项所述的码流信息云服务器,其特征在于,所述云处理器用于:
接收并将所述视频播放质量检测装置发送的目标视频的视频帧码流信息保存至所述云存储器,其中,所述目标视频的视频帧码流信息存储于视频播放质量检测装置内的码流信息缓冲区中。
29.一种视频播放质量检测系统,其特征在于,所述视频播放质量检测系统包括视频资源服务器、如权利要求22-24任一项所述的云码流信息服务器和一个或多个如权利要求12-20任一项所述的所述视频播放质量检测装置;
所述视频资源服务器,用于保存至少包括目标视频在内的多个视频;
所述视频资源服务器,还用于通过承载网络向所述视频播放质量检测装置提供所述多个视频中的一个或多个视频。
30.根据权利要求22所述的系统,其特征在于,所述系统还包括:
视频播放器,用于通过承载网络从所述视频服务器中获取视频并播放。
CN201810704809.0A 2018-06-30 2018-06-30 一种视频播放质量检测方法和装置 Active CN110662017B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810704809.0A CN110662017B (zh) 2018-06-30 2018-06-30 一种视频播放质量检测方法和装置
EP19827407.8A EP3800894A4 (en) 2018-06-30 2019-06-18 METHOD AND DEVICE FOR DETERMINING THE QUALITY OF VIDEO PLAYBACK
PCT/CN2019/091619 WO2020001315A1 (zh) 2018-06-30 2019-06-18 一种视频播放质量检测方法和装置
US17/136,672 US11563992B2 (en) 2018-06-30 2020-12-29 Video playback quality detection method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810704809.0A CN110662017B (zh) 2018-06-30 2018-06-30 一种视频播放质量检测方法和装置

Publications (2)

Publication Number Publication Date
CN110662017A true CN110662017A (zh) 2020-01-07
CN110662017B CN110662017B (zh) 2022-05-10

Family

ID=68984706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810704809.0A Active CN110662017B (zh) 2018-06-30 2018-06-30 一种视频播放质量检测方法和装置

Country Status (4)

Country Link
US (1) US11563992B2 (zh)
EP (1) EP3800894A4 (zh)
CN (1) CN110662017B (zh)
WO (1) WO2020001315A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511818A (zh) * 2020-11-24 2021-03-16 上海哔哩哔哩科技有限公司 视频播放质量检测方法、装置
CN114245198A (zh) * 2021-12-17 2022-03-25 北京达佳互联信息技术有限公司 媒体内容的处理方法、装置、电子设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430451B (zh) * 2019-08-20 2021-09-10 北京豆萌信息技术有限公司 视频播放方法、播放器、服务器和系统
US11558668B2 (en) * 2021-06-03 2023-01-17 Microsoft Technology Licensing, Llc Measuring video quality of experience based on decoded frame rate

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101426146A (zh) * 2007-11-02 2009-05-06 华为技术有限公司 多媒体业务的实现方法及媒体业务的处理装置
CN101523916A (zh) * 2006-10-19 2009-09-02 艾利森电话股份有限公司 确定视频质量的方法
US20120110167A1 (en) * 2010-10-28 2012-05-03 Avvasi Device with video buffer modeling and methods for use therewith
CN103702240A (zh) * 2013-12-06 2014-04-02 乐视网信息技术(北京)股份有限公司 一种视频播放的方法和设备
CN104717555A (zh) * 2013-12-11 2015-06-17 华为技术有限公司 视频码流的获取方法及装置
CN105491403A (zh) * 2014-10-10 2016-04-13 中国电信股份有限公司 用于评估视频实时传输质量的方法和系统
US20160150228A1 (en) * 2014-11-25 2016-05-26 Echostar Technologies L.L.C. Systems and methods for picture quality monitoring
CN105657498A (zh) * 2016-02-17 2016-06-08 腾讯科技(深圳)有限公司 移动终端的视频录制方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234397B2 (en) * 2006-01-06 2012-07-31 Google Inc. Media article adaptation to client device
US20100043038A1 (en) * 2008-08-14 2010-02-18 Zoran Corporation System and method for efficient video and audio instant replay for digital television
US10097946B2 (en) * 2011-12-22 2018-10-09 Taiwan Semiconductor Manufacturing Co., Ltd. Systems and methods for cooperative applications in communication systems
US9380091B2 (en) * 2012-06-12 2016-06-28 Wi-Lan Labs, Inc. Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
US9247312B2 (en) * 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US8610818B2 (en) * 2012-01-18 2013-12-17 Cisco Technology, Inc. Systems and methods for improving video stutter in high resolution progressive video
US10389780B2 (en) * 2012-02-08 2019-08-20 Arris Enterprises Llc Managed adaptive streaming
CN104639955B (zh) * 2015-03-09 2017-10-27 德科仕通信(上海)有限公司 检测mpeg2‑ts vbr码流质量问题的方法
US9326046B1 (en) * 2015-03-19 2016-04-26 Amazon Technologies, Inc. Uninterrupted playback of video streams using lower quality cached files
CN106851341B (zh) * 2015-12-04 2019-05-31 中国电信股份有限公司 用于测量网络视频传送质量的方法和移动终端

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101523916A (zh) * 2006-10-19 2009-09-02 艾利森电话股份有限公司 确定视频质量的方法
CN101426146A (zh) * 2007-11-02 2009-05-06 华为技术有限公司 多媒体业务的实现方法及媒体业务的处理装置
US20120110167A1 (en) * 2010-10-28 2012-05-03 Avvasi Device with video buffer modeling and methods for use therewith
CN103702240A (zh) * 2013-12-06 2014-04-02 乐视网信息技术(北京)股份有限公司 一种视频播放的方法和设备
CN104717555A (zh) * 2013-12-11 2015-06-17 华为技术有限公司 视频码流的获取方法及装置
CN105491403A (zh) * 2014-10-10 2016-04-13 中国电信股份有限公司 用于评估视频实时传输质量的方法和系统
US20160150228A1 (en) * 2014-11-25 2016-05-26 Echostar Technologies L.L.C. Systems and methods for picture quality monitoring
CN105657498A (zh) * 2016-02-17 2016-06-08 腾讯科技(深圳)有限公司 移动终端的视频录制方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511818A (zh) * 2020-11-24 2021-03-16 上海哔哩哔哩科技有限公司 视频播放质量检测方法、装置
CN114245198A (zh) * 2021-12-17 2022-03-25 北京达佳互联信息技术有限公司 媒体内容的处理方法、装置、电子设备及存储介质
CN114245198B (zh) * 2021-12-17 2024-02-06 北京达佳互联信息技术有限公司 媒体内容的处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110662017B (zh) 2022-05-10
EP3800894A4 (en) 2021-04-28
EP3800894A1 (en) 2021-04-07
US11563992B2 (en) 2023-01-24
WO2020001315A1 (zh) 2020-01-02
US20210120292A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
CN110662017B (zh) 一种视频播放质量检测方法和装置
CN112653700B (zh) 一种基于webrtc网页视频通信的方法
WO2017101488A1 (zh) 实时转码的监控方法和实时转码系统
US10476928B2 (en) Network video playback method and apparatus
CN111601136B (zh) 一种视频数据处理方法、装置、计算机设备及存储介质
CN108174280B (zh) 一种音视频在线播放方法及系统
CN104837052A (zh) 播放多媒体数据的方法及装置
CN111182322B (zh) 一种导播控制方法、装置、电子设备和存储介质
CN108259998B (zh) 播放器及播放控制方法、装置、电子设备及播放系统
CN105451071A (zh) 一种视频流的处理方法、装置和系统
CN103517135A (zh) 一种连续播放mp4格式视频文件的方法、系统及电视
CN113225585A (zh) 一种视频清晰度的切换方法、装置、电子设备以及存储介质
US20230045876A1 (en) Video Playing Method, Apparatus, and System, and Computer Storage Medium
CN114222086B (zh) 音视频码流的调度方法、系统、介质及电子装置
CN109495776B (zh) 一种音频发送、播放的方法及智能终端
CN111352605A (zh) 一种音频播放、发送的方法及装置
CN109587517B (zh) 一种多媒体文件的播放方法及装置、服务器及存储介质
CN114844870B (zh) 一种媒体流获取方法、装置、电子设备及存储介质
CN116980662A (zh) 流媒体播放方法、装置、电子设备、存储介质及程序产品
Thang et al. Video streaming over HTTP with dynamic resource prediction
CN112423096B (zh) 播放优化方法及系统
CN112073727B (zh) 转码方法、装置、电子设备及存储介质
CN115243074A (zh) 视频流的处理方法及装置、存储介质、电子设备
CN115426501A (zh) 一种音视频码流时间校准方法及电子设备
CN113261300B (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