CN117478958B - 视频播放方法、装置、电子设备和存储介质 - Google Patents

视频播放方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN117478958B
CN117478958B CN202311217193.1A CN202311217193A CN117478958B CN 117478958 B CN117478958 B CN 117478958B CN 202311217193 A CN202311217193 A CN 202311217193A CN 117478958 B CN117478958 B CN 117478958B
Authority
CN
China
Prior art keywords
frame rate
period
average frame
average
video playing
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.)
Active
Application number
CN202311217193.1A
Other languages
English (en)
Other versions
CN117478958A (zh
Inventor
黄浩成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Kaidelian Software Technology Co ltd
Original Assignee
Guangzhou Kaidelian Software Technology 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 Guangzhou Kaidelian Software Technology Co ltd filed Critical Guangzhou Kaidelian Software Technology Co ltd
Priority to CN202311217193.1A priority Critical patent/CN117478958B/zh
Publication of CN117478958A publication Critical patent/CN117478958A/zh
Application granted granted Critical
Publication of CN117478958B publication Critical patent/CN117478958B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例公开了视频播放方法、装置、电子设备和存储介质。从解码器获取已解码的图像帧的时间戳;根据时间戳按预设的第一周期统计第一平均帧率,根据第一平均帧率更新预设的第二周期内的第二平均帧率,第二周期为第一周期的整数倍;根据第一平均帧率和第二平均帧率的差值,从第一平均帧率和第二平均帧率确认当前第一周期的视频播放帧率。通过从解码器获取已解码的图像帧的时间戳,根据时间戳对解码得到的图像帧进行多重帧率统计,根据统计得到的帧率之间的差值状态,确认最终用于视频播放的帧率,保证了视频播放时使用的帧率与解码的帧率一致,从而减少解码前的数据处理环节,提高视频播放效率,增强视频播放时对视频编码变化的适应性。

Description

视频播放方法、装置、电子设备和存储介质
技术领域
本申请实施例涉及视频技术领域,尤其涉及视频播放方法、装置、电子设备和存储介质。
背景技术
随着电子技术不断发展,视频成为信息传播的重要媒介。视频通过对画面帧的编码和解码实现画面记录和显示,现有的编码和解码有多种成熟的编码解码协议支持。
一般而言,实现视频的正常显示需要用于实现编码和解码的编码器和解码器之间进行协调和同步,以确保对画面帧进行处理的细节实现中的图像关系被正确处理,结合传输和存储过程中的适应处理,最终可以保证视频正确编码、精准传输和流畅播放。
发明人对视频播放过程进行分析发现,用于给解码后的播放进行参考的视频帧率,通常需要在进行用于视频播放的解码前根据缓存或接收的编码信息确认后持续使用,这种确认方式实现视频播放的效率较低,播放过程中对视频编码变化的适应性较差。
发明内容
本发明提供了一种视频播放方法、装置、电子设备和存储介质,以解决现有的视频帧率确认方式实现视频播放的效率较低,播放过程中对视频编码变化的适应性较差的技术问题。
第一方面,本申请实施例提供了一种视频播放方法,该视频播放方法,包括:
从解码器获取已解码的图像帧的时间戳;
根据时间戳按预设的第一周期统计第一平均帧率,根据第一平均帧率更新预设的第二周期内的第二平均帧率,第二周期为第一周期的整数倍;
根据第一平均帧率和第二平均帧率的差值,从第一平均帧率和第二平均帧率确认当前第一周期的视频播放帧率。
第二方面,本申请实施例还提供了一种视频播放装置,该视频播放装置,包括:
时间戳获取单元,用于从解码器获取已解码的图像帧的时间戳;
平均帧率确认单元,用于根据时间戳按预设的第一周期统计第一平均帧率,根据第一平均帧率更新预设的第二周期内的第二平均帧率,第二周期为第一周期的整数倍;
播放帧率确认单元,用于根据第一平均帧率和第二平均帧率的差值,从第一平均帧率和第二平均帧率确认当前第一周期的视频播放帧率。
第三方面,本申请实施例还提供了一种电子设备,该电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当一个或多个计算机程序被一个或多个处理器执行,使得电子设备实现如第一方面的视频播放方法。
第四方面,本申请实施例还提供了计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面的视频播放方法。
上述视频播放方法、装置、电子设备和存储介质,该方法中,从解码器获取已解码的图像帧的时间戳;根据时间戳按预设的第一周期统计第一平均帧率,根据第一平均帧率更新预设的第二周期内的第二平均帧率,第二周期为第一周期的整数倍;根据第一平均帧率和第二平均帧率的差值,从第一平均帧率和第二平均帧率确认当前第一周期的视频播放帧率。通过从解码器获取已解码的图像帧的时间戳,根据时间戳对解码得到的图像帧进行多重帧率统计,根据统计得到的帧率之间的差值状态,确认最终用于视频播放的帧率,保证了视频播放时使用的帧率与解码的帧率一致,从而减少解码前的数据处理环节,提高视频播放效率,增强视频播放时对视频编码变化的适应性。
附图说明
图1为本申请实施例提供的一种视频播放方法的方法流程图。
图2为本申请实施例提供的多重帧率统计的示意图。
图3为本申请实施例提供的视频播放装置的结构示意图。
图4为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
需要注意的是,由于篇幅所限,本申请说明书没有穷举所有可选的实施方式,本领域技术人员在阅读本申请说明书后,应该能够想到,只要技术特征不互相矛盾,那么技术特征的任意组合均可以构成可选的实施方式。
下面对本发明各实施例进行详细说明。
随着信息技术的发展,视频成为信息传播的重要媒介。实现视频传播的直接技术是视频编码技术,不同协议标准的视频编码技术有具体的编码实现细节,但视频编码的整体实现过程大体相同,即将连续的图像帧构建关联关系,基于关联关系将视频对应的图像帧依序编码成能对应解码显示的视频数据。
以一种H.264视频编码技术为例,H.264Multi Slice是一种H.264视频编码技术,用于将视频帧划分为多个片(slice)进行并行编码和解码。在H.264编码中,一个视频帧被划分为多个宏块(macroblock),而一个宏块又由多个片组成。每个片可以并行地进行编码和解码,这种并行处理可以提高编解码的效率,特别是在多核处理器或并行处理环境中。
通过使用H.264Multi Slice技术,可以将一个视频帧划分为多个片,每个片可以由不同的编码线程或处理单元进行处理。这样可以充分利用多核处理器的并行计算能力,加快编码和解码过程,提高视频的压缩效率和播放性能。
与其他编码解码协议的一般原理相似,H.264Multi Slice技术也需要在编码器和解码器之间进行协调和同步,以确保各个片的编码和解码顺序正确,以及各个片之间的依赖关系被正确处理。同时,H.264Multi Slice技术也需要在传输和存储过程中进行适当的处理,以保证各个片的完整性和一致性。
在H.264视频编码标准中,SPS/PPS是两个重要参数,用于描述视频序列的结构和配置信息。SPS(Sequence Parameter Set,序列参数集)包含了视频序列的一些基本参数,如图像尺寸、帧率、码率等。PPS(Picture Parameter Set,图像参数集)包含了与具体图像有关的参数,如图像类型、编码模式等。另外还有264VUI也是H.264视频编码标准中的一个参数,用于描述视频序列的视觉使用者信息(Visual Use Information)。VUI包含了一些与视频播放有关的参数,如颜色空间、色彩范围、宽高比等。SPS/PPS和264VUI中的参数对于视频编码和解码过程都起到了重要的作用,确保视频能够正确地被编码和解码。
在现有的视频技术中,进行视频播放时,以上参数通常在解码前即需要确认。以H.264为例,获取264码流帧率可以从SPS中的VUI结构体中获取;但是在编码时SPS可能会被分片(也就是Multi Slice),所以需要兼容这种被分片的情况(分片情况下,需要先收集所有分片后再解析SPS获得VUI帧率),会增加延迟,因为需要等待所有分片到达才能进行解析;而且不是所有的264SPS都有VUI结构体信息。另外,视频码流可能是从网络/磁盘文件,甚至还有其他数据通信通道。来源不一致,对可能有多一层的封装,并不一定能方便地直接获取码流内部信息;而且码流可能是264/265,甚至还有其他扩展类型的码流(编码技术不断发展),不同的类型的码流解析方式可能不一样。整体而言,基于SPS中VUI结构体信息的视频,需要在解码前针对Multi Slice或者264/265等不同编码类型进行SPS的解析;基于无VUI结构体信息的视频,需要对视频接收过程进行监测统计,区分1秒内接收了多少有效码流,这种处理方式的处理过程复杂效率较低。
针对以上技术问题,本申请实施例提出视频播放方法,通过从解码器获取已解码的图像帧的时间戳,根据时间戳对解码得到的图像帧进行多重帧率统计,根据统计得到的帧率之间的差值状态,确认最终用于视频播放的帧率,保证了视频播放时使用的帧率与解码的帧率一致,从而减少解码前的数据处理环节,提高视频播放效率,增强视频播放时对视频编码变化的适应性。
图1为本申请实施例提供的一种视频播放方法的方法流程图,该视频播放方法应用于视频播放设备,例如各种具备显示屏或者可以外接显示设备的电子设备。如图1所示,该视频播放方法包括步骤S110-步骤S130:
步骤S110:从解码器获取已解码的图像帧的时间戳。
从视频流到视频播放的过程大体上可以分为将视频流对应的码流数据解码为RGB/YUV图像帧,然后对RGB/YUV图像帧进行预处理得到可用于最终显示的图像的过程。其中对码流数据进行解码可以视为由解码器(或者称为解码模块,VDEC)完成,其具体负责从磁盘文件或网络传输得到的码流(一般为JPEG/264/265等压缩码流)解码为RGB/YUV等图像帧。对RGB/YUV图像帧的预处理可以视为由VPSS(Video Process Sub-System,视频处理子系统)完成,VPSS支持对一幅输入图像进行统一预处理,如去噪、去隔行等,然后再对各通道分别进行缩放、锐化等处理,最后输出多种不同分辨率的图像。
在现有技术中,不管是基于SPS中VUI结构体信息的视频,还是基于无VUI结构体信息的视频,都是在解码器开始解码前,通过前文描述的方法确认帧率。相较于现有技术,在本申请实施例中,对于从磁盘文件、网络或者其它通信通道接收到的视频码流,直接由解码器进行解码,解码器将解码得到的图像帧发送到VPSS进行预处理的同时,获取已解码的图像帧的时间戳。相当于在本申请实施例中,考虑到解码能力决定了最终的播放效果,因此将解码得到图像帧的能力作为视频播放的参考指标,即不管接收视频码流的速度如何,最终视频过程以解码得到图像帧的速度为参考,从而实现视频播放与解码速度的适配。
在本申请实施例中,已解码的图像帧的时间戳,用于记录该图像帧完成解码的时间,对于解码器而言,图像帧按编码顺序逐帧完成解码,图像帧之间有着严格的先后顺序并且解码所需时间大体一致,基于此,可以根据时间戳确认帧率。
步骤S120:根据时间戳按预设的第一周期统计第一平均帧率,根据第一平均帧率更新预设的第二周期内的第二平均帧率,第二周期为第一周期的整数倍。
在本申请实施例中,根据时间戳进行帧率统计有两个维度,对应有两个统计周期,即第一周期和第二周期,第一周期小于第二周期。其中第一周期的统计用于确认较短时间内的平均帧率,由此可以判断短时间内的帧率变化情况;第二周期的统计用于确认较长时间内的平均帧率,由此可以判断较长时间内的帧率的稳定性。
帧率单位为FPS,即每秒帧数,为处理方便,可以根据时间戳直接统计1S内的帧数,即第一周期为1S,相当于每一秒对应有一个统计结果即为第一平均帧率,第一平均帧率此时直接等于一个第一周期统计到的帧数。第二周期可以为第一周期的至少三倍,例如三倍、五倍等。
另外需要说明的是,本申请实施例中第一周期在时间轴是前后首尾相连,而为保证帧率突变时的快速响应,第二周期为第一周期的整数倍,但是每个第二周期的起点与一个第一周期的起点重合。具体请参考图2,其中Ta和Tb分别表示第一周期和第二周期的长度,Ta1-Ta5分别表示连续5个第一周期,Tb1表示第一个第二周期,Tb2表示第二个第二周期,Tb3表示第三个第二周期。在后续需要将第一周期对应的第一平均帧率与第二周期对应的第二平均帧率进行比较,通过这种周期设置能够保证比较的对应存在重合的时间段的统计结果,从而保证后续的响应是基于相对应的数据比较结果进行,得到符合数据逻辑的响应结果。
应当理解,本申请实施例中是基于第一平均帧率,累加之前的若干第一周期对应的第一平均帧率,得到最近一个第二周期的总帧数,进而得到最近一个第二周期的平均帧率。在实际处理过程中,也可以是第一周期和第二周期分别独立进行总帧数的统计,然后根据统计结果对应得到第一平均占率和第二平均帧率。
在具体实现本方案时,为消除获取已解码的图像帧的过程中的临时波动对视频播放相关参数的影响,在具体更新第二平均帧率时,可以对当前的第一周期内的图像帧的接收过程进行统计判断,根据统计判断结果确认具体的第二平均帧率的更新策略。即步骤S120中根据时间戳按预设的第一周期统计第一平均帧率,根据第一平均帧率更新预设的第二周期内的第二平均帧率,具体包括:根据时间戳按预设的第一周期统计第一平均帧率,并统计第一周期内的图像帧的时间差;在当前的第一周期内的最大时间差超出当前记录的第二平均帧率对应的平均时间差的差值在预设参考范围内的情况下,根据第一平均帧率更新预设的第二周期内的第二平均帧率和平均时间差。
实际接收已解码的图像帧时,因为原始编码、中途网络传输、解码时的硬件状态起伏等各种原因,图像帧的接收并不一定严格按照协议的帧率和传输速度进行传输和解码,这种传输和解码的差异直接导致获得的图像帧并不是均匀间隔,即根据时间戳确认的相邻的图像帧之间的时间差并不是保持一致,这种已解码的图像帧之间的时间差的波动较大时,可能会导致对各种帧率的统计偏差,并最终影响到视频的正常播放,由此,本申请实施例中以第一周期为单位,对第一周期内的接收过程的波动进行统计。具体接收过程的波动是否正常,可以是将当前的第一周期内的最大时间差,与当前记录的第二周期内的平均时间差进行对比,如果最大时间差超出当前记录的第二平均帧率对应的平均时间差的差值在预设的参考范围内,则认为波动正常。其中预设参考范围是基于波动统计的经验值,例如20%以内。
在一个第一周期以内,以最大时间差作为描述波动状态的参考,即最大时间差体现了对应的第一周期内的图像帧获取的最大间隔,也即该图像帧的接收可能存在最长卡顿,如果最大间隔与正常的时间差比较接近,则表明该最大间隔实际是正常图像帧接收过程中的时间间隔,对该第一周期统计得到的数据作为有效数据参与到后续处理过程,更新第二周期的相关参数。正常的时间差通常不以某个具体的时间差为参考,而是以一段时间内的平均时间差为参考,在本申请实施例中示例性地以第二周期内的平均时间差为参考,为便于后续的判断和更新,除了记录第二周期的第二平均帧率,还相应记录平均时间差值,当然,更新平均时间差值与更新第二平均帧率的数据范围相同,均需要根据当前的第一周期的数据进行更新,即第二周期对应的平均时间差基于当前的第一周期内的时间差进行更新。通过这种对当前第一周期内的最大时间差进行对比判断的方式,能够有效避免因为各种原因导致获得解码图像帧的帧率偶发波动时,对视频播放的相关参数产生影响。
在最大时间差明显异常时,将当前第一周期内对图像帧的统计结果直接忽略,即在当前的第一周期内的最大时间差超出当前记录的第二平均帧率对应的平均时间差的差值超出预设参考范围的情况下,舍弃当前的第一周期内的统计结果。相当于在当前的第一周期内的最大间隔异常时,当前的第一周期内的各种参数统计不对第二周期的参数更新产生影响,保持既有的第二周期的参数不变,从而避免临时波动对实际参数的负面干扰。
以上基于最大时间差的判断过程,可以参考图2,在正常状态下,Ta1-Ta5共5个第一周期的第一平均帧率处于正常范围,相应在Tb1-Tb3共3个第二周期按对应的第一平均帧率确认第二平均帧率。当有某个第一周期的最大时间差异常时,例如Ta4对应的最大时间差明显异常时,当前记录的第二平均帧率是Tb1对应的第二平均帧率,而Ta4对应的统计结果因为最大时间差明显异常而舍弃,继续保持Tb1对应的第二平均帧率为当前记录的第二平均帧率。在Ta5对应的最大时间差正常时,则可以根据Ta2、Ta3和Ta5共3个第一周期的统计结果更新第二平均帧率和平均时间差。通过异常数据统计结果的舍弃和相应的参数更新方式,能尽可能保证实际保存并有效使用的是正常解码状态下的参数,进一步提高视频播放的效果。
在具体处理时,还可以进一步对当前第一周期内的时间差进行比对,确认第一周期内的时间差的波动情况,如果之前连续预设数量的第一周期内的时间差波动较小,则对于当前第一周期的最大时间差即使明显超出当前记录的第二平均帧率对应的平均时间差,也认为最近的多个第一周期内的时间差,是正常状态下获得解码后的图像帧的对应时间差,此时可以根据最近多个第一周期的平均时间差,更新第二周期对应的平均时间差。
步骤S130:根据第一平均帧率和第二平均帧率的差值,从第一平均帧率和第二平均帧率确认当前第一周期的视频播放帧率。
在原始编码不变、数据传输高效稳定的情况下,步骤S120中统计得到的第一平均帧率和第二平均帧率通常相同或者接近,例如差距在5%以内。在二者接近的情况,继续保持稳定状态下对应的帧率,即保持第二平均帧率作为当前第一周期的视频播放帧率;在二者差距较大的情况下,则可以因为原始编码发生变化、或者数据传输发生波动而使用短时间内变化的帧率,即第一平均帧率作为当前第一周期的视频播放帧率。整体而言,以上帧率设置过程可以描述为当第一平均帧率和第二平均帧率的差值与第二平均帧率的差值在预设的第一范围(例如5%以内)以外,确认第一平均帧率为当前第一周期的视频播放帧率;当第一平均帧率和第二平均帧率的差值与第二平均帧率的差值在预设的第一范围以内,确认第二平均帧率为当前第一周期的视频播放帧率。通过这种方式,能够在解码帧率不变时保持播放帧率的稳定性,在解码帧率发生变化时快速对播放帧率进行调整。
在实际对视频播放帧率进行设置时,可以是发生帧率配置变化时才进行主动设置,在未发生帧率配置则保持原有设置,通过这种配置方式可以避免每次配置视频播放帧率,即使配置的是相同的数值。
在视频播放的起始阶段,尚未确认出第二平均帧率,甚至未确认出第一平均帧率,但是解码器和VPSS已经完成前面若干帧的播放所需的数据处理,得到可播放的图像,这些图像需要即时播放,此时可以基于预设默认的初始播放帧率进行短时间内的播放。
一种可选的实现方式是在视频播放的第一个第一周期,以预设的初始播放帧率作为视频播放帧率;在视频播放的第二个第一周期到第二个第二周期之前,以第一平均帧率作为视频播放帧率。即在开始视频播放的第一个第一周期,先以预设的初始播放帧率进行播放,第一个第一周期后可以得到第一个第一平均帧率,此时可以以第一个第一平均帧率作为第二个第一周期的视频播放帧率,周期更新第一平均帧率作为新的第一周期的视频播放帧率,直至有一个完整的第二周期得到第二平均帧率,可以基于步骤S130确认视频播放帧率。
在另一个可选的实现方式中,在视频播放的第一个第二周期,以预设的初始播放帧率作为视频播放帧率。即在第一个第二周期内,均已预设的初始播放帧率作为视频播放帧率,直至第一个第二周期结束得到一个第二平均帧率,可以基于步骤S130确认视频播放帧率。这两种方式,均可以保证在帧率统计时长较短的情况下,待播放的视频中已经处理完的画面显示,避免在视频播放之初即发生卡顿。
通过本申请实施例,解码器只需要直接对视频码流进行解码,不需要做任何配合数据处理方面的停留,提高了数据处理效率,同时也提高了实际播放过程中使用的帧率的准确性和实时性。
上述视频播放方法,从解码器获取已解码的图像帧的时间戳;根据时间戳按预设的第一周期统计第一平均帧率,根据第一平均帧率更新预设的第二周期内的第二平均帧率,第二周期为第一周期的整数倍;根据第一平均帧率和第二平均帧率的差值,从第一平均帧率和第二平均帧率确认当前第一周期的视频播放帧率。通过从解码器获取已解码的图像帧的时间戳,根据时间戳对解码得到的图像帧进行多重帧率统计,根据统计得到的帧率之间的差值状态,确认最终用于视频播放的帧率,保证了视频播放时使用的帧率与解码的帧率一致,从而减少解码前的数据处理环节,提高视频播放效率,增强视频播放时对视频编码变化的适应性。
图3为本申请实施例提供的一种视频播放装置的结构示意图。如图3所示,该视频播放装置包括时间戳获取单元210、平均帧率确认单元220和播放帧率确认单元230。
其中,时间戳获取单元210,用于从解码器获取已解码的图像帧的时间戳;平均帧率确认单元220,用于根据时间戳按预设的第一周期统计第一平均帧率,根据第一平均帧率更新预设的第二周期内的第二平均帧率,第二周期为第一周期的整数倍;播放帧率确认单元230,用于根据第一平均帧率和第二平均帧率的差值,从第一平均帧率和第二平均帧率确认当前第一周期的视频播放帧率。
在上述实施例的基础上,平均帧率确认单元220,包括:
数据统计模块,用于根据时间戳按预设的第一周期统计第一平均帧率,并统计第一周期内的图像帧的时间差;
数据更新模块,用于在当前的第一周期内的最大时间差超出当前记录的第二平均帧率对应的平均时间差的差值在预设参考范围内的情况下,根据第一平均帧率更新预设的第二周期内的第二平均帧率和平均时间差。
在上述实施例的基础上,该视频播放装置,还包括:
无效数据处理单元,用于在当前的第一周期内的最大时间差超出当前记录的第二平均帧率对应的平均时间差的差值超出预设参考范围的情况下,舍弃当前的第一周期内的统计结果。
在上述实施例的基础上,播放帧率确认单元230,包括:
第一确认模块,用于当第一平均帧率和第二平均帧率的差值与第二平均帧率的差值在预设的第一范围以外,确认第一平均帧率为当前第一周期的视频播放帧率;
第二确认模块,用于当第一平均帧率和第二平均帧率的差值与第二平均帧率的差值在预设的第一范围以内,确认第二平均帧率为当前第一周期的视频播放帧率。
在上述实施例的基础上,视频播放装置,还包括:
第一初始确认单元,用于在视频播放的第一个第一周期,以预设的初始播放帧率作为视频播放帧率;
第二初始确认单元,用于在视频播放的第二个第一周期到第二个第二周期之前,以第一平均帧率作为视频播放帧率。
在上述实施例的基础上,视频播放装置,还包括:
第三初始确认单元,用于在视频播放的第一个第二周期,以预设的初始播放帧率作为视频播放帧率。
在上述实施例的基础上,第一周期为1S,第二周期为第一周期的至少三倍。
本申请实施例提供的视频播放装置包含在电子设备中,且可用于执行上述实施例中提供的对应的视频播放方法,具备相应的功能和有益效果。
值得注意的是,上述视频播放装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
图4为本申请实施例提供的一种电子设备的结构示意图。如图4所示,该电子设备包括处理器310和存储器320,并可以还包括输入装置330、输出装置340以及通信装置350;电子设备中处理器310的数量可以是一个或多个,图4中以一个处理器310为例;电子设备中的处理器310、存储器320、输入装置330、输出装置340以及通信装置350可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的视频播放方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的视频播放方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置340可包括显示屏等显示设备。
上述电子设备包含视频播放装置,可以用于执行任意视频播放方法,具备相应的功能和有益效果。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序在被处理器执行时用于执行本申请任意实施例中提供的视频播放方法中的相关操作,且具备相应的功能和有益效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。
因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种视频播放方法,其特征在于,包括:
从解码器获取已解码的图像帧的时间戳;
根据所述时间戳按预设的第一周期统计第一平均帧率,根据所述第一平均帧率更新预设的第二周期内的第二平均帧率,所述第二周期为所述第一周期的整数倍;
根据所述第一平均帧率和第二平均帧率的差值,从所述第一平均帧率和第二平均帧率确认当前第一周期的视频播放帧率;
其中,所述根据所述第一平均帧率和第二平均帧率的差值,从所述第一平均帧率和第二平均帧率确认当前第一周期的视频播放帧率,包括:
当所述第一平均帧率和第二平均帧率的差值与所述第二平均帧率的差值在预设的第一范围以外,确认所述第一平均帧率为当前第一周期的视频播放帧率;
当所述第一平均帧率和第二平均帧率的差值与所述第二平均帧率的差值在预设的第一范围以内,确认所述第二平均帧率为当前第一周期的视频播放帧率。
2.根据权利要求1所述的视频播放方法,其特征在于,所述根据所述时间戳按预设的第一周期统计第一平均帧率,根据所述第一平均帧率更新预设的第二周期内的第二平均帧率,包括:
根据所述时间戳按预设的第一周期统计第一平均帧率,并统计第一周期内的图像帧的时间差;
在当前的第一周期内的最大时间差超出当前记录的第二平均帧率对应的平均时间差的差值在预设参考范围内的情况下,根据所述第一平均帧率更新预设的第二周期内的第二平均帧率和平均时间差。
3.根据权利要求2所述的视频播放方法,其特征在于,还包括:
在当前的第一周期内的最大时间差超出当前记录的第二平均帧率对应的平均时间差的差值超出预设参考范围的情况下,舍弃当前的第一周期内的统计结果。
4.根据权利要求1-3任一项所述的视频播放方法,其特征在于,还包括:
在所述视频播放的第一个第一周期,以预设的初始播放帧率作为视频播放帧率;
在所述视频播放的第二个第一周期到第二个第二周期之前,以所述第一平均帧率作为视频播放帧率。
5.根据权利要求1-3任一项所述的视频播放方法,其特征在于,还包括:
在所述视频播放的第一个第二周期,以预设的初始播放帧率作为视频播放帧率。
6.根据权利要求1所述的视频播放方法,其特征在于,所述第一周期为1S,所述第二周期为所述第一周期的至少三倍。
7.一种视频播放装置,其特征在于,包括:
时间戳获取单元,用于从解码器获取已解码的图像帧的时间戳;
平均帧率确认单元,用于根据所述时间戳按预设的第一周期统计第一平均帧率,根据所述第一平均帧率更新预设的第二周期内的第二平均帧率,所述第二周期为所述第一周期的整数倍;
播放帧率确认单元,用于根据所述第一平均帧率和第二平均帧率的差值,从所述第一平均帧率和第二平均帧率确认当前第一周期的视频播放帧率;
其中,所述播放帧率确认单元,包括:
第一确认模块,用于当第一平均帧率和第二平均帧率的差值与第二平均帧率的差值在预设的第一范围以外,确认第一平均帧率为当前第一周期的视频播放帧率;
第二确认模块,用于当第一平均帧率和第二平均帧率的差值与第二平均帧率的差值在预设的第一范围以内,确认第二平均帧率为当前第一周期的视频播放帧率。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述电子设备实现如权利要求1-6任一所述的视频播放方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6任一所述的视频播放方法。
CN202311217193.1A 2023-09-19 2023-09-19 视频播放方法、装置、电子设备和存储介质 Active CN117478958B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311217193.1A CN117478958B (zh) 2023-09-19 2023-09-19 视频播放方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311217193.1A CN117478958B (zh) 2023-09-19 2023-09-19 视频播放方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN117478958A CN117478958A (zh) 2024-01-30
CN117478958B true CN117478958B (zh) 2024-05-31

Family

ID=89622875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311217193.1A Active CN117478958B (zh) 2023-09-19 2023-09-19 视频播放方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN117478958B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618786A (zh) * 2014-12-22 2015-05-13 深圳市腾讯计算机系统有限公司 音视频同步方法和装置
CN107566830A (zh) * 2017-09-21 2018-01-09 威创集团股份有限公司 一种拼接处理器信号故障检测的方法、系统及相关装置
CN107659819A (zh) * 2017-10-30 2018-02-02 网宿科技股份有限公司 一种视频转码的方法和装置
CN110166808A (zh) * 2019-06-13 2019-08-23 深圳市拔超科技有限公司 一种解决晶振误差导致视频不同步的方法、装置及解码设备
CN113852824A (zh) * 2021-10-13 2021-12-28 网宿科技股份有限公司 视频转码方法、装置、电子设备和存储介质
CN115883899A (zh) * 2022-11-24 2023-03-31 重庆紫光华山智安科技有限公司 图像同屏播放方法、系统、电子设备及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8295344B2 (en) * 2007-10-22 2012-10-23 Broadcom Corporation Adaptive rate control for encoding of variable frame rate video sources

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618786A (zh) * 2014-12-22 2015-05-13 深圳市腾讯计算机系统有限公司 音视频同步方法和装置
CN107566830A (zh) * 2017-09-21 2018-01-09 威创集团股份有限公司 一种拼接处理器信号故障检测的方法、系统及相关装置
CN107659819A (zh) * 2017-10-30 2018-02-02 网宿科技股份有限公司 一种视频转码的方法和装置
CN110166808A (zh) * 2019-06-13 2019-08-23 深圳市拔超科技有限公司 一种解决晶振误差导致视频不同步的方法、装置及解码设备
CN113852824A (zh) * 2021-10-13 2021-12-28 网宿科技股份有限公司 视频转码方法、装置、电子设备和存储介质
CN115883899A (zh) * 2022-11-24 2023-03-31 重庆紫光华山智安科技有限公司 图像同屏播放方法、系统、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN117478958A (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
US10070144B2 (en) Video encoding apparatus, video decoding apparatus, video encoding method, and video decoding method
CN109660879B (zh) 直播丢帧方法、系统、计算机设备和存储介质
US20200177907A1 (en) Video encoding apparatus, video decoding apparatus, video encoding method, and video decoding method
CN109660805B (zh) 解码播放中音视频同步优化方法、存储介质、设备及系统
CN109168083B (zh) 一种流媒体实时播放方法及装置
WO2021082667A1 (zh) 视频数据编码方法、装置、设备和存储介质
US11438645B2 (en) Media information processing method, related device, and computer storage medium
CN106303379A (zh) 一种视频文件逆序播放方法及系统
KR20170065568A (ko) 샘플 메타데이터와 미디어 샘플들의 결합
CN112653904B (zh) 一种基于pts与dts修改的快速视频裁剪方法
WO2019128668A1 (zh) 视频码流处理方法、装置、网络设备和可读存储介质
CN117478958B (zh) 视频播放方法、装置、电子设备和存储介质
US10992946B2 (en) Coding of video and audio with initialization fragments
CN111726651A (zh) 一种基于hils协议的音视频流直播方法及系统
JP2002027483A (ja) 画像符号化装置、画像復号化装置および記憶媒体
CN108093258A (zh) 码流数据的解码方法、计算机装置及计算机可读存储介质
US6909450B2 (en) Video encoding and decoding method of mitigating data losses in an encoded video signal transmitted through a channel
CN115883836A (zh) 一种视频数据处理方法、装置、设备和存储介质
CN113824965A (zh) 一种视频编码方法、装置及电子设备
CN113261283A (zh) 视频处理方法、装置及计算机可读存储介质
CN115866300A (zh) Ts流时间同步信息插入方法、装置、设备及可读存储介质
JP2014135727A (ja) 映像伝送システム及び映像伝送方法
CN118138793A (zh) 基于iptv的音视频播放管控方法和装置、设备及介质
CN115633188A (zh) 视频流传输控制方法及装置、视频系统、设备和存储介质
CN112422974A (zh) 视频编码方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant