CN116962663A - 视频卡顿检测方法、装置、设备及计算机可读存储介质 - Google Patents

视频卡顿检测方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN116962663A
CN116962663A CN202310110537.2A CN202310110537A CN116962663A CN 116962663 A CN116962663 A CN 116962663A CN 202310110537 A CN202310110537 A CN 202310110537A CN 116962663 A CN116962663 A CN 116962663A
Authority
CN
China
Prior art keywords
video
frame data
data packets
time interval
data packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310110537.2A
Other languages
English (en)
Inventor
温力
熊婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310110537.2A priority Critical patent/CN116962663A/zh
Publication of CN116962663A publication Critical patent/CN116962663A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供了一种视频卡顿检测方法、装置、设备及计算机可读存储介质;方法包括:获取待检测的视频;解析待检测的视频中待解码的多个帧数据包,得到每个帧数据包的显示时间戳以及体积;基于多个帧数据包的显示时间戳,将多个帧数据包聚合到多个时间区间;获取每个时间区间包括的帧数据包的体积与有效包体积阈值的比较结果,基于比较结果识别出每个时间区间中的有效帧数据包;基于每个时间区间中的有效帧数据包,生成视频的卡顿检测结果。通过本申请,能够在不解码视频的基础上准确和高效地检测视频的卡顿情况。

Description

视频卡顿检测方法、装置、设备及计算机可读存储介质
技术领域
本申请涉及视频处理技术,尤其涉及一种视频卡顿检测方法、装置、设备及计算机可读存储介质。
背景技术
多媒体技术的快速发展,使得对多媒体文件(比如视频,广告等)的用户体验程度的要求越来越高,其中,视频播放的流畅程度是用户比较关心的问题。
相关技术的视频卡顿检测中通常是基于视频的平均帧率、平均码率,或者基于帧间关系进行识别,但是基于视频的平均帧率、平均码率进行识别时只能够反映视频整体表现,难以识别出局部卡顿的情况;而基于帧间关系进行识别虽然能够得到比较精确的结果,但是进行图像矩阵计算需要耗费大量的算力资源,在生产环境海量待检视频的背景下,该方法投入产出比过低,难以正式投入使用。
发明内容
本申请实施例提供一种视频卡顿检测方法、装置、设备及计算机可读存储介质,能够在不解码视频的基础上准确和高效地检测视频的卡顿情况。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种视频卡顿检测方法,所述方法包括:
获取待检测的视频;
解析所述待检测的视频中待解码的多个帧数据包,得到每个所述帧数据包的显示时间戳以及体积;
基于所述多个帧数据包的显示时间戳,将所述多个帧数据包聚合到多个时间区间;
获取每个时间区间包括的所述帧数据包的体积与有效包体积阈值的比较结果,基于所述比较结果识别出所述每个时间区间中的有效帧数据包;
基于所述每个时间区间中的有效帧数据包,生成所述视频的卡顿检测结果。
本申请实施例提供一种视频卡顿检测装置,所述视频卡顿检测装置包括:
获取模块,用于获取待检测的视频;
解析模块,用于解析所述待检测的视频中待解码的多个帧数据包,得到每个所述帧数据包的显示时间戳以及体积;
聚合模块,用于基于所述多个帧数据包的显示时间戳,将所述多个帧数据包聚合到多个时间区间;
识别模块,用于获取每个时间区间包括的所述帧数据包的体积与有效包体积阈值的比较结果,基于所述比较结果识别出所述每个时间区间中的有效帧数据包;
生成模块,用于基于所述每个时间区间中的有效帧数据包,生成所述视频的卡顿检测结果。
本申请实施例提供一种电子设备,所述电子设备包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的视频卡顿检测方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的视频卡顿检测方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或计算机可执行指令,述计算机程序或计算机可执行指令被处理器执行时,实现本申请实施例提供的视频卡顿检测方法。
本申请实施例具有以下有益效果:
通过解析待检测的视频中待解码的多个帧数据包,得到每个帧数据包的显示时间戳以及体积,可以精准地获取每个帧数据包的数据进行检测,解决了常规非解码流程获取数据做检测的不精准问题;然后基于帧数据包的显示时间戳将帧数据包聚合到多个时间区间,以便于对每个时间区间内的帧数据包进行分析;然后再针对每个时间区间包括的每个帧数据包的体积与有效包体积阈值进行比较,以得到每个时间区间中的有效帧数据包,最后对每个时间区间中的有效帧数据包进行分析,以生成视频的卡顿检测结果。由于不需要解码视频,能够很大程度上减少机器资源的消耗,同时也提升了整体检测速度,尤其适用于高并发视频检测场景。
附图说明
图1A是本申请实施例提供的视频卡顿检测系统100的架构示意图;
图1B是本申请实施例提供的视频卡顿检测系统100应用于区块链系统600的一种结构示意图;
图1C是本申请实施例提供的区块结构(Block Structure)的一个可选的示意图;
图2是本申请实施例提供的电子设备400的结构示意图;
图3A-3C是本申请实施例提供的视频卡顿检测方法的流程示意图;
图3D-3F是本申请实施例提供的获取有效包体积阈值的流程示意图;
图4是本申请实施例提供的全连接神经网络示意图;
图5是本申请实施例提供的视频的帧间关系示意图;
图6是本申请实施例提供的对帧数据包列表进行时间区间划分的示意图;
图7是本申请实施例提供的视频卡顿检测方法的一种实施流程图;
图8是本申请实施例提供的聚合计算流程的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)I帧:帧内编码帧(Intra Picture),通常是一组完整的视频帧(Group ofPictures,GOP)(MPEG所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,作为随机访问的参考点,可以当成图像,I帧可以看成是一个图像经过压缩后的产物。
2)P帧:前向预测编码帧(predictive frame),通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数量的编码图像,也叫预测帧。
3)B帧:双向预测内插编码帧(bi-directional interpolated predictionframe),是一种既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之间的时间冗余信息来压缩传输数量的编码图像,也叫双向预测帧。
4)显示时间戳(Presentation Time Stamp,PTS):主要用于度量解码后的视频帧什么时候被显示出来。
5)FFmpeg:FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
6)深度神经网络(Deep Neural Networks,DNN):是深度学习的一种框架,具备至少一个隐层的神经网络,与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。
相关技术在对视频的卡顿进行检测时,通常是基于视频的平均帧率、平均码率进行卡顿识别,这两个数据是在衡量视频是否卡顿时最常的指标,可以较为直观地反映视频整体卡顿情况,但是对于局部卡顿的情况,均值却难以体现出问题。例如一个5s的视频,时间区间为1s,每个时间区间内的传输帧数(Frames Per Second,FPS)分别为5、30、30、30、30,平均帧率为25,处于正常范围,但是第一秒实际只渲染了5帧,卡顿较为严重,但是基于平均帧率却并不能发现局部出现卡顿。还有另一种检测方式是基于视频帧之间的关系进行识别,即通过计算机视觉技术手段计算相邻两张视频帧之间的差异量化值,通常能够得到比较精确的结果,但是进行图像矩阵计算需要耗费大量的算力资源对视频进行解码识别,在生产环境海量待检视频的背景下,该方法投入产出比较低,难以正式投入使用。
本申请实施例提供一种视频卡顿检测方法、装置、设备、计算机可读存储介质和计算机程序产品,能够在不解码视频的基础上准确和高效地检测视频的卡顿情况,下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为笔记本电脑、平板电脑、台式计算机、机顶盒、移动设备(例如,移动电话、便携式音乐播放器、个人数字助理、专用消息设备、便携式游戏设备)、车载终端等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为终端或服务器时示例性应用。
参见图1A,图1A是本申请实施例提供的视频卡顿检测系统100的架构示意图,为实现支撑一个视频卡顿检测应用,终端200通过网络300连接服务器500,网络300可以是广域网或者局域网,又或者是二者的组合。
终端200用于获取待检测视频的地址,例如可以是在终端200本地保存的视频的地址,也可以是网络视频地址或者直播流地址;终端200通过网络300将待检测视频的地址发送至服务器500,服务器500基于视频地址获取待检测视频,并对待检测视频进行卡顿检测,得到视频卡顿检测结果,然后将视频卡顿检测结果通过网络300发送至终端200,以使终端200将视频卡顿检测结果展示在显示界面,供用户查看。
在一些实施例中,服务器500可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,本申请实施例提供的视频卡顿检测方法可以由各种电子设备实施,例如,可以由终端单独实施,也可以由服务器单独实施,也可以由终端和服务器协同实施。例如终端独自执行本申请实施例提供的视频卡顿检测方法,或者,终端向服务器发送针对待检测视频的卡顿检测请求,服务器根据接收的待检测视频的卡顿检测请求执行本申请实施例提供的视频卡顿检测方法。
本申请实施例可以借助区块链技术实现,参见图1B,图1B是本申请实施例提供的视频卡顿检测系统100应用于区块链系统600的一种结构示意图,其中,该分布式系统600可以是由多个节点700(接入网络中的任意形式的计算设备,如服务器、用户终端)和终端200形成的分布式节点,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如图1A示出的服务器500、终端200都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1B示出的区块链系统中各节点的功能,下面对区块链系统中各节点涉及的功能进行详细介绍:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
4)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的事务达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(PoW,Proof of Work)、权益证明(PoS,Pr oof of Stake)、股份授权证明(DPoS,Delegated Proof-of-Stake)、消逝时间量证明(PoET,Proof of Elapsed Time)等。
参见图1C,图1C是本申请实施例提供的区块结构(Block Structure)的一个可选的示意图,每个区块中包括本区块存储事务的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
在本申请实施例中,可以将待检测视频和卡顿检测结果发送到分布式系统600的区块链网络中,以使区块链网络中的节点对基于待检测视频和卡顿检测结果进行共识处理,即区块链网络中的各节点分别计算卡顿检测结果,并与接收的卡顿检测结果比对,如果比对一致,则签署数字签名;当卡顿检测结果通过共识处理成功,即收集到足够的数字签名时,将卡顿检测结果存储到节点的区块链中。由于系统中各个节点同时参与记录视频卡顿检测结果数据,每个节点都保留一份相同且完整的账本,单个节点被摧毁不会影响整个账本及记录数据的完整性,极大地提高了数据的安全性。
以电子设备是上述的终端为例说明电子设备的结构,参见图2,图2是本申请实施例提供的电子设备400的结构示意图,图2所示的电子设备400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(Digital Signal Processor,DSP),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(Random Access Memory,RA M)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(Universal Serial Bus,USB)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450中的视频卡顿检测装置455,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块4551、解析模块4552、聚合模块4553、识别模块4554、生成模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
将结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的视频卡顿检测方法。
下面,说明本申请实施例提供的视频卡顿检测方法,如前所述,实现本申请实施例的视频卡顿检测方法的电子设备可以是终端、服务器,又或者是二者的结合。因此下文中不再重复说明各个步骤的执行主体。
参见图3A,图3A是本申请实施例提供的视频卡顿检测方法的流程示意图,将结合图3A示出的步骤进行说明。
在步骤101中,获取待检测的视频。
在一些实施例中,可以先获取视频地址,然后从视频地址获取待检测的视频。视频地址类型可以为电子设备的本地视频地址(例如“/data/test/mp4”)、网络视频地址以及直播流地址,其中网络视频地址可以采用指向统一资源定位符(Uniform ResourceLocation,URL)的形式。从视频地址获取待检测视频可以通过以下方式“python freeze_dectect_by_packets.py/data/test.mp4”。
在步骤102中,解析待检测的视频中待解码的多个帧数据包,得到每个帧数据包的显示时间戳以及体积。
在一些实施例中,可以调用视频处理工具(例如FFmpeg)读取待检测的视频,对待检测的视频中所包括的待解码的多个帧数据包的全部或者部分进行解析,得到由多个帧数据包的显示时间戳(PTS)以及体积信息(size)组成的列表,帧数据包即视频中每个图像帧的数据包。
在本申请实施例中,由于对待检测视频的解析是发生在是视频的非解码阶段,因此能够以较快的速度得到视频中待解码的多个帧数据包的信息,进而能够以较快的速度完成检测。
在步骤103中,基于多个帧数据包的显示时间戳,将多个帧数据包聚合到多个时间区间。
在一些实施例中,参见图3B,图3B是本申请实施例提供的视频卡顿检测方法的流程示意图,图3A中示出的步骤103,可以通过以下步骤1031以及针对每个帧数据包执行步骤1032和步骤1033实现,下面结合具体步骤说明。
在步骤1031中,以第1个帧数据包的显示时间戳为第一个时间区间的起始时间,生成长度相同的多个时间区间。
在一些实施例中,参见图6,图6是本申请实施例提供的对帧数据包列表进行时间区间划分的示意图,列表中包括解析帧数据包得到的每个帧数据包在其所属的视频中的时间(PTS)以及每个帧数据包的体积(size)。多个时间区间的长度是相同的,例如可以为1s或者3s,每个时间区间之间可以是连续的,或者是有一定的时间间隔的,如图6所示,如果以第一个帧数据包的显示时间戳(PTS为0.000000)为第一个时间区间的起始时间,以0.5s为时间区间且时间区间连续时,则可以为图6中的多个帧数据包划分三个时间区间。
在步骤1032中,确定帧数据包的显示时间戳在多个时间区间中所处的目标时间区间。
在一些实施例中,继续参见图6,例如某个帧数据包的显示时间戳为0.045000,时间区间为0.5时,可以确定这个帧数据包属于第一个时间区间。
在步骤1033中,将帧数据包聚合到目标时间区间中。
在一些实施例中,继续参见图6,根据帧数据包的显示时间戳将帧数据包聚合待目标时间区间中,例如第一个时间区间聚合显示时间戳为0.000000至0.499000的帧数据包,第二个时间区间聚合显示时间戳为0.500000至0.999000的帧数据包。
继续参见图3A,在步骤104中,获取每个时间区间包括的帧数据包的体积与有效包体积阈值的比较结果。
在一些实施例中,参见图3D,图3D是本申请实施例提供的获取有效包体积阈值的流程示意图,步骤104中的有效包体积阈值可以通过图3D示出的步骤201至步骤202,并针对每个候选体积阈值执行步骤203至步骤205获得,下面结合具体步骤说明。
在步骤201中,获取多个视频样本。
在一些实施例中,视频样本的类型包括卡顿视频样本和非卡顿视频样本。
在步骤202中,获取多个候选体积阈值。
在一些实施示例中,响应于设置操作获取人工设置的多个候选体积阈值,例如3000、2500、2000等,并针对每个候选体积阈值执行步骤203至步骤205。
在步骤203中,基于候选体积阈值获取多个视频样本的卡顿检测结果。
在一些实施例中,参见图3E,图3E是本申请实施例提供的获取有效包体积阈值的流程示意图,图3D中示出的步骤203可以通过图3E中针对每个视频样本执行步骤2031至步骤2034实现,下面结合具体步骤进行说明。
在步骤2031中,解析视频样本中待解码的多个样本帧数据包,得到每个样本帧数据包的显示时间戳以及体积。
在一些实施例中,可以调用视频处理工具(例如FFmpeg)读取视频样本,对视频样本中所包括的待解码的多个样本帧数据包的全部或者部分进行解析,得到由多个样本帧数据包的显示时间戳(PTS)以及体积信息(size)组成的列表,样本帧数据包即视频样本中每个图像帧的数据包。
在步骤2032中,基于多个样本帧数据包的显示时间戳,将多个样本帧数据包聚合到多个时间区间。
在一些实施例中,可以以第1个样本帧数据包的显示时间戳为第一个时间区间的起始时间,生成长度相同的多个时间区间,然后确定每个样本帧数据包的显示时间戳在多个时间区间中所处的目标时间区间,最后将样本帧数据包分别聚合到目标时间区间中。
在步骤2033中,获取每个时间区间包括的样本帧数据包的体积与候选体积阈值的比较结果,基于比较结果统计每个时间区间中被识别为有效帧数据包的数量。
在一些实施例中,将每个时间区间包括的样本帧数据包的体积与候选体积阈值进行比较,以获得比较结果,当比较结果表征样本帧数据包的体积大于候选体积阈值,将样本帧数据包识别为有效帧数据包;当比较结果表征样本帧数据包的体积小于或等于候选体积阈值,将样本帧数据包识别为无效帧数据包;最后统计每个时间区间中被识别为有效帧数据包的数量。
在步骤2034中,基于每个时间区间中被识别为有效帧数据包的数量,生成视频样本的卡顿检测结果。
在一些实施例中,基于每个时间区间中被识别为有效帧数据包的数量,生成视频样本的卡顿检测结果,包括当某一时间区间中被识别为有效帧数据包的数量小于有效包数量阈值时,将这一时间区间识别为卡顿区间,然后统计卡顿区间的数量以及卡顿区间的序号;基于卡顿区间的数量与时间区间的数量,确定卡顿区间在多个时间区间中的比例;最后将每个时间区间中被识别为有效帧数据包的数量、多个时间区间中的卡顿区间的数量和序号、以及多个时间区间中的卡顿区间的比例,作为视频样本的卡顿检测结果。
继续参见图3D,在步骤204中,基于多个视频样本的卡顿检测结果确定候选体积阈值的筛选指标。
在一些实施例中,参见图3F,图3F是本申请实施例提供的获取有效包体积阈值的流程示意图,图3D中示出的步骤204可以通过图3F中示出的步骤2041至步骤2044实现,下面结合具体步骤进行说明。
在步骤2041中,响应于标注操作,获取针对每个视频样本在每个时间区间中被标注的有效帧数据包的数量。
在一些实施例中,可以通过人工标注每个时间区间的有效帧数据包数量,即通过人工查看视频样本相邻两帧之间是否卡顿,如果不卡顿则将后一帧对应的数据包标注为有效帧数据包。
在步骤2042中,将每个时间区间中被识别为有效帧数据包的数量与每个时间区间中样本帧数据包总量的比值,确定为准确率。
在本申请实施例中,通过将每个时间区间中被识别为有效帧数据包的数量与每个时间区间中样本帧数据包总量的比值,确定为准确率,可以得到基于不同的候选体积阈值所识别的有效帧数据包的比例。
在步骤2043中,将每个时间区间中被标注的有效帧数据包的数量与每个时间区间中样本帧数据包总量的比值,确定为召回率。
在本申请实施例中,通过将每个时间区间中被人工标注的有效帧数据包的数量与每个时间区间中样本帧数据包总量的比值,确定为召回率,可以得到基于人工标注的有效帧数据包的比例。
在步骤2044中,确定准确率与召回率的差值,并将差值作为筛选指标。
例如,在1s的时间区间内基于某一候选体积阈值得到所识别的有效帧数据包为24个,被人工标注的有效帧数据包的数量为25个,这1s的时间区间内的样本帧数据包总量为30,则准确率为80%,召回率为83%,准确率与召回率的差值为3%,即筛选指标为3%。
继续参见图3D,在步骤205中,响应于筛选指标小于筛选指标阈值,将候选体积阈值作为有效包体积阈值。
在一些实施例中,筛选指标阈值可以自由调节,例如当基于某一候选体积阈值得到的准确率与召回率的差值为3%,而筛选指标阈值为5%时,这个候选体积阈值即可投入使用。
在本申请实施例中,通过比较准确率和召回率的差值与筛选指标阈值的大小,可能会得到多个符合要求的候选体积阈值,这时可以选择一个较小的整数候选体积阈值投入使用即可,这样可以较为快速得到有效包体积阈值。本申请实施例中无需基于视频样本划分出绝对准确的有效包体积阈值,因为还需要配合有效包数量阈值进行视频卡顿的判断。
继续参见图3A,在步骤105中,基于比较结果识别出每个时间区间中的有效帧数据包。
在一些实施例中,基于比较结果识别出每个时间区间中的有效帧数据包,包括:响应于比较结果表征帧数据包的体积大于有效包体积阈值,将帧数据包识别为有效帧数据包;响应于比较结果表征帧数据包的体积小于或等于有效包体积阈值,将帧数据包识别为无效帧数据包。
在步骤106中,基于每个时间区间中的有效帧数据包,生成视频的卡顿检测结果。
在一些实施例中,参见图3C,图3C是本申请实施例提供的视频卡顿检测方法的流程示意图,图3A中示出的步骤106可以通过图3C中示出的步骤1061至步骤1064实现,下面结合具体步骤进行说明。
在步骤1061中,统计每个时间区间中的有效帧数据包的数量。
在一些实施例中,对每个时间区间中帧数据包的体积大于有效包体积阈值的有效帧数据包进行统计,作为视频的卡顿检测结果的一部分。
在步骤1062中,响应于有效帧数据包的数量小于有效包数量阈值,将时间区间识别为卡顿区间,并统计卡顿区间的数量以及卡顿区间的序号。
在一些实施例中,可以通过以下方式确定有效包数量阈值:获取待检测的视频的特征向量,特征向量可以包括多个维度的特征信息,例如视频长度、帧率、I帧数据包的数量、P帧数据包的数量、B帧数据包的数量、视频体积等;基于特征向量调用神经网络模型进行预测处理,得到视频的有效包数量阈值,其中,神经网络模型是基于获取多个视频样本以及针对视频样本标注的有效包数量阈值训练得到的,视频样本的类型包括卡顿视频样本和非卡顿视频样本。
在一些实施例中,神经网络模型可以是各种形式的,例如卷积网络、编码器(Transformer)模型等,损失函数可以是各种损失函数,例如交叉熵损失函数、L1损失函数、L2损失函数等,在此均不做限定。
在一些实施例中,参见图4,图4是本申请实施例提供的全连接神经网络示意图,包括输入层、隐藏层以及输出层。输入层数据为待检测的视频的特征向量以及权重数据,隐藏层基于权重数据对特征向量进行卷积处理,最后通过输出层中的分类器预测结果,即视频的有效包数量阈值。
在本申请实施例中,通过神经网络模型对视频的有效包数量阈值进行预测,能够节省人工成本,并提高视频检测效率,使得基于有效帧数据包的数量和有效包数量阈值进行比较得到的卡顿区间比较符合人眼观察到的实际情况。
在步骤1063中,基于卡顿区间的数量与时间区间的数量,确定卡顿区间在多个时间区间中的比例。
在一些实施例中,例如待检测视频被分为100个时间区间,被识别为卡顿区间的数量为30个,则卡顿区间在所有时间区间中的比例为30%,将卡顿比例30%作为卡顿检测结果的一部分。
在步骤1064中,基于每个时间区间的有效帧数据包的数量、多个时间区间中的卡顿区间的数量和序号、以及多个时间区间中的卡顿区间的比例,生成视频的卡顿检测结果。
在本申请实施例中,通过每个时间区间的有效帧数据包的数量、多个时间区间中的卡顿区间的数量和序号以及多个时间区间中的卡顿区间的比例共同构成视频的卡顿检测结果,能够从多个维度反映待检测视频的卡顿信息,使得用户得到的卡顿检测结果更为全面。
本申请实施例还可以通过以下步骤来实现视频卡顿检测方法:将待检测视频和卡顿检测结果发送到区块链网络中,以使区块链网络中的节点对基于待检测视频和卡顿检测结果进行共识处理,即区块链网络中的各节点分别计算卡顿检测结果,并与接收的卡顿检测结果比对,如果比对一致,则签署数字签名;响应于卡顿检测结果通过共识处理成功,即收集到足够的数字签名,将卡顿检测结果存储到节点的区块链中。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
相关技术在对视频的卡顿进行检测时,通常是基于视频的平均帧率、平均码率进行卡顿识别,这两个数据是在衡量视频是否卡顿时最常的指标,可以较为直观地反映视频整体卡顿情况,但是对于局部卡顿的情况,均值却难以体现出问题。例如一个5s的视频,每秒传输帧数(Frames Per Second,FPS)分别为5、30、30、30、30,平均帧率为25,处于正常范围,但是第一秒实际只渲染了5帧,卡顿较为严重,但是基于平均帧率却并不能发现局部出现卡顿。还有另一种检测方式是基于视频帧之间的关系进行识别,即通过计算机视觉技术手段计算相邻两张视频帧之间的差异量化值,通常能够得到比较精确的结果,但是进行图像矩阵计算需要耗费大量的算力资源对视频进行解码识别,在生产环境海量待检视频的背景下,该方法投入产出比较低,难以正式投入使用。
由于对视频解码资源消耗过高,即使对以解码的方式实现对视频的卡顿检测进行极限优化亦难以投入使用,因此为达到检测低消耗的目标,只能将卡顿检测流程置于视频非解码阶段。参见图5,图5是本申请实施例提供的视频的帧间关系示意图,根据视频编码原理,一个视频具备这3类帧:I帧内部编码帧(也称为关键帧),P帧前向预测帧(前向参考帧),B帧双向内插帧(双向参考帧)。简单地讲,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化,如果P帧、B帧的数据包体积过低,则可以一定程度上表示预测帧与参考帧之间变化程度很低,可以近似地表示这一预测帧帧以及参考帧产生了卡顿。
参见图7,图7是本申请实施例提供的视频卡顿检测方法的一种实施流程图,在视频解析流程中,首先将待检测的视频的视频地址输入FFmpeg工具,视频地址可以是本地视频地址(例如/data/test.mp4),也可以为网络视频地址或者直播流地址;FFmpeg工具基于视频地址获取视频后,从视频或直播流中按照顺序读取待解码的帧数据包,得到一个由多个帧数据包组成的列表,记为:
{p0,p1...pn}=parseVideo(video)
其中{p0,p1...pn}表示为帧数据包集合;parseVideo表示FFmpeg解析读取视频帧数据包的方法;video表示输入的待检测视频。每帧数据包用到的关键信息是这一帧所处的视频时间(PTS)以及包体大小(size)。
在聚合计算流程中,将数据包按其所属的秒区间(即时间区间为1s)进行划分聚合,并且根据数据包的包体大小与预设的有效数据包大小阈值(即有效包体积阈值)进行比较来判断该数据包是否有效,记为:
Packets={p0,p1...pn}
{v0,v1...vn}=validPacketsStat(packets)
其中,{v0,v1...vn}表示视频按秒聚合有效数据包的集合结果,例如:{30,29,31}表示一个3s的视频根据聚合计算流程得到的每秒有效包数量,validPack etsStat方法表示每秒区间有效数据包统计过程,如图8所示,图8是本申请实施例提供的聚合计算流程的示意图,p0、p1、p2表示0-1s之间的数据包,p3、p4、p5表示1s-2s之间的数据包,分别将p0、p1、p2、p3、p4、p5…pn的数据包大小与有效包大小阈值进行比较,统计每秒内的数据包大小大于有效包大小阈值的数量{v0、v1…vn},即:
size>validSizeThreshold
其中validSizeThreshold表示有效包大小阈值,这一阈值可以通过批量样本标注划分进行动态调整。
在结果输出流程中,得到每秒的有效包数量后,根据有效包数量阈值进行最终结果的统计,此阈值记为freezeCountThreshold,此值可以根据业务经验进行设置,结果统计可记为:
validPacketsDetail={v0,v1...vn}
freezeCounts=count({v0,v1...vn|v<=freezeCountThreshold})
freezePercent=freezeCounts/len(validPacketsDetail)
freezeIndex=index({v0,v1...vn|v<=freezeCountThreshold})
其中validPacketsDetail表示视频每秒有效包数量,为聚合计算流程计算所得;freezeCounts表示视频根据本申请实施例计算得到的卡顿秒数量,count({v0,v1...vn|v<=freezeCountThreshold})表示统计视频每秒有效包数量小于卡顿数量阈值(有效包数量阈值)的数量,即卡顿秒数量;freezePercent表示视频卡顿秒数比例,统计方法为计算视频卡顿的秒数freezeCounts在视频长度秒数len(validPacketsDetail的占比;freezeIndex表示视频卡顿序号,统计方法为计算低于freezeCountThreshold的秒序号。
例如某业务下一个10s的样本视频使用freezeCountThreshold=15输出的结果为:
视频每秒有效包数量(validPacketsDetail):[2,5,1,30,30,30,29,30,28,30]
视频卡顿秒数(freezeCounts):3
视频卡顿秒数比例(freezePercent):30%
视频卡顿秒序号(freezeIndex):0,1,2
由于对待检测视频的卡顿检测发生在解码视频之前,无需消耗大量计算资源解码视频,因此可以实现以较低的资源消耗对待检测视频进行高效的卡顿检测,并且检测速度较快,处于毫秒级别,适用于高并发视频检测场景;另外对于视频的卡顿情况可以基于视频卡顿秒数、卡顿秒序号等多个维度进行展示,使得检测结果更加全面具体。
下面继续说明本申请实施例提供的视频卡顿检测装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的视频卡顿检测装置455中的软件模块可以包括:获取模块4551,用于获取待检测的视频;解析模块4552,用于解析所述待检测的视频中待解码的多个帧数据包,得到每个所述帧数据包的显示时间戳以及体积;聚合模块4553,用于基于所述多个帧数据包的显示时间戳,将所述多个帧数据包聚合到多个时间区间;识别模块4554,用于获取每个时间区间包括的所述帧数据包的体积与有效包体积阈值的比较结果,基于所述比较结果识别出所述每个时间区间中的有效帧数据包;生成模块4555,用于基于所述每个时间区间中的有效帧数据包,生成所述视频的卡顿检测结果。
在一些实施例中,获取模块4551,还用于获取视频地址,其中,所述视频地址的类型包括本地视频地址、网络视频地址、直播流地址;基于所述视频地址,获取所述待检测的视频。
在一些实施例中,解析模块4552,还用于调用视频处理工具读取所述待检测的视频,得到所述待检测的视频的帧数据包列表,其中,所述帧数据包列表中包括每个帧数据包的显示时间戳以及体积信息。
在一些实施例中,聚合模块4553,还用于以第1个所述帧数据包的显示时间戳为第一个时间区间的起始时间,生成长度相同的多个时间区间;针对每个所述帧数据包执行以下处理:确定所述帧数据包的显示时间戳在多个所述时间区间中所处的目标时间区间;将所述帧数据包聚合到所述目标时间区间中。
在一些实施例中,识别模块4554,还用于响应于所述比较结果表征所述帧数据包的体积大于所述有效包体积阈值,将所述帧数据包识别为有效帧数据包;响应于所述比较结果表征所述帧数据包的体积小于或等于所述有效包体积阈值,将所述帧数据包识别为无效帧数据包。
在一些实施例中,识别模块4554,还用于通过以下方式确定所述有效包体积阈值:获取多个视频样本,其中,所述视频样本的类型包括卡顿视频样本和非卡顿视频样本;获取多个候选体积阈值,针对每个所述候选体积阈值执行以下处理:基于所述候选体积阈值获取所述多个视频样本的卡顿检测结果,基于所述多个视频样本的卡顿检测结果确定所述候选体积阈值的筛选指标;响应于所述筛选指标小于筛选指标阈值,将所述候选体积阈值作为所述有效包体积阈值。
在一些实施例中,识别模块4554,还用于针对每个所述视频样本执行以下处理:解析所述视频样本中待解码的多个样本帧数据包,得到每个所述样本帧数据包的显示时间戳以及体积;基于所述多个样本帧数据包的显示时间戳,将所述多个样本帧数据包聚合到多个时间区间;获取每个时间区间包括的所述样本帧数据包的体积与所述候选体积阈值的比较结果,基于所述比较结果统计所述每个时间区间中被识别为有效帧数据包的数量;基于所述每个时间区间中被识别为有效帧数据包的数量,生成所述视频样本的卡顿检测结果。
在一些实施例中,识别模块4554,还用于响应于标注操作,获取针对每个视频样本在每个时间区间中被标注的有效帧数据包的数量;将所述每个时间区间中被识别为有效帧数据包的数量与所述每个时间区间中样本帧数据包总量的比值,确定为准确率;将所述每个时间区间中被标注的有效帧数据包的数量与所述每个时间区间中样本帧数据包总量的比值,确定为召回率;确定所述准确率与所述召回率的差值,并将所述差值作为所述筛选指标。
在一些实施例中,生成模块4555,还用于统计所述每个时间区间中的有效帧数据包的数量;响应于所述有效帧数据包的数量小于有效包数量阈值,将所述时间区间识别为卡顿区间,并统计所述卡顿区间的数量以及所述卡顿区间的序号;基于所述卡顿区间的数量与所述时间区间的数量,确定所述卡顿区间在所述多个时间区间中的比例;基于所述每个时间区间的有效帧数据包的数量、所述多个时间区间中的卡顿区间的数量和序号、以及所述多个时间区间中的卡顿区间的比例,生成所述视频的卡顿检测结果。
在一些实施例中,生成模块4555,还用于通过以下方式确定有效包数量阈值:获取所述待检测的视频的特征向量包括多个维度的特征信息:视频长度、帧率、IPB帧数据包的数量、体积;基于所述特征向量调用神经网络模型进行预测处理,得到所述视频的有效包数量阈值,其中,所述神经网络模型是基于获取多个视频样本以及针对所述视频样本标注的有效包数量阈值训练得到的,所述视频样本的类型包括卡顿视频样本和非卡顿视频样本。
在一些实施例中,生成模块4555,还用于将所述视频和所述卡顿检测结果发送到区块链网络中,以使所述区块链网络中的节点对基于所述视频和所述卡顿检测结果进行共识处理,响应于所述卡顿检测结果通过所述共识处理成功,将所述卡顿检测结果存储到所述节点的区块链中。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的视频卡顿检测方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令或者计算机程序,当计算机可执行指令或者计算机程序被处理器执行时,将引起处理器执行本申请实施例提供的视频卡顿检测方法,例如,如图1A示出的视频卡顿检测方法。
在一些实施例中,计算机可读存储介质可以是RAM、ROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(Hyper TextMarkup Language,HTML)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
综上所述,通过本申请实施例解析待检测的视频中待解码的多个帧数据包,得到每个帧数据包的显示时间戳以及体积,可以精准地获取每个帧数据包的数据进行检测,解决了常规非解码流程获取数据做检测的不精准问题;然后基于帧数据包的显示时间戳将帧数据包聚合到多个时间区间,以便于对每个时间区间内的帧数据包进行分析;然后再针对每个时间区间包括的每个帧数据包的体积与有效包体积阈值进行比较,以得到每个时间区间中的有效帧数据包,最后对每个时间区间中的有效帧数据包进行分析,以生成视频的卡顿检测结果。由于本方案全部在非解码阶段完成,能够很大程度上减少机器资源的消耗,同时也提升了整体检测速度,对于高并发视频检测场景性价比较高。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (14)

1.一种视频卡顿检测方法,其特征在于,所述方法包括:
获取待检测的视频;
解析所述待检测的视频中待解码的多个帧数据包,得到每个所述帧数据包的显示时间戳以及体积;
基于所述多个帧数据包的显示时间戳,将所述多个帧数据包聚合到多个时间区间;
获取每个时间区间包括的所述帧数据包的体积与有效包体积阈值的比较结果,基于所述比较结果识别出所述每个时间区间中的有效帧数据包;
基于所述每个时间区间中的有效帧数据包,生成所述视频的卡顿检测结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述多个帧数据包的显示时间戳,将所述多个帧数据包聚合到多个时间区间,包括:
以第1个所述帧数据包的显示时间戳为第一个时间区间的起始时间,生成长度相同的多个时间区间;
针对每个所述帧数据包执行以下处理:
确定所述帧数据包的显示时间戳在多个所述时间区间中所处的目标时间区间;
将所述帧数据包聚合到所述目标时间区间中。
3.根据权利要求1所述的方法,其特征在于,所述基于所述每个时间区间中的有效帧数据包,生成所述视频的卡顿检测结果,包括:
统计所述每个时间区间中的有效帧数据包的数量;
响应于所述有效帧数据包的数量小于有效包数量阈值,将所述时间区间识别为卡顿区间,并统计所述卡顿区间的数量以及所述卡顿区间的序号;
基于所述卡顿区间的数量与所述时间区间的数量,确定所述卡顿区间在所述多个时间区间中的比例;
基于所述每个时间区间的有效帧数据包的数量、所述多个时间区间中的卡顿区间的数量和序号、以及所述多个时间区间中的卡顿区间的比例,生成所述视频的卡顿检测结果。
4.根据权利要求1所述的方法,其特征在于,
所述基于所述比较结果识别出所述每个时间区间中的有效帧数据包,包括:
响应于所述比较结果表征所述帧数据包的体积大于所述有效包体积阈值,将所述帧数据包识别为有效帧数据包;
所述方法还包括:
响应于所述比较结果表征所述帧数据包的体积小于或等于所述有效包体积阈值,将所述帧数据包识别为无效帧数据包。
5.根据权利要求1所述的方法,其特征在于,所述获取待检测的视频,包括:
获取视频地址,其中,所述视频地址的类型包括本地视频地址、网络视频地址、直播流地址;
基于所述视频地址,获取所述待检测的视频。
6.根据权利要求1所述的方法,其特征在于,所述解析所述待检测的视频中待解码的多个帧数据包,得到每个所述帧数据包的显示时间戳以及体积,包括:
调用视频处理工具读取所述待检测的视频,得到所述待检测的视频的帧数据包列表,其中,所述帧数据包列表中包括每个帧数据包的显示时间戳以及体积信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过以下方式确定所述有效包体积阈值:
获取多个视频样本,其中,所述视频样本的类型包括卡顿视频样本和非卡顿视频样本;
获取多个候选体积阈值,针对每个所述候选体积阈值执行以下处理:
基于所述候选体积阈值获取所述多个视频样本的卡顿检测结果,基于所述多个视频样本的卡顿检测结果确定所述候选体积阈值的筛选指标;
响应于所述筛选指标小于筛选指标阈值,将所述候选体积阈值作为所述有效包体积阈值。
8.根据权利要求7所述的方法,其特征在于,所述基于所述候选体积阈值获取所述多个视频样本的卡顿检测结果,包括:
针对每个所述视频样本执行以下处理:
解析所述视频样本中待解码的多个样本帧数据包,得到每个所述样本帧数据包的显示时间戳以及体积;
基于所述多个样本帧数据包的显示时间戳,将所述多个样本帧数据包聚合到多个时间区间;
获取每个时间区间包括的所述样本帧数据包的体积与所述候选体积阈值的比较结果,基于所述比较结果统计所述每个时间区间中被识别为有效帧数据包的数量;
基于所述每个时间区间中被识别为有效帧数据包的数量,生成所述视频样本的卡顿检测结果。
9.根据权利要求8所述的方法,其特征在于,所述基于所述多个视频样本的卡顿检测结果确定所述候选体积阈值的筛选指标,包括:
响应于标注操作,获取针对每个视频样本在每个时间区间中被标注的有效帧数据包的数量;
将所述每个时间区间中被识别为有效帧数据包的数量与所述每个时间区间中样本帧数据包总量的比值,确定为准确率;
将所述每个时间区间中被标注的有效帧数据包的数量与所述每个时间区间中样本帧数据包总量的比值,确定为召回率;
确定所述准确率与所述召回率的差值,并将所述差值作为所述筛选指标。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
通过以下方式确定有效包数量阈值:
获取所述待检测的视频的特征向量;
基于所述特征向量调用神经网络模型进行预测处理,得到所述视频的有效包数量阈值,其中,所述神经网络模型是基于获取多个视频样本以及针对所述视频样本标注的有效包数量阈值训练得到的,所述视频样本的类型包括卡顿视频样本和非卡顿视频样本。
11.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
将所述视频和所述卡顿检测结果发送到区块链网络中,以使
所述区块链网络中的节点对基于所述视频和所述卡顿检测结果进行共识处理,响应于所述卡顿检测结果通过所述共识处理成功,将所述卡顿检测结果存储到所述节点的区块链中。
12.一种视频卡顿检测装置,其特征在于,所述装置包括:
获取模块,用于获取待检测的视频;
解析模块,用于解析所述待检测的视频中待解码的多个帧数据包,得到每个所述帧数据包的显示时间戳以及体积;
聚合模块,用于基于所述多个帧数据包的显示时间戳,将所述多个帧数据包聚合到多个时间区间;
识别模块,用于获取每个时间区间包括的所述帧数据包的体积与有效包体积阈值的比较结果,基于所述比较结果识别出所述每个时间区间中的有效帧数据包;
生成模块,用于基于所述每个时间区间中的有效帧数据包,生成所述视频的卡顿检测结果。
13.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现权利要求1至11任一项所述的视频卡顿检测方法。
14.一种计算机可读存储介质,存储有计算机可执行指令或者计算机程序,其特征在于,所述计算机可执行指令或者计算机程序被处理器执行时实现权利要求1至11任一项所述的视频卡顿检测方法。
CN202310110537.2A 2023-01-31 2023-01-31 视频卡顿检测方法、装置、设备及计算机可读存储介质 Pending CN116962663A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310110537.2A CN116962663A (zh) 2023-01-31 2023-01-31 视频卡顿检测方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310110537.2A CN116962663A (zh) 2023-01-31 2023-01-31 视频卡顿检测方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN116962663A true CN116962663A (zh) 2023-10-27

Family

ID=88457089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310110537.2A Pending CN116962663A (zh) 2023-01-31 2023-01-31 视频卡顿检测方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN116962663A (zh)

Similar Documents

Publication Publication Date Title
CN112804256B (zh) 多媒体文件中轨道数据的处理方法、装置、介质及设备
CN112653700B (zh) 一种基于webrtc网页视频通信的方法
US9609338B2 (en) Layered video encoding and decoding
CN113542795B (zh) 视频处理方法、装置、电子设备及计算机可读存储介质
CN105814901A (zh) 测量到流媒体的曝光的方法和设备
CN104137146A (zh) 用于利用前景对象分割的噪声过滤的视频编码的方法和系统
JP2011507401A5 (zh)
WO2022057789A1 (zh) 视频清晰度识别方法、电子设备及存储介质
CN110662017B (zh) 一种视频播放质量检测方法和装置
CN113395512B (zh) 卡顿检测方法、装置、卡顿检测服务器及存储介质
CN114679607B (zh) 一种视频帧率控制方法、装置、电子设备及存储介质
WO2017020737A1 (zh) 视频流的存储方法、读取方法及装置
CN108696713B (zh) 码流的安全测试方法、装置及测试设备
CN109040784A (zh) 广告检测方法及装置
CN116962663A (zh) 视频卡顿检测方法、装置、设备及计算机可读存储介质
CN108989905B (zh) 媒体流控制方法、装置、计算设备及存储介质
US11599570B2 (en) Device and method to render multimedia data stream tamper-proof based on block chain recording
CN112866745B (zh) 流媒体视频数据处理方法、装置、计算机设备和存储介质
CN110189388B (zh) 动画检测方法、可读存储介质及计算机设备
CN103152570A (zh) 一种视频位流解码方法和装置
JP2020010321A (ja) 映像通話サービスの品質をリアルタイムで測定する方法およびシステム
CN111447490A (zh) 流媒体文件处理方法及装置
CN116456136B (zh) 一种基于国产化的设备投屏方法及装置
CN115460189B (zh) 处理设备测试方法、装置、计算机及存储介质
CN112804312B (zh) 文件上传方法、设备以及计算机可读介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication