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

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

Info

Publication number
WO2020001315A1
WO2020001315A1 PCT/CN2019/091619 CN2019091619W WO2020001315A1 WO 2020001315 A1 WO2020001315 A1 WO 2020001315A1 CN 2019091619 W CN2019091619 W CN 2019091619W WO 2020001315 A1 WO2020001315 A1 WO 2020001315A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
target
code stream
frame
stream information
Prior art date
Application number
PCT/CN2019/091619
Other languages
English (en)
French (fr)
Inventor
刘晓东
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP19827407.8A priority Critical patent/EP3800894A4/en
Publication of WO2020001315A1 publication Critical patent/WO2020001315A1/zh
Priority to US17/136,672 priority patent/US11563992B2/en

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

Definitions

  • the present invention relates to the field of communication technologies, and in particular, to a method and a device for detecting video playback quality.
  • Existing video playback quality detection methods generally determine the video playback quality through the video playback quality feedback information or fault report information actively sent by the user, and then perform timely fault location, fault isolation, and correction on the video service to achieve this. Improve the service quality of video services.
  • the existing video playback quality detection methods need to rely on user feedback information. If the user feedback information is not timely or accurate, it will reduce the real-time performance and accuracy of the playback quality detection method. Therefore, the existing video playback quality detection method has poor user experience and low accuracy.
  • the present invention provides a method and a device for detecting video playback quality. Can improve the user experience and accuracy of video quality detection.
  • an embodiment of the present invention provides a method for detecting video playback quality.
  • the above method is suitable for detecting the video playback quality of the target video, and the target video is transmitted from the video resource server to the video player.
  • the first video data packet of the target video is obtained from the bearer network, and then the number of data bytes of the first video data included in the first video data packet is obtained. Then, the number of buffered bytes stored in the video quality detection buffer is determined according to the number of video bytes.
  • the bearer network is a network for transmitting the target video between a video resource server and a video player, and the target video corresponds to a plurality of video data packets including the first video data packet.
  • the video frame code stream information corresponding to the target video is acquired, and the number of buffer bytes stored in the video quality detection buffer is reduced according to the video frame rate of the target video and the video frame code stream information.
  • the video frame code stream information includes single frame code stream information corresponding to each video frame in part or all of the target video frame.
  • the single-frame code stream information corresponding to any video frame includes at least the number of code stream bytes and code stream information identifiers corresponding to any of the video frames.
  • the number of bytes of the buffer amount stored in the video quality detection buffer is adjusted in real time by using data byte data corresponding to the video data packet of the target video and video frame stream information of the target video, so that The number of buffered bytes stored in the video quality detection buffer can reflect the actual buffered amount of video data in real-time and accurately while the video player is playing the target video. Therefore, the playback quality of the target video on the video player can be accurately detected based on the number of bytes of the buffer amount stored in the video quality detection buffer.
  • video attribute information of the target video may be acquired, and a video identifier of the target video is determined according to the video attribute information.
  • the video attribute information may include a video identifier, an encoding format, a video frame rate, a video duration, and a video bitstream size, which are not limited herein.
  • a video ID uniquely corresponds to a video. If the target decoded video information is matched in the code stream information cloud server according to the video identifier, the video frame code stream information corresponding to the target video is determined according to the target decoded video information.
  • the above-mentioned code stream information cloud server includes one or more groups of decoded video information, and at least one set of decoded information includes a video identifier and video frame code stream information of the video.
  • the video frame code stream information of the target video is obtained from the code stream information cloud server through the video identification of the target video.
  • the method is simple and easy to implement. It can reduce the data processing amount of the video playback quality detection method and improve the efficiency of the video playback quality detection method.
  • the foregoing video playback quality detection device includes a code stream information buffer. If the target decoded video information cannot be matched in the cloud code stream information server according to the video identifier, the video frame code stream information corresponding to the target video may be obtained from the code stream information buffer.
  • the video frame code stream information is determined by a part or all of the decoded video frames corresponding to the target video and stored in the code stream information buffer. The part or all of the decoded video frames corresponding to the target video is determined by The video data contained in part or all of the video data packet corresponding to the target video is obtained by decoding.
  • second video data included in a second video data packet corresponding to the target video may be obtained.
  • a target decoding method is determined according to the video encoding type, and the second video data is decoded according to the target decoding method.
  • Single-frame code stream information of multiple video frames corresponding to the second video data packet is determined according to the decoded second video data.
  • the single-frame code stream information of multiple video frames corresponding to the second video data packet is saved to the code stream information buffer to update the video of the target video stored in the code stream information buffer.
  • Frame code stream information may refer to any one of the video data packets corresponding to the target video.
  • the subsequent reduced video quality based on the video frame code stream information of the target video is more accurate, which can improve the accuracy of the video playback quality detection method.
  • the decoded second video data includes a plurality of decoded video frames.
  • the following operations may be performed on any one of the plurality of decoded video frames:
  • the byte number of the picture bit stream and the byte number of the audio bit stream are combined into a single frame bit stream byte number corresponding to the decoded video frame i.
  • a frame identifier corresponding to the decoded video frame i is obtained, and a code stream information identifier corresponding to the decoded video frame i is determined according to the frame identifier corresponding to the decoded video frame i.
  • the video frame code stream information of the target video stored in the code stream information buffer may be transmitted to the code stream information cloud server to transmit a video frame corresponding to the target video.
  • the code stream information is stored in the code stream information cloud server.
  • the video frame code stream information corresponding to the target video is stored in the code stream information cloud server, so that the video frame code stream data stored in the code stream information cloud server is updated, so that the next time the target video is video During playback quality detection, the video frame code stream information of the target video can be obtained directly from the code stream information cloud server.
  • the first video frame corresponding to the start time of the target video may be determined, and The video frame code stream information determines first single frame code stream information corresponding to the first video frame. Then, the number of bytes of the first bitstream included in the first single-frame bitstream information may be obtained, and the number of bytes of the buffer amount stored in the video quality detection buffer is reduced by the number of bytes of the first bitstream. And a value corresponding to the number to obtain a reduced number of bytes of the buffer amount stored in the video quality detection buffer.
  • the first single-frame code stream information corresponding to the first reduction period may be acquired. Determining a second code stream information identifier according to the first code stream information identifier included in the first single frame code stream information, and according to the second code stream information identifier, from the video frame code stream corresponding to the target video The information determines the second single-frame code stream information.
  • the number of sections can reflect the actual buffering amount of video data in the process of the target video being played by the video player in real time and accurately.
  • the playback state includes a stuck state. If the number of buffered bytes stored in the reduced video quality detection buffer is less than or equal to a stalled byte threshold, it is determined that the playback status of the target video is the stalled status.
  • the number of freeze times corresponding to the target video may be determined. Then, if the number of stalls corresponding to the target video is greater than or equal to a first preset number of thresholds, it may be determined that the target video has poor video playback quality. Alternatively, when the preset number of stalls corresponding to the target video is greater than or equal to a second preset number of thresholds when a preset detection period arrives, it may also be determined that the target video has poor video playback quality.
  • the video playback quality of the target video is determined according to the number of stalls corresponding to the target video. The method is simple and easy to implement, which can improve the efficiency and applicability of the video playback quality detection method.
  • Steps to buffer the number of bytes stored in the video quality detection buffer when it is determined that the playback state of the target video is the stall state, execution of the reduction according to the video frame rate of the target video and the video frame bitstream information may be stopped. Steps to buffer the number of bytes stored in the video quality detection buffer. Until the number of buffered bytes stored in the video quality detection buffer is greater than or equal to the smooth byte threshold, it is determined that the playback state of the target video is switched from the frozen state to the smooth state. Then, the step of reducing the number of bytes of the buffer amount stored in the video quality detection buffer according to the video frame rate of the target video and the video frame bitstream information is continued.
  • the total pause time of the target video is updated according to the duration between the playback state of the target video being switched from the freeze state to the smooth state. If the total stutter duration of the target video is equal to or greater than the first preset stutter duration, it is determined that the playback quality of the target video is poor. Alternatively, when the total stutter duration of the target video is equal to or greater than the second preset stutter duration when the preset detection period arrives, it is determined that the playback quality of the target video is poor.
  • the video playback status of the target video is determined by the total video pause time of the target video, which can avoid misjudgment caused by small number of video freezes but too long total video pause time, and can improve the accuracy of the video playback quality detection method.
  • an embodiment of the present invention provides a video playback quality detection device.
  • the detection device includes a unit for executing a method for detecting a video playback quality provided by any one of the possible implementation manners of the first aspect, so it can also be a beneficial effect of implementing the method for detecting a video playback quality provided by the first aspect. (Or advantages).
  • an embodiment of the present invention provides a cloud code stream information server.
  • the cloud code stream information server includes a cloud processor and a cloud storage.
  • the cloud storage stores one or more sets of decoded video information, and the one or more sets of decoded information is used to determine one including a target video. Or video identification and video frame stream information of each video in multiple videos.
  • the cloud processor is configured to:
  • Receiving a query request sent by the video playback quality detection device where the query request includes a video identifier of the target video.
  • the target decoded video information is sent to the video playback quality detection device.
  • the target decoded video information is used to determine video frame bitstream information of the target video.
  • the video frame bitstream information of the target video is used to determine the number of bytes of the buffer amount stored in the reduced video quality detection buffer.
  • the reduced number of buffer bytes stored in the video quality detection buffer is used to determine the video playback quality of the target video.
  • the storage and sharing of the video frame code stream information of the target video is realized through the code stream information cloud server, which can reduce the data processing amount of the video playback quality detection method and improve the efficiency of the video playback quality detection method.
  • the cloud processor is further configured to send a query failure notification to the video playback quality detection device.
  • the cloud processor is further configured to:
  • the cloud code stream information server is connected to multiple video playback quality detection devices. If the target decoded video information cannot be found, the cloud processor is further configured to obtain a decoding load parameter of each video playback quality detection device of the plurality of video playback quality detection devices. Then, one or more idle video playback quality detection devices in the multiple video playback quality detection devices are determined according to decoding load parameters of the video playback quality detection devices. Then, a target idle video playback quality detection device is determined from the one or more idle video playback quality detection devices, and video frame code stream information of the target video is determined by the target idle video playback quality detection device.
  • the above-mentioned multiple The video decoding quality of the video playback quality detection device is fully utilized, which can improve the efficiency of the video playback quality detection method.
  • the cloud processor is configured to receive and save video frame bitstream information of a target video sent by the video playback quality detection device.
  • the video frame code stream information of the target video is stored in a code stream information buffer in a video playback quality detection device.
  • an embodiment of the present invention provides a video playback quality detection system.
  • the video playback quality detection system includes a video resource server, the cloud code stream information server according to the third aspect, and one or more video playback quality detection devices according to the first aspect.
  • the video resource server is used to store multiple videos including at least a target video.
  • the video resource server is also configured to provide the video playback quality detection device with one or more videos among the multiple videos through a bearer network.
  • the video player is configured to obtain a video from the video server through a bearer network and play the video.
  • an embodiment of the present application provides an electronic device, and the electronic device may be a terminal device or another type of computer device.
  • the electronic device includes a memory and a processor, and may also include an input / output device and a communication interface.
  • the memory is used to store a set of program code
  • the processor is used to call the program code stored in the memory to perform the video playback quality detection method provided by any one of the possible implementation manners in the foregoing aspect, and therefore, the first The video playback quality detection method provided by the aspect has beneficial effects.
  • an embodiment of the present invention provides a computer-readable storage medium.
  • the computer-readable storage medium stores instructions.
  • the instructions When the instructions are run on a computer, the computer is enabled to execute any one of the foregoing first aspects.
  • the method for detecting video playback quality provided by the implementation method can also achieve the beneficial effects of the method for detecting video playback quality provided by the first aspect.
  • an embodiment of the present application provides a computer program product including instructions.
  • the computer program product runs on a computer, the computer is enabled to execute the video playback quality detection method provided in the first aspect, and the first The video playback quality detection method provided by the aspect has beneficial effects.
  • the user experience and accuracy of video quality detection can be improved.
  • FIG. 1 is a schematic structural diagram of a video playback quality detection system according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a video playback quality detection method according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a composition of decoded video information provided by an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of a video playback quality detection device according to an embodiment of the present invention.
  • FIG. 5 is another schematic structural diagram of a video playback quality detection device according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a code stream information cloud service platform according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
  • the method for detecting video playback quality provided by the embodiment of the present invention may be implemented by a video playback quality detection device with data processing capability independent of the video resource server and the video player.
  • the above-mentioned video playback quality detection device may be a terminal device with data processing capabilities, or a functional subject that can perform a data processing process.
  • the terminal device may be a conventional terminal device or a cloud terminal device, which is not described here. limited.
  • the embodiment of the present invention describes a video playback quality detection method provided by the present invention by using a video playback quality detection device as an execution subject.
  • FIG. 1 is a schematic structural diagram of a video playback quality detection system according to an embodiment of the present invention.
  • the video playback quality detection system includes a video resource server 101, a video player 102, a video playback quality detection device 103 described in Embodiment 2 below, and a stream information cloud server 104 described in Embodiment 3 below.
  • the video resource server 101 described above may be used to store multiple videos including at least a target video.
  • the video player 102 may send a video playback request to the video resource server 101 through the bearer network according to the user operation instruction it receives. Then, the video resource server 101 responds to the video playback request sent by the video player 102, and sends the video determined by the video playback request to the video player 102 through the bearer network.
  • the video player 102 may obtain a video from the video resource server 101 and play it through a bearer network.
  • the bearer network is a network for video transmission or signaling interaction between the video resource server 101 and the video player 102.
  • a video may be transmitted in the form of a video data packet in a bearer network, and the type of the video data packet may be an http data packet.
  • a video in transmission can correspond to multiple video data packets, which is not limited here.
  • the video playback quality detection device 103 may use a method such as port mirroring or optical splitter from the bearer network Obtain one or more video data packets of the target video, and obtain the video frame code stream information of the target video according to the video data packets of the target video, and then detect the target video in the video player according to the video frame code stream information of the target video Playback status on 102.
  • a method such as port mirroring or optical splitter from the bearer network
  • the cloud code stream information server 104 stores one or more sets of decoded video information, and the one or more sets of decoded information is used to determine one or more of the decoded video information including the target video. Video identification and video frame stream information of each video in multiple videos.
  • the above cloud code stream information server 104 may be configured to receive a query request sent by the video playback quality detection device 103.
  • the query request includes a video identifier of the target video.
  • the target decoded video information is searched according to the video identifier of the target video, and the target decoded video information is sent to the video playback quality detection device 103 after the target decoded video information is found.
  • search process refer to the search process described in the first embodiment below, which will not be repeated here.
  • FIG. 2 is a schematic flowchart of a video playback quality detection method according to an embodiment of the present invention.
  • the video playback quality detection method provided by the embodiment of the present invention is applicable to the video playback quality detection system described above.
  • the method for detecting video playback quality provided by the embodiment of the present invention may include steps:
  • S101 Obtain a first video data packet of a target video from a bearer network, obtain the number of data bytes of the first video data in the first video data packet, and determine a video quality detection buffer according to the number of data bytes. Number of bytes of buffers stored.
  • the video playback quality detection device may monitor in real time whether the video player sends a video playback request to the video resource server to obtain a target video.
  • the target video is the video to be detected. If the video playback quality detection device detects the video playback request, the first video data packet of the target video may be obtained from the bearer network when the video resource server sends the target video to the video player.
  • the target video may correspond to multiple video data packets, and the first video data packet may refer to any one of the multiple video data packets.
  • the video playback quality detection device may obtain the first video data packet of the target video from the bearer network in a port mirroring manner.
  • the video playback quality detection device may set port mirroring at the output port of the core layer or the aggregation layer of the bearer network, and copy and obtain the first video data packet of the target video transmitted by the network through the port mirroring.
  • the video playback quality detection device may also obtain the first video data packet of the target video from the bearer network through an optical splitter.
  • the video playback quality detection device obtains the first video data packet of the target video from the bearer network through a method such as port mirroring or a beam splitter, and does not affect the acquisition and playback of the target video by the video player. Usability and user experience.
  • the video playback quality detection device After the video playback quality detection device obtains the first video data packet of the target video from the bearer network, it can obtain the number of data bytes of the first video data included in the first video data packet. Then, the video playback quality detection device may determine the number of bytes of the buffer amount stored in the video quality detection buffer according to the number of data bytes of the first video data.
  • the above-mentioned number of buffer bytes refers to the number of data bytes of video data that the video playback quality detection device has downloaded from the bearer network to the local but has not been reduced by simulating the video player for video playback.
  • the video playback quality detection device may perform deep analysis on the first video data packet to determine the number of data bytes of the first video data and the first video.
  • Video attribute information of the target video associated with the data packet may analyze the captured first video data packet in combination with a network protocol between the video resource server and the video player.
  • the video playback quality detection device may analyze the packet data in the byte interval to determine the first The number of data bytes corresponding to the video data and the video attribute information of the target video.
  • the video attribute information carried in each video data packet in the multiple video data packets corresponding to the target video is the same.
  • the video playback quality detection device obtains the number of data bytes corresponding to the first video data (assuming the current time is T1), it can compare the number of buffer bytes stored in the video quality detection buffer at time T1 with the above data bytes The sum is determined as the byte number update value, and the number of bytes of the buffer amount stored in the video quality detection buffer is updated to the above byte number update value.
  • the video playback quality detection device updates the number of bytes of the buffer amount stored in the video quality detection buffer, it can determine whether the number of bytes of the buffer amount stored in the updated video quality detection buffer is equal to or greater than the Set the upper limit of the buffer amount.
  • the video playback quality detection device may stop acquiring new video data packets , Until when the number of bytes of the buffer amount stored in the video quality detection buffer is less than or equal to the upper limit of the buffer amount, a new video data packet is obtained again, and the video is again processed according to the number of data bytes corresponding to the new data packet.
  • the number of buffer bytes stored in the quality inspection buffer is updated.
  • the number of bytes of the buffer amount stored in the video playback quality detection buffer is less than the upper limit of the buffer amount, each time the video playback quality detection device acquires a new video data packet, it will The number of data bytes corresponding to the data packet updates the number of buffered bytes stored in the video quality buffer until the video player receives the complete target video or the number of buffered bytes stored in the video quality detection buffer reaches the buffer Up to the upper limit.
  • the number of bytes of the buffer amount stored in the video quality detection buffer is increased according to the number of data bytes corresponding to the video data packet obtained by the video playback quality detection device, and the video can be accurately and real-time reflected.
  • the player downloads video data from the bearer network, which causes its video data buffer to increase.
  • the video playback quality detection device may obtain video frame bitstream information corresponding to the target video.
  • the video frame code stream information of the target video may include single frame code stream information corresponding to each video frame in part or all of the target video frame. Then, the video playback quality detection device may reduce the number of buffer bytes stored in the video quality detection buffer according to the video frame bitstream information corresponding to the target video and the video frame rate contained in the video attribute information, so as to reduce The number of bytes of buffering stored in the subsequent video quality detection buffer.
  • the video attribute information of the target video obtained by analyzing the first video data packet by the video playback quality detection device includes multiple system data for describing the basic attributes of the target video.
  • the video attribute information may include video identification, video format, encoding type, video bitstream size, video duration, or video frame rate, which are not limited here.
  • the data format of the video attribute information corresponding to video A is [Xxxx, .avi, H.264, 300M, 30min, 25fps].
  • the above video attribute information indicates that the video name corresponding to video A is Xxxx, the video format is .avi, the video encoding type is H.264, the video bitstream is 300Mb, the video duration is 30min, and the video frame rate is 25fps.
  • the video playback quality detection The device can obtain video frame stream information of the target video.
  • the video playback quality detection device may extract a video identifier of a target video from the above-mentioned basic video information (for convenience of understanding and description, the target identifier is used in the following description instead).
  • each of the multiple videos stored in the video resource server corresponds to only one specific video identifier.
  • the video resource server can name any video stored in the video resource library according to a uniform rule.
  • the video identifier of a video may be determined according to the three attributes of the global resource identifier, video type, and encoding format of the video resource.
  • the video identification of Video B may be film.domain.com/mp4/1080P/10001.
  • Determining the video ID for any video in the video resource library in accordance with unified rules can make the video ID uniquely correspond to the video, avoid the occurrence of an error in the matching of the video ID and the video, and ensure the accuracy of subsequent target coded video information search.
  • the video playback quality detection device After the video playback quality detection device obtains the target identifier corresponding to the target video, it can generate and send a query request to the code stream information cloud server.
  • the query request includes at least a target identifier of a target video.
  • the cloud processor of the code stream information cloud server searches for the target decoded video information that matches the target video from the cloud storage contained in the query request according to the target identifier in the query request.
  • the cloud storage includes one or more sets of decoded video information. Please refer to FIG. 3 together. FIG.
  • a set of decoded information includes at least one video's video identification and video frame bitstream information.
  • the cloud processor of the code stream information cloud server finds a set of decoded video information contained in the decoded video information from the cloud storage according to the foregoing target identifier, the target identifier of the target video can be matched with the group.
  • the decoded video information is determined as target decoded video information corresponding to the target video, and is sent to the video playback quality detection device.
  • the video playback quality detection device may extract video frame bitstream information included in the target decoded video information, and determine the video frame bitstream information corresponding to the target video.
  • the video frame code stream information includes single frame code stream information corresponding to each video frame in part or all of the target video frame. If the single-frame code stream information 1 to the single-frame code stream information n shown in the figure.
  • the single-frame code stream information corresponding to any video frame includes at least the number of code stream bytes and code stream information identifiers corresponding to any video frame. As shown in the figure, the code stream byte number k1 to the code stream byte number kn and the code stream information identifier corresponding to each code stream byte number.
  • the video frame code stream information of the target video is obtained from the code stream information cloud server through the video identification of the target video.
  • the method is simple and easy to implement. It can reduce the data processing amount of the video playback quality detection method and improve the efficiency of the video playback quality detection method.
  • the stream information cloud server may report to the video playback quality detection device.
  • Send notification of query failure After the video playback quality detection device obtains the query failure notification, it can obtain the video frame code stream information corresponding to the target video from the code stream information buffer.
  • the video frame code stream information is determined by a part or all of the decoded video frames corresponding to the target video and stored in the code stream information buffer. The part or all of the decoded video frames corresponding to the target video is determined by A part or all of the video data packets corresponding to the target video are decoded.
  • the video quality detection device may also extract the second video data video data from the second video data packet of the target video obtained by the video playback quality detection device.
  • the second video data packet corresponding to the target video may refer to any one of the video data packets corresponding to the target video, including the first video data packet.
  • the video quality detection device may extract a video encoding type corresponding to the second video data packet from the video attribute information, and determine a target decoding manner corresponding to the second video data according to the video encoding type.
  • the above video encoding types may be formats such as Mpeg, mpg, dat, MP4, etc., which are not limited here.
  • the video playback quality detection device may call a corresponding target decoder to perform a decoding operation on the second video data according to the target decoding mode to obtain the decoded second video data. Corresponding multiple decoded video frames.
  • the video playback quality detection device may be included in the decoder library associated with the decoder according to the video encoding type. Determine M available decoders. Then, the video playback quality detection device can compare the load of the M available decoders and select the available decoder with the smallest load as the target decoder. Selecting the decoder with the smallest load to perform the decoding operation can increase the decoding rate and thus the efficiency of the video playback quality detection method.
  • the video playback quality detection device After the video playback quality detection device obtains the decoded second video data, it can determine single-frame code stream information of multiple video frames corresponding to the second video data packet according to the decoded second video data.
  • the decoded second video data includes a plurality of decoded video frames. The following uses i in any one of the plurality of decoded video frames as an example.
  • the video playback quality detection device can obtain the number of picture bitstream bytes (assuming S KB) and audio code stream bytes (assuming T KB) in the decoded video frame, and then determine the i corresponding to i in the decoded video frame.
  • the number of bytes in a single frame stream is (S + T) kb.
  • the video playback quality detection device may also obtain a frame identifier corresponding to the decoded video frame i, and then determine a code stream information identifier corresponding to the decoded video frame i according to the frame identifier, and then a single frame code stream word corresponding to the decoded video frame i.
  • the number of sections and the code stream information identifier determine the single-frame code stream information corresponding to the decoded video frame i.
  • a frame identifier uniquely corresponds to a code stream information identifier.
  • the frame identifier is used to distinguish each video frame included in the video, and may correspond to a sequence relationship of each video frame in the video.
  • the code stream information identifier determined according to the frame identifier can also characterize the mutual position relationship between the single-frame code stream information. For example, assuming that frame identification 2 corresponds to the tenth video frame of the video, and frame identification 1 corresponds to the ninth video frame of the video, the single-frame code stream information corresponding to the code stream information identifier determined by frame identifier 2 can be a video frame. The 10th single-frame codestream information in the codestream information. The single-frame codestream information corresponding to the codestream information identifier determined by the frame identifier 1 may be the 9th single-frame codestream information in the video frame codestream information.
  • the video playback quality detection device repeats the foregoing operations to determine multiple single-frame code stream information corresponding to the second video data packet. Then, the video playback quality detection device may save a plurality of single-frame code stream bytes corresponding to the second video data packet to the code stream information buffer to update the target stored in the code stream information buffer.
  • Video frame stream information of the video it can be understood that because the video playback quality detection device needs a certain time to update the video frame code stream information of the target video stored in the code stream information buffer, the code stream is not updated before the update is completed.
  • the video frame code stream information stored in the information buffer is the single frame code stream information corresponding to each video frame in the partial video frame of the target video. After the update is completed, the video frame code stream information stored in the code stream information buffer can be the single frame stream information corresponding to each video frame in all the video frames of the target video.
  • the video playback quality detection device may further send the video frame code stream information of the target video stored in the code stream information buffer to the code stream information cloud server.
  • the code stream information cloud server obtains and saves video frame code stream information corresponding to the target video.
  • the video playback quality detection device may send the video frame code stream information of the target video stored in the code stream information buffer to the code stream information cloud server, and the code stream information cloud server may determine a group that is related to the above target.
  • Video associated first decoded video information The composition of the above-mentioned first decoded video information can be referred to FIG. 3 together, and will not be repeated here.
  • the code stream information cloud server may store the video frame code stream information stored in the obtained code stream information buffer in the above-mentioned first decoded video information.
  • the video frame code stream information corresponding to the target video is stored in the code stream information cloud server, so that the video frame code stream data stored in the code stream information cloud server is updated, so that the next time the target video is video
  • the video frame code stream information of the target video can be obtained directly from the code stream information cloud server.
  • the video playback quality detection device may reduce the video quality detection buffer stored in the video quality detection buffer according to the video frame rate and video frame bitstream information of the target video.
  • the number of buffered bytes, so that the reduced number of buffered bytes stored in the reduced video quality detection buffer can reflect the actual buffered amount of video data of the video player in the process of playing the target video in real time and accurately.
  • the video playback quality detection device may determine a first video frame corresponding to a start time of the target video, and determine first single-frame code stream information corresponding to the target video frame from the video frame code stream information of the target video.
  • the video playback quality detection device may obtain the number of bytes of the first bitstream included in the target single-frame bitstream information, and reduce the number of bytes of the buffer amount stored in the video quality detection buffer by the first A value corresponding to the number of bytes of the bitstream to obtain the reduced number of bytes of the buffer amount stored in the video quality detection buffer.
  • the video playback quality detection device may obtain a buffer stored in the video quality detection buffer when the first reduction period arrives.
  • the first single-frame code stream information corresponding to the reduced number of bytes.
  • the second stream identification information is determined according to the first stream identification information included in the first single-frame stream information, and the video frame code corresponding to the target video is identified according to the second stream information identifier.
  • the second single-frame code stream information is determined from the stream information.
  • the video playback quality detection device may obtain the number of bytes of the second stream included in the second single-frame code stream information, and reduce the number of bytes of the buffer amount stored in the video quality detection buffer by the second The number of bytes of the bitstream corresponds to a numerical value, so as to obtain the reduced number of bytes of the buffer amount stored in the video quality detection buffer.
  • any reduction period i after the second reduction period arrives, the same process as described above can be used to obtain the number of bytes of a single frame code stream corresponding to the reduction period i.
  • the first reduction period and the second reduction period are the same in size, and the first and second reduction periods are used only to distinguish the reduction periods at different times. For example, assuming that the video frame rate of the target video is 25 fps, that is, 25 target video frames can be played in one second, the reduction period determined by the video frame rate is 40 ms.
  • the video playback quality detection device detects the arrival of the second reduction period (that is, 40ms), it can obtain the value of the number of bytes of buffering stored in the video quality detection buffer when the first reduction period before the second reduction period arrives. Corresponding first single-frame code stream information. Then, the video playback quality detection device may determine the second single-frame code stream information according to the first code-stream information identifier in the first single-frame code stream information. For example, if the obtained first stream information identifier is 19, which indicates that the first single stream information is the 19th single stream information in the video stream information corresponding to the target video, the second stream information is identified That is 20.
  • the video playback quality detection device may determine the second single-frame code stream information from the 20th single-frame code stream information associated with the second code stream information identifier 20. Then obtaining the number of bytes of the second stream included in the information of the second single-frame code stream, and reducing the number of bytes of the buffer amount stored in the video quality detection buffer by the corresponding size of the number of bytes of the second stream Value.
  • the video playback quality detection device may further reduce the number of bytes of the buffer amount stored in the video quality detection buffer by using a preset time interval T as a preset period.
  • T is an integer multiple of the aforementioned reduction period.
  • the number of bytes of the buffer amount stored in the above-mentioned video quality detection buffer may be reduced by 125 bytes of a single frame stream to obtain a reduced number of bytes. Number of buffer bytes.
  • the determination process of the number of bytes of each single-frame code stream among the 125 bytes of single-frame code stream refer to the above-mentioned determination of the number of bytes of a single-frame code stream that is reduced when the first reduction period arrives. Second, the number of bytes in a single frame stream needs to be reduced when the period is reached.
  • the number of bytes of the buffer amount stored in the video quality detection buffer is reduced according to the video frame code stream information of the target video, which can accurately and real-time simulate the video data buffer amount of the video player during playback. Reduced amount of data during the process. It can make the subsequent playback status of the target video determined based on the buffer amount bytes stored in the reduced video quality detection buffer area real and effective, and can improve the accuracy of the video playback quality detection method.
  • S103 Determine the playback status of the target video on the video player according to the number of bytes of the buffer amount stored in the reduced video quality detection buffer.
  • the video playback quality detection device after the video playback quality detection device reduces the number of buffered bytes stored in the video quality detection buffer according to the video frame bitstream information and video frame rate of the target video, the reduced video can be made
  • the number of buffered bytes stored in the quality detection buffer can reflect the actual buffered amount of video data of the video player when it plays the target video in real time and accurately. Therefore, the video playback quality detection device can determine the playback status of the target video on the video player according to the number of bytes of the buffer amount stored in the reduced video quality detection buffer.
  • the set stuttering byte number threshold can determine that the playback status of the target video is stuttering.
  • the video playback mechanism of the video player it can be known that if the video data buffer amount in the video player is less than a certain threshold, it means that the playback resources are insufficient, and the video player will stop playing the video.
  • the video playback quality detection device determines that the number of bytes of the buffered amount after the reduction is less than or equal to a preset threshold of stalled bytes, it can be determined that the target video is in a stalled state.
  • the above-mentioned threshold for stalling bytes may be determined according to the type of the video player.
  • the threshold for stalling bytes determined by different types of video players may be different, which is not limited herein.
  • the reduced number of bytes of the buffer amount stored in the video quality detection buffer can reflect the actual buffer amount of the video data of the video player when it is playing the target video in real time and accurately. Therefore, the playback status of the target video determined on the video player according to the reduced number of buffer bytes stored in the video quality detection buffer is real, effective, and highly accurate.
  • the video playback quality detection device may determine the video playback quality of the target video according to the foregoing playback status.
  • the video playback quality detection device when the video playback quality detection device determines that the playback state of the target video on the video player is a freeze state, it can determine the number of freeze times corresponding to the target video. For example, the video playback quality detection device can record the time when the target video freeze occurs, and count the total number of times the target video freeze occurs from the start time of the video playback to the current moment. Then, the video playback quality detection device may determine whether the number of stalls of the target video is greater than or equal to a first preset number of thresholds.
  • the video playback quality detection device determines that the number of stalls corresponding to the target video is greater than or equal to the first preset stall threshold, it can be determined that the target video has poor playback quality on the video player. Conversely, the video playback quality detection device can determine that the target video has good playback quality on the video player.
  • the video playback quality detection device may further determine whether the number of stalls of the target video is greater than or equal to a second preset number of thresholds when a preset detection period arrives. If the video playback quality detection device determines that the number of stalls of the target video when the preset detection period arrives is greater than or equal to a second preset number of thresholds, it can be determined that the target video has poor playback quality on the video player.
  • the video playback quality detection device can determine that the target video has good playback quality on the video player.
  • the video playback quality of the target video is determined according to the number of stalls corresponding to the target video.
  • the method is simple and easy to implement, which can improve the efficiency and applicability of the video playback quality detection method.
  • the video playback quality detection device may stop performing the reduction according to the video frame rate of the target video and the video frame bitstream information. And a step of storing the number of bytes of the buffer amount in the video quality detection buffer.
  • the video playback quality detection device may continue to obtain new video data packets, and increase the number of buffered bytes stored in the video playback quality detection buffer according to the data byte number of the video data in the new video data packet. In this way, the video data buffering mechanism of the video player when it is stuck can be simulated simultaneously.
  • the video playback quality detection device may determine that the playback status of the target video on the video playback terminal is blocked. Switch to smooth state. At this time, the video playback quality detection device may continue to execute the step of reducing the number of buffered bytes stored in the video playback quality detection buffer according to the video frame code stream information and the video frame rate. Then, the video playback quality detection device may obtain a duration during which the playback state of the target video is switched from the freeze state to the smooth state, and update the total freeze period of the target video according to the above duration.
  • the video playback quality detection device After the video playback quality detection device obtains the total stall duration of the target video, if it is determined that the total stall duration of the target video is equal to or greater than a preset stall duration threshold, the video playback quality of the target video may be determined to be poor.
  • the video playback quality detection device may further determine whether the total stutter duration of the target video is equal to or greater than a second preset duration when a preset detection period arrives. If the video playback quality detection device determines that the total stutter duration of the target video is equal to or greater than the second preset duration, it may be determined that the video playback quality of the target video is poor.
  • the video playback status of the target video is determined by the total video pause time of the target video, which can avoid misjudgment caused by small number of video freezes but too long total video pause time, and can improve the accuracy of the video playback quality detection method.
  • the video playback quality detection device can determine the playback of the target video on the video playback terminal according to the number of bytes of the buffer amount time. For example, when the number of bytes of the buffer amount is greater than a preset playback threshold, it may be determined that the video player starts to play a target video. Real-time judgment of whether the target video on the video player starts to play according to the size of the number of bytes of the buffer amount can enable the video playback quality detection device to more fully determine the playback status of the target video on the video player, which can make the video playback quality detect The device can effectively assist the video player to provide users with a better video viewing experience.
  • the number of bytes of the buffer amount stored in the video quality detection buffer is adjusted in real time by using data byte data corresponding to the video data packet of the target video and video frame stream information of the target video, so that The number of buffered bytes stored in the video quality detection buffer can reflect the actual buffered amount of video data in real-time and accurately while the video player is playing the target video. Therefore, the playback quality of the target video on the video player can be accurately detected according to the number of bytes of the buffer amount stored in the video quality detection buffer.
  • FIG. 4 is a schematic structural diagram of a video playback quality detection device according to an embodiment of the present invention.
  • the above video playback quality detection device includes:
  • the obtaining unit 10 is configured to obtain a first video data packet of the target video from a bearer network.
  • a byte number determining unit 20 is configured to obtain a data byte of the first video data in the first video data packet when the obtaining unit 10 obtains a first video data packet of the target video from a bearer network. And determine the number of bytes of the buffer amount stored in the video playback quality detection buffer according to the number of data bytes.
  • the bearer network is a network for transmitting the target video between the video resource server and the video player.
  • the target video corresponds to a plurality of video data packets including the first video data packet.
  • the byte number reducing unit 30 is configured to reduce the video quality detection buffer according to the video frame rate of the target video and the video frame code stream information when the video frame code stream information corresponding to the target video is obtained.
  • the video frame bitstream information includes single frame bitstream information corresponding to each video frame in a part or all of the target video frame.
  • the single-frame code stream information corresponding to any video frame includes at least the number of code stream bytes and code stream information identifiers corresponding to the any video frame.
  • a playback state determining unit 40 is configured to determine the playback of the target video on the video player according to the number of bytes of the buffer amount stored in the video quality detection buffer reduced by the byte number reducing unit. status.
  • the playback quality determination unit 50 is configured to determine a video playback quality of the target video according to the playback status determined by the playback status determination unit.
  • the foregoing byte number reducing unit 30 is configured to:
  • the code stream information cloud server includes one or more groups of decoded video information.
  • the set of decoded information includes at least one video's video identification and video frame bitstream information.
  • the video broadcast quality detection device includes a code stream information buffer.
  • the byte number reducing unit 30 is further configured to:
  • the video frame code stream information is determined by a part or all of the decoded video frames corresponding to the target video and stored in the code stream information buffer. Part or all of the decoded video frames corresponding to the target video are obtained by decoding video data contained in part or all of the video data packets corresponding to the target video.
  • the video attribute information includes a video encoding type and a video frame rate
  • the byte number reducing unit 30 is further configured to:
  • Acquire second video data contained in a second video data packet corresponding to the target video Decode the second video data according to the video encoding type, and determine single-frame code stream information of multiple video frames corresponding to the second video data packet according to the decoded second video data. Saving the single-frame code stream information of multiple video frames corresponding to the second video data packet to the code stream information buffer to update the video frame code of the target video stored in the code stream information buffer Stream information.
  • the decoded second video data includes a plurality of decoded video frames.
  • the byte number reducing unit 30 is further configured to:
  • the byte number of the picture bit stream and the byte number of the audio bit stream are combined into a single frame bit stream byte number corresponding to the decoded video frame i.
  • a frame identifier corresponding to the decoded video frame i is obtained, and a code stream information identifier corresponding to the decoded video frame i is determined according to the frame identifier corresponding to the decoded video frame i.
  • the byte number reducing unit 30 is further configured to:
  • the byte number reducing unit 30 is further configured to:
  • the first reduction period determined according to the video frame rate arrives, determine the first video frame of the target video corresponding to the start time of the target video, and obtain stream information from the video frame of the target video
  • the first single-frame code stream information corresponding to the first video frame is determined.
  • the byte number reducing unit 30 is further configured to:
  • the playback state includes a stuck state
  • the playback state determining unit 40 is configured to:
  • the number of buffered bytes stored in the video playback quality detection buffer reduced by the byte number reducing unit 30 is less than or equal to a stall byte number threshold, determining that the playback status of the target video is the Stuck state.
  • the playback quality determination unit 50 is configured to:
  • the playback state determining unit 40 determines a number of freezes corresponding to the target video. If the number of stalls corresponding to the target video is greater than or equal to the first preset number of thresholds, or when the preset detection period arrives, the number of stalls corresponding to the target video is greater than or equal to the second preset number of thresholds, then It is determined that the target video has poor video playback quality.
  • FIG. 5 is another schematic structural diagram of a video playback quality detection device according to an embodiment of the present invention.
  • the video playback quality detection device further includes:
  • the playing state switching unit 60 is configured to trigger the byte number reducing unit 30 to stop executing the reducing of a buffer stored in the video quality detection buffer according to a video frame rate of the target video and the video frame code stream information. Measure the number of bytes.
  • the byte number reducing unit 30 Until the number of buffered bytes stored in the video quality detection buffer is greater than or equal to a preset smooth byte threshold, determining that the playback state of the target video is switched from the frozen state to the smooth state And triggering the byte number reducing unit 30 to continue to perform the step of reducing the number of bytes of the buffer amount stored in the video quality detection buffer according to the video frame rate of the target video and the video frame bitstream information. . Updating the total duration of the stutter of the target video according to the duration between switching from the stutter state to the smooth state of the playback state of the target video.
  • the playback quality determination unit 50 is configured to: if the total video frame duration of the target video determined by the playback state switching unit 60 is equal to or greater than a first preset video frame duration, or when a preset detection period arrives, the target If the total stutter duration of the video is equal to or greater than the second preset stutter duration, it is determined that the playback quality of the target video is poor.
  • the obtaining unit 10 may monitor in real time whether the video player sends a video playback request to the video resource server to obtain a target video.
  • the target video is the video to be detected. If the obtaining unit 10 detects the video playback request, the first video data packet of the target video may be obtained from the bearer network when the video resource server sends the target video to the video player.
  • the target video may correspond to multiple video data packets, and the first video data packet may refer to any one of the multiple video data packets.
  • the obtaining unit 10 may obtain the first video data packet of the target video from the bearer network in a port mirroring manner.
  • the obtaining unit 10 may set port mirroring at the output port of the core layer or the aggregation layer of the bearer network, and copy and obtain the first video data packet carrying the target video transmitted by the network through the port mirroring.
  • the obtaining unit 10 may also obtain the first video data packet of the target video from the bearer network through the optical splitter.
  • the byte number determining unit 20 may obtain the data byte number of the first video data included in the first video data packet. Then, the byte number determining unit 20 may determine the number of bytes of the buffer amount stored in the video quality detection buffer according to the number of data bytes of the first video data.
  • the above-mentioned number of buffer bytes refers to the number of data bytes of the video data that the obtaining unit 10 has downloaded from the bearer network to the local but has not been reduced by simulating the video player to perform video playback.
  • the number of bytes determining unit 20 determines the number of bytes of the buffer stored in the video quality detection buffer according to the number of data bytes of the first video data. For details, refer to determining the storage in the video quality detection buffer described in step S101 in the embodiment. The process of buffering the number of bytes is not repeated here.
  • the byte number reducing unit 30 may obtain video frame bitstream information corresponding to the target video.
  • the video frame code stream information of the target video may include single frame code stream information corresponding to each video frame in part or all of the target video frame.
  • the byte number reducing unit 30 may perform a buffering operation on the buffer quantity words stored in the video quality detection buffer according to the video frame bitstream information corresponding to the target video and the video frame rate included in the video attribute information obtained by the byte number determining unit 20. The number of sections is reduced to obtain the reduced number of bytes of buffers stored in the video quality detection buffer.
  • step S102 The process of reducing the number of bytes of the buffer amount stored in the video quality detection buffer according to the video frame bitstream information corresponding to the target video and the video frame rate of the target video can be referred to step S102 in the first embodiment.
  • the process of reducing the number of bytes of the buffer amount stored in the video quality detection buffer according to the video frame bitstream information and video frame rate corresponding to the target video is described in the description, and is not repeated here.
  • the playback quality determination unit 40 may determine the playback status of the target video on the video player according to the number of buffered bytes stored in the reduced video quality detection buffer obtained by the byte number reduction unit 30. For the process of the playback quality determination unit 40 determining the playback status of the target video on the video player, refer to the step S103 in the embodiment for determining the number of bytes of the buffer amount stored in the reduced video quality detection buffer. The process of displaying the playback status of the target video on the video player will not be repeated here.
  • the playback quality determination unit 50 may determine the number of stalls corresponding to the target video. Then, the playback quality determination unit 50 may determine the video playback quality of the target video according to the number of stalls corresponding to the target video. For the specific process, refer to the process of determining the video playback quality of the target video according to the number of stalls corresponding to the target video described in step S104 in the first embodiment, which will not be repeated here.
  • the playback status switching unit 60 may trigger the byte number reduction unit 30 to stop executing the video frame rate according to the target video. And the step of reducing the number of buffered bytes stored in the video quality detection buffer with the video frame bitstream information. Synchronize the video data buffering mechanism when the video player is stuck.
  • the obtaining unit 10 may continue to obtain a new video data packet, and the byte number confirmation unit 20 may perform a buffering operation on the video playback quality detection buffer according to the number of data bytes of the video data in the new video data packet. The number of knots is increased.
  • the playback state switching unit 60 may determine that the playback status of the target video on the video playback terminal is blocked. Switch to smooth state.
  • the playback state switching unit 60 may trigger the byte number reduction unit 30 to continue performing the reduction of the number of bytes of the buffer amount stored in the video quality detection buffer according to the video frame rate of the target video and the video frame code stream information.
  • the playback quality determination unit 50 may record the duration of the playback state of the target video from the freeze state to the smooth state, and update the total freeze time of the target video according to the above duration.
  • the playback quality determination unit 50 may determine the video playback quality of the target video according to the total frame duration of the target video. For the specific process, refer to the process of determining the video playback quality of the target video according to the total pause time of the target video described in step S104 in the first embodiment, which will not be repeated here.
  • the playback state determination unit 40 may also determine the playback time of the target video on the video playback terminal according to the number of bytes of the buffer amount. For the specific process, refer to the determination process described in step S104 of the first embodiment, and details are not described herein again.
  • the number of bytes of the buffer amount stored in the video quality detection buffer is adjusted in real time by using data byte data corresponding to the video data packet of the target video and video frame stream information of the target video, so that The number of buffered bytes stored in the video quality detection buffer can reflect the actual buffered amount of video data in real-time and accurately while the video player is playing the target video. Therefore, the playback quality of the target video on the video player can be accurately detected according to the number of bytes of the buffer amount stored in the video quality detection buffer.
  • FIG. 6 is a schematic structural diagram of a cloud code stream information server according to an embodiment of the present invention.
  • the cloud code stream information server includes a cloud cloud processor 601 and a cloud cloud storage 602.
  • the cloud storage 602 stores one or more sets of decoded video information, and the one or more sets of decoded information is used to determine a video identifier and a video frame code of each video in the one or more videos including the target video. Stream information.
  • the cloud processor 601 is configured to receive a query request sent by the video playback quality detection device, where the query request includes a video identifier of the target video. Then, the target decoded video information is searched from the cloud storage 602 according to the video identification of the target video. Then, the target decoded video information is sent to the video playback quality detection device.
  • the target decoded video information is used to determine video frame bitstream information of the target video.
  • the video frame bitstream information of the target video is used to determine the number of bytes of the buffer amount stored in the reduced video quality detection buffer. The reduced number of buffer bytes stored in the video quality detection buffer is used to determine the video playback quality of the target video.
  • the cloud processor 601 is further configured to send a query failure notification to the video playback quality detection device.
  • the cloud processor 601 is further configured to obtain the target video data. Decoding the video data according to a video encoding type of the target video, and determining single-frame code stream information of multiple video frames corresponding to the video data packet according to the decoded video data. Then, the single-frame code stream information of multiple video frames corresponding to the video data packet is saved to the cloud storage.
  • the cloud code stream information server is connected to multiple video playback quality detection devices. If the target decoded video information cannot be found, the cloud processor 601 is further configured to obtain a decoding load parameter of each video playback quality detection device of the multiple video playback quality detection devices. Then, one or more idle video playback quality detection devices in the multiple video playback quality detection devices are determined according to decoding load parameters of the video playback quality detection devices. Then, the cloud processor 601 determines a target idle video playback quality detection device from the one or more idle video playback quality detection devices, and determines a video frame of the target video through the target idle video playback quality detection device. Stream information.
  • the cloud processor 601 is configured to receive and save video frame bitstream information of a target video sent by the video playback quality detection device.
  • the video frame code stream information of the target video is stored in a code stream information buffer in a video playback quality detection device.
  • FIG. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
  • the electronic device provided by the embodiment of the present invention includes a processor 701, a memory 702, and a bus system 703.
  • the processor 701 and the memory 702 are connected through a bus system 703.
  • the memory 702 is used to store programs. Specifically, the program may include program code, and the program code includes a computer operation instruction.
  • the memory 702 includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or Compact read-only memory (CD-ROM). Only one memory is shown in FIG. 7. Of course, a plurality of memories may be provided as required.
  • the memory 702 may also be a memory in the processor 701, which is not limited herein.
  • the memory 702 stores the following elements, executable modules or data structures, or a subset thereof, or an extended set thereof:
  • Operation instructions Includes various operation instructions for implementing various operations.
  • Operating system Includes various system programs for implementing various basic services and processing hardware-based tasks.
  • the processor 701 controls the operation of the electronic device.
  • the processor 701 may be one or more central processing units (CPUs).
  • CPUs central processing units
  • the CPU may be a single-core CPU or a multi-core CPU.
  • the bus system 703 may include a power bus, a control bus, and a status signal bus in addition to a data bus.
  • various buses are marked as the bus system 703 in FIG. 7.
  • FIG. 7 is only schematically drawn.
  • the video playback quality detection method disclosed in the embodiment of the present invention may be applied to the processor 701, or implemented by the processor 701.
  • the processor 701 may be an integrated circuit chip and has a signal processing capability.
  • a computer-readable storage medium is provided in an embodiment of the present invention.
  • the computer-readable storage medium stores instructions. When the instructions are run on a computer, a video playback described in the first embodiment can be implemented. Quality inspection methods.
  • the computer-readable storage medium may be an internal storage unit of the video playback quality detection device according to any of the foregoing embodiments, such as a hard disk or a memory of the video playback quality detection device.
  • the computer-readable storage medium may also be an external storage device of the terminal device, such as a plug-in hard disk, a Smart Media Card (SMC), and a Secure Digital (SD) card provided on the terminal device. , Flash card (Flash card) and so on.
  • the computer-readable storage medium may further include both an internal storage unit of the terminal device and an external storage device.
  • the computer-readable storage medium is used to store the computer program and other programs and data required by the terminal device.
  • the computer-readable storage medium described above may also be used to temporarily store data that has been or will be output.

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

一种视频播放质量检测方法和装置
本申请要求了2018年6月30日提交的,申请号为CN 201810704809.0,发明名称为“一种视频播放质量检测方法和装置”的中国申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域,尤其涉及一种视频播放质量检测方法和检测装置。
背景技术
随着科学技术的不断发展,网络视频业务实现了突破性的发展,其已成为各大运营商的基础业务。而随着视频业务的不断普及,人们对视频业务的播放质量要求也在不断的上升。如,人们会要求更高的视频清晰度、更好的视频播放质量。因此,如何保障视频业务的视频播放质量已经成为视频业务技术领域的一大研究热点。
现有的视频播放质量检测方法,一般是通过用户主动发送的视频播放质量反馈信息或故障举报信息来确定出视频播放质量,再对视频业务进行及时的故障定位、故障隔离和纠正,以此来提升视频业务的业务质量。但是,现有的视频播放质量检测方法需要依赖用户主动反馈的信息,若用户反馈的信息不及时或者不准确,则会降低播放质量检测方法的实时性和准确率。因此,现有的视频播放质量检测方法用户体验差,准确率低。
发明内容
本发明实施提供了一种视频播放质量检测方法和检测装置。可提升视频质量检测的用户体验和准确率。
第一方面,本发明实施例提供了一种视频播放质量检测方法。上述方法适用于目标视频的视频播放质量检测,上述目标视频由视频资源服务器传输至视频播放器。从承载网络中获取到目标视频的第一视频数据包,再获取上述第一视频数据包中包含的第一视频数据的数据字节数。然后,根据上述视频字节数确定出视频质量检测缓冲区中存储的缓冲量字节数。这里,上述承载网络为介于视频资源服务器和视频播放器之间用于传输上述目标视频的网络,上述目标视频对应包括上述第一视频数据包在内的多个视频数据包。获取到上述目标视频对应的视频帧码流信息,根据上述目标视频的视频帧率和上述视频帧码流信息减少上述视频质量检测缓冲区中存储的缓冲量字节数。这里,上述视频帧码流信息中包括上述目标视频的部分或者全部视频帧中各视频帧对应的单帧码流信息。任一视频帧对应的单帧码流信息至少包括上述任一视频帧对应的码流字节数和码流信息标识。然后,根据减少后的上述视频质量检测缓冲区中存储的缓冲量字节数确定出上述目标视频在上述视频播放器上播放的播放状态。最后,根据上述播放状态确定上述目标视频的视频播放质量。
在本发实施例中,通过目标视频的视频数据包对应的数据字节数据和目标视频的视频帧码流信息实时的对视频质量检测缓冲区中存储的缓冲量字节数进行调整,以使得视频质量检测缓冲区中存储的缓冲量字节数能够实时且准确的反映出视频播放器播放目标视频过程中视频数据的实际缓冲量。从而根据视频质量检测缓冲区中存储的缓冲量字节数即可准确 检测出目标视频在视频播放器上的播放质量。通过上述操作,可提升视频质量检测方法的实时性和准确率,可提升视频质量检测方法的的用户体验。
在一些可行的实施方式中,可获取上述目标视频的视频属性信息,再根据上述视频属性信息确定出目标视频的视频标识。这里,上述视频属性信息可包括视频标识、编码格式、视频帧率、视频时长、视频码流大小等,此处不做限定。一个视频标识唯一对应一个视频。若根据上述视频标识在码流信息云服务器中匹配到目标已解码视频信息,则根据上述目标已解码视频信息确定出目标视频对应的视频帧码流信息。这里,上述码流信息云服务器中包括一组或多组已解码视频信息,一组已解码信息中至少包括一个视频的视频标识和视频帧码流信息。通过目标视频的视频标识从码流信息云服务器中获取到目标视频的视频帧码流信息,方法简单,易于实现。可降低视频播放质量检测方法的数据处理量,提升视频播放质量检测方法的效率。
在一些可行的实施方式中,上述视频播放质量检测装置包含码流信息缓冲区。若根据所述视频标识在所述云码流信息服务器中匹配不到所述目标已解码视频信息,则可从码流信息缓冲区中获取所述目标视频对应的视频帧码流信息。这里,所述视频帧码流信息由所述目标视频对应的部分或者全部已解码视频帧确定并存储于所述码流信息缓冲区中,所述目标视频对应的部分或全部已解码视频帧由所述目标视频对应的部分或者全部视频数据包中包含的视频数据解码得到。
在一些可行的实施方式中,可获取所述目标视频对应的第二视频数据包中包含的第二视频数据。再根据所述视频编码类型确定出目标解码方式,根据上述目标解码方式对所述第二视频数据进行解码。再根据解码后的所述第二视频数据确定出所述第二视频数据包对应的多个视频帧的单帧码流信息。最后,将所述第二视频数据包对应的多个视频帧的单帧码流信息保存至所述码流信息缓冲区,以更新所述码流信息缓冲区中存储的所述目标视频的视频帧码流信息。这里,上述目标视频对应的第二视频数据包可指代目标视频对应的对个视频数据包中的任意一个视频数据包。通过对目标视频的视频数据包中的视频数据进行解码,并根据解码后的视频数据确定出目标视频的视频帧码流信息,可使得后续根据目标视频的视频帧码流信息减少后的视频质量检测缓冲区中存储的缓冲量字节数更准确,可提升视频播放质量检测方法的准确率。
在一些可行的实施方式中,所述解码后的所述第二视频数据包括多个解码视频帧。可对所述多个解码视频帧中任一解码视频帧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对应的画面码流字节数(假设为S kb)和音频码流字节数(假设为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 programmable read 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所述的系统,其特征在于,所述系统还包括:
    视频播放器,用于通过承载网络从所述视频服务器中获取视频并播放。
PCT/CN2019/091619 2018-06-30 2019-06-18 一种视频播放质量检测方法和装置 WO2020001315A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19827407.8A EP3800894A4 (en) 2018-06-30 2019-06-18 METHOD AND DEVICE FOR DETERMINING THE QUALITY OF VIDEO PLAYBACK
US17/136,672 US11563992B2 (en) 2018-06-30 2020-12-29 Video playback quality detection method and apparatus

Applications Claiming Priority (2)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/136,672 Continuation US11563992B2 (en) 2018-06-30 2020-12-29 Video playback quality detection method and apparatus

Publications (1)

Publication Number Publication Date
WO2020001315A1 true WO2020001315A1 (zh) 2020-01-02

Family

ID=68984706

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/091619 WO2020001315A1 (zh) 2018-06-30 2019-06-18 一种视频播放质量检测方法和装置

Country Status (4)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511818A (zh) * 2020-11-24 2021-03-16 上海哔哩哔哩科技有限公司 视频播放质量检测方法、装置

Families Citing this family (4)

* 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
CN113766212A (zh) * 2021-08-30 2021-12-07 浪潮电子信息产业股份有限公司 一种视频解码功能的测试方法、测试装置及测试设备
CN114245198B (zh) * 2021-12-17 2024-02-06 北京达佳互联信息技术有限公司 媒体内容的处理方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130182177A1 (en) * 2012-01-18 2013-07-18 John Furlan Systems and methods for improving video stutter in high resolution progressive video
CN104639955A (zh) * 2015-03-09 2015-05-20 德科仕通信(上海)有限公司 检测mpeg2-ts vbr码流质量问题的方法
CN105491403A (zh) * 2014-10-10 2016-04-13 中国电信股份有限公司 用于评估视频实时传输质量的方法和系统
US9326046B1 (en) * 2015-03-19 2016-04-26 Amazon Technologies, Inc. Uninterrupted playback of video streams using lower quality cached files
CN106851341A (zh) * 2015-12-04 2017-06-13 中国电信股份有限公司 用于测量网络视频传送质量的方法和移动终端

Family Cites Families (13)

* 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
PL2615833T3 (pl) * 2006-10-19 2014-10-31 Ericsson Telefon Ab L M Sposób określania jakości obrazu video
CN101426146B (zh) * 2007-11-02 2010-07-28 华为技术有限公司 多媒体业务的实现方法及媒体业务的处理装置
WO2010019471A1 (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
US9485298B2 (en) * 2010-10-28 2016-11-01 Netscout Systems Texas, Llc Device with video buffer modeling and methods for use therewith
US8914534B2 (en) * 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US10389780B2 (en) * 2012-02-08 2019-08-20 Arris Enterprises Llc Managed adaptive streaming
CN103702240A (zh) * 2013-12-06 2014-04-02 乐视网信息技术(北京)股份有限公司 一种视频播放的方法和设备
CN104717555B (zh) * 2013-12-11 2018-01-02 华为技术有限公司 视频码流的获取方法及装置
US9432662B2 (en) * 2014-11-25 2016-08-30 Echostar Technologies L.L.C. Systems and methods for picture quality monitoring
CN105657498B (zh) * 2016-02-17 2018-11-06 腾讯科技(深圳)有限公司 移动终端的视频录制方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130182177A1 (en) * 2012-01-18 2013-07-18 John Furlan Systems and methods for improving video stutter in high resolution progressive video
CN105491403A (zh) * 2014-10-10 2016-04-13 中国电信股份有限公司 用于评估视频实时传输质量的方法和系统
CN104639955A (zh) * 2015-03-09 2015-05-20 德科仕通信(上海)有限公司 检测mpeg2-ts vbr码流质量问题的方法
US9326046B1 (en) * 2015-03-19 2016-04-26 Amazon Technologies, Inc. Uninterrupted playback of video streams using lower quality cached files
CN106851341A (zh) * 2015-12-04 2017-06-13 中国电信股份有限公司 用于测量网络视频传送质量的方法和移动终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3800894A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511818A (zh) * 2020-11-24 2021-03-16 上海哔哩哔哩科技有限公司 视频播放质量检测方法、装置

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2020001315A1 (zh) 一种视频播放质量检测方法和装置
WO2023024834A9 (zh) 一种游戏数据处理方法、装置及存储介质
CN112653700B (zh) 一种基于webrtc网页视频通信的方法
WO2020029935A1 (zh) 视频直播处理方法、装置及终端
WO2018076998A1 (zh) 一种回放视频文件的生成方法和装置
US11182425B2 (en) Audio processing method, server, user equipment, and system
JP2013038766A (ja) 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
US10838691B2 (en) Method and apparatus of audio/video switching
CN108174280B (zh) 一种音视频在线播放方法及系统
CN111601136B (zh) 一种视频数据处理方法、装置、计算机设备及存储介质
WO2020155964A1 (zh) 音视频的切换方法、装置、计算机设备及可读存储介质
CN111182322B (zh) 一种导播控制方法、装置、电子设备和存储介质
CN108259998B (zh) 播放器及播放控制方法、装置、电子设备及播放系统
WO2017113708A1 (zh) 视频播放方法及装置
WO2015196827A1 (zh) 显示设备及其共享控制方法
JP2023511019A (ja) ビデオ処理方法、装置、コンピュータデバイスおよびコンピュータプログラム
WO2019134499A1 (zh) 一种用于对视频帧进行实时标注的方法与设备
CN111352605A (zh) 一种音频播放、发送的方法及装置
WO2021017958A1 (zh) 视频转码方法及装置
WO2024001661A1 (zh) 视频合成方法、装置、设备和存储介质
TWI493362B (zh) 針對多媒體內容支援瀏覽器之服務
CN108566552B (zh) 适用于数字机顶盒的多媒体播放方法及系统
CN108012085B (zh) 一种多媒体信息处理方法、服务器及存储介质
JP6294527B2 (ja) 送信装置、送信方法、再生装置、及び再生方法
CN112911390B (zh) 一种视频数据的播放方法及终端设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19827407

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019827407

Country of ref document: EP

Effective date: 20201228