CN113490029A - 视频播放方法、装置、设备及存储介质 - Google Patents

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

Info

Publication number
CN113490029A
CN113490029A CN202110689866.8A CN202110689866A CN113490029A CN 113490029 A CN113490029 A CN 113490029A CN 202110689866 A CN202110689866 A CN 202110689866A CN 113490029 A CN113490029 A CN 113490029A
Authority
CN
China
Prior art keywords
video
frame
data
video data
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.)
Pending
Application number
CN202110689866.8A
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.)
Shenzhen TCL New Technology Co Ltd
Original Assignee
Shenzhen TCL New 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 Shenzhen TCL New Technology Co Ltd filed Critical Shenzhen TCL New Technology Co Ltd
Priority to CN202110689866.8A priority Critical patent/CN113490029A/zh
Publication of CN113490029A publication Critical patent/CN113490029A/zh
Pending legal-status Critical Current

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/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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • 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

Abstract

本发明公开了一种视频播放方法、装置、设备及存储介质。本发明通过对视频数据包进行解复用,以得到解复用数据,其中,解复用数据包括视频数据,视频数据包括多帧视频帧;判断解复用数据中是否存在视频数据对应的显示时间戳;若否,确定视频数据中第一帧视频帧的显示时间戳;基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳,其中,n为大于等于2的整数;根据第n帧视频帧的显示时间戳,播放第n帧视频帧,以播放视频数据;从而避免由于视频数据包中不存在视频数据的时间戳,导致视频播放卡顿、音画不同步的现象,提升视频播放的流畅性,提升用户体验。

Description

视频播放方法、装置、设备及存储介质
技术领域
本发明涉及数据处理领域,尤其涉及一种视频播放方法、装置、设备及存储介质。
背景技术
随着多媒体技术以及智能终端设备(例如智能电视、手机等)的发展,视频得到了越来越广泛的应用。用户可以在智能终端设备上选择感兴趣的视频进行播放。
但是,目前的视频播放方法中,视频播放容易出错,影响播放的流畅性,导致用户观看体验差的问题。
发明内容
本发明的主要目的在于提供一种视频播放方法、装置、设备及存储介质,旨在解决现有视频播放容易出错,影响播放的流畅性,导致用户观看体验差的问题。
为实现上述目的,本发明提供一种视频播放方法,所述视频播放方法包括:
对视频数据包进行解复用,以得到解复用数据;所述解复用数据包括视频数据,所述视频数据包括多帧视频帧;
判断所述解复用数据中是否存在所述视频数据对应的显示时间戳;
若否,确定所述视频数据中第一帧视频帧的显示时间戳;
基于所述第一帧视频帧的显示时间戳和所述视频数据的帧率,确定所述视频数据中第n帧视频帧的显示时间戳;所述n为大于等于2的整数;
根据所述第n帧视频帧的显示时间戳,播放所述第n帧视频帧,以播放所述视频数据。
可选的,所述判断所述解复用数据中是否存在所述视频数据对应的显示时间戳的步骤,包括:
确定所述视频数据的编码格式;
根据所述编码格式,判断所述解复用数据中,是否存在所述视频数据对应的显示时间戳。
可选的,所述根据所述编码格式,判断所述解复用数据中,是否存在所述视频数据对应的显示时间戳的步骤,包括:
若所述视频数据的编码格式为动态图像专家组MP4格式,则判断所述解复用数据中,是否存在取样成分时间包ctts box和跟踪碎片运行包trun box中的至少一个。
可选的,所述若否,确定所述视频数据中第一帧视频帧的显示时间戳的步骤包括:
若否,对所述视频数据进行解码,得到已解码视频数据;
确定所述已解码视频数据中第一帧视频帧的显示时间戳。
可选的,所述解复用数据中还包括音频数据和所述音频数据对应的显示时间戳;
所述视频播放方法还包括:
在所述视频数据的播放过程中,根据所述音频数据对应的显示时间戳,播放所述音频数据。
可选的,所述视频播放方法还包括:
在所述视频数据和所述音频数据的播放过程中,基于所述音频数据对应的显示时间戳,调整所述视频数据的播放状态。
可选的,所述在所述视频数据和所述音频数据的播放过程中,基于所述音频数据对应的显示时间戳,调整所述视频数据的播放状态的步骤,包括:
在所述视频数据和所述音频数据的播放过程中,将目标音频帧的第一显示时间戳与目标视频帧的第二显示时间戳进行比对;所述目标音频帧为所述音频数据中处于播放状态的音频帧,所述目标视频帧为所述视频数据中处于播放状态的视频帧;
若所述第一显示时间戳大于所述第二显示时间戳,则提高所述视频数据的播放速度,或,丢弃所述视频数据中,部分待播放的视频帧;
若所述第一显示时间戳小于所述第二显示时间戳,则降低所述视频数据的播放速度,或,延迟播放所述视频数据中,待播放的视频帧。
此外,为实现上述目的,本发明还提出一种视频播放装置,所述视频播放装置包括:
解复用模块,用于对视频数据包进行解复用,以得到解复用数据;所述解复用数据包括视频数据,所述视频数据包括多帧视频帧;
判断模块,用于判断所述解复用数据中是否存在所述视频数据对应的显示时间戳;
第一确定模块,用于若否,确定所述视频数据中第一帧视频帧的显示时间戳;
第二确定模块,用于基于所述第一帧视频帧的显示时间戳和所述视频数据的帧率,确定所述视频数据中第n帧视频帧的显示时间戳;所述n为大于等于2的整数;
播放模块,用于根据所述第n帧视频帧的显示时间戳,播放所述第n帧视频帧,以播放所述视频数据。
此外,为实现上述目的,本发明还提出一种视频播放设备,所述视频播放设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的视频播放程序,所述视频播放程序被所述处理器执行时实现如上述任一项所述的视频播放方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有视频播放程序,所述视频播放程序被处理器执行时实现上述任一项所述的视频播放方法的步骤。
本发明提供的技术方案,对视频数据包进行解复用,以得到解复用数据,其中,解复用数据包括视频数据,视频数据包括多帧视频帧;判断解复用数据中是否存在视频数据对应的显示时间戳;若否,确定视频数据中第一帧视频帧的显示时间戳;基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳,其中,n为大于等于2的整数;根据第n帧视频帧的显示时间戳,播放第n帧视频帧,以播放视频数据;也就是说,本发明提供的技术方案中,若视频数据包中不存在视频数据的显示时间戳,会确定各视频帧的显示时间戳,并且,是基于第一帧视频帧的显示时间戳和帧率,确定第n帧视频帧的显示时间戳,从而提升显示时间戳的准确性;避免由于视频数据包中不存在视频数据的显示时间戳,导致视频播放卡顿、音画不同步的现象,提升了视频播放的流畅性,提升了用户观看体验。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的视频播放设备结构示意图;
图2为本发明视频播放方法第一实施例的流程示意图;
图3为本发明视频播放方法第二实施例的流程示意图;
图4为本发明视频播放方法第五施例的流程示意图;
图5为本发明视频播放装置的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的视频播放设备结构示意图。
视频播放设备可以是移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)等用户设备(User Equipment,UE)、手持设备、车载设备、可穿戴设备、计算设备、监控设备、服务器或连接到无线调制解调器的其它处理设备、移动台(Mobile station,MS)等。
通常,视频播放设备包括:至少一个处理器101、存储器102以及存储在所述存储器上并可在所述处理器上运行的视频播放程序,所述视频播放程序配置为实现如下任一实施例所述的视频播放方法的步骤。
处理器101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。处理器101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关视频播放方法操作,使得视频播放方法模型可以自主训练学习,提高效率和准确度。
存储器102可以包括一个或多个存储介质,该存储介质可以是非暂态的。存储器102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器102中的非暂态的存储介质用于存储至少一个指令,该至少一个指令用于被处理器101所执行以实现本申请中方法实施例提供的视频播放方法的步骤。
在一些实施例中,视频播放设备还可选包括有:通信接口103和至少一个外围设备。处理器101、存储器102和通信接口103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口103相连。具体地,外围设备包括:射频电路104、显示屏105和电源106中的至少一种。
通信接口103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器101和存储器102。在一些实施例中,处理器101、存储器102和通信接口103被集成在同一芯片或电路板上;在一些其他实施例中,处理器101、存储器102和通信接口103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WIFI(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏105是触摸显示屏时,显示屏105还具有采集在显示屏105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器101进行处理。此时,显示屏105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏105可以为一个,电子设备的前面板;在另一些实施例中,显示屏105可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在再一些实施例中,显示屏105可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏105还可以设置成非矩形的不规则图形,也即异形屏。显示屏105可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
电源106用于为电子设备中的各个组件进行供电。电源106可以是交流电、直流电、一次性电池或可充电电池。当电源106包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。本领域技术人员可以理解,图1中示出的结构并不构成对视频播放设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有视频播放程序,所述视频播放程序被处理器执行时实现如下文任一实施例所述的视频播放方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。确定为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
本领域普通技术人员可以理解实现下文任一实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述视频播放程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如下述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
视频中,通常包括视频数据和音频数据。在视频播放的过程中,视频数据中各视频帧的显示时间戳(PTS,Presentation Time Stamp)是播放器用来确定各视频帧播放时间的依据。但是,在实际应用过程中,由于对视频数据进行编码时没有完全按照规范进行打包或者其他情况,导致视频数据包中,没有视频数据对应的显示时间戳或者视频数据对应的显示时间戳是错误的,从而在播放视频过程中,出现画面卡顿、音频数据和视频数据不同步等情况,影响视频播放的流畅性,导致用户观看体验差。
为了解决上述技术问题,基于上述硬件结构,提出本发明的各实施例。
视频播放方法实施例:
参照图2,图2为本发明视频播放方法第一实施例的流程示意图。本发明实施例中,视频播放方法包括以下步骤:
步骤S21:对视频数据包进行解复用,以得到解复用数据。
其中,解复用数据中包括视频数据,视频数据包括多帧视频帧。其中,“多”特指两个或至少两个。
需要说明的是,视频中通常包括视频数据,视频数据中包括一组视频帧(即多帧视频帧),对视频数据进行编码打包,从而得到视频数据包,以便于传输。
视频数据包的编码技术可以是AVC(Advanced Video Coding,高级视频编码),当然,也可以是其他视频编解码技术。
本发明实施例中,对视频数据包进行解复用,从而得到解复用数据。其中,解复用数据中,包括视频数据。
视频数据包可以是视频播放设备上存储的视频数据包,因此,可以从视频播放设备的存储器中,获取视频数据包,对视频数据包进行解复用,以得到解复用数据。
或者,视频数据包也可以是从CDN(Content Delivery Network,内容分发网络)等中获取的视频数据包。因此,可以从CDN或其他网络中接收视频数据包,对视频数据包进行解复用,从而得到解复用数据。
步骤S22:判断解复用数据中是否存在视频数据对应的显示时间戳。
在得到解复用数据之后,判断解复用数据中,是否存在视频数据对应的显示时间戳。其中,判断方式可以根据实际需要灵活设置。
步骤S23:若否,确定视频数据中第一帧视频帧的显示时间戳。
若解复用数据中,不存在视频数据对应的显示时间戳,为了避免播放错误,影响视频播放的流畅性等,本发明实施例中,确定视频数据中第一帧视频帧的显示时间戳。
其中,确定视频数据中,第一帧视频帧的显示时间戳的具体方式可以根据实际需要灵活设置。
例如,在一些实施方式中,第一帧视频帧的显示时间戳可以设置为0。
或者,在一些实施方式中,第一帧视频帧的显示时间戳可以基于上一个视频数据包的最后一帧视频帧的显示时间戳确定,例如,在进行传输时,会将一段视频划分为多个视频片段,分别进行编码,得到多个视频数据包,其中,可以设置本视频数据包中第一帧视频的显示时间戳与上一个视频数据包中最后一帧视频帧的显示时间戳相等;或者,本视频数据包中第一帧视频的显示时间戳=上一个视频数据包中最后一帧视频帧的显示时间戳+1/F。其中,F为视频数据的帧率。
或者,在一些实施方式中,视频数据包中包括音频数据和音频数据对应的显示时间戳,解复用数据中也包括音频数据和音频数据对应的显示时间戳,可以基于第一帧音频帧的显示时间戳确定第一帧视频帧的显示时间戳,例如,可以设置第一帧音频帧的显示时间戳等于第一帧视频帧的显示时间戳。
步骤S24:基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳。
其中,n为大于等于2的整数。n的取值范围为2~N,即n大于等于2,且小于等于N。N为视频数据包括的视频帧的数量。例如,假设视频数据中包括100帧视频帧,则N为100,n的取值范围为2~100。
本发明实施例中,在确定第一帧视频帧的显示时间戳之后,基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳。其中,具体的确定方式可以根据实际需要灵活设置。
例如,在一些实施方式中,可以直接基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳,确定方式可以如下:
Tn=T1+(n-1)*M
其中,Tn为视频数据中,第n帧视频帧的显示时间戳;T1为视频数据中,第一帧视频帧的显示时间戳;M=1/F,F为视频数据的帧率。
或者,在另一些实施方式中,可以基于第一帧视频帧的显示时间戳和视频数据的帧率,确定第二帧视频的显示时间戳,再基于第二帧视频帧的显示时间戳和视频数据的帧率,确定第三帧视频的显示时间戳,从而基于第n-1帧视频帧的显示时间戳和视频数据的帧率,确定第n帧视频的显示时间戳,确定方式可以如下:
Tn=Tn-1+M
其中,Tn-1为视频数据中,第n-1帧视频帧的显示时间戳。
例如,假设第3帧视频帧的显示时间戳为10毫秒(即0.01秒),视频数据的帧率为25帧/秒,则第4帧视频帧的显示时间戳为0.01+1/25=0.05秒=50毫秒。
步骤S25:根据第n帧视频帧的显示时间戳,播放第n帧视频帧,以播放视频数据。
在确定视频数据中第n帧视频帧的显示时间戳之后,即可根据第n帧视频帧的显示时间戳,播放第n帧视频帧,以播放视频数据。
本发明实施例提供的视频播放方法,对视频数据包进行解复用,以得到解复用数据,其中,解复用数据包括视频数据,视频数据包括多帧视频帧;判断解复用数据中是否存在视频数据对应的显示时间戳;若否,确定视频数据中第一帧视频帧的显示时间戳;基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳,其中,n为大于等于2的整数;根据第n帧视频帧的显示时间戳,播放第n帧视频帧,以播放视频数据;也就是说,本发明提供的技术方案中,若视频数据包中不存在视频数据的显示时间戳,会确定各视频帧的显示时间戳,并且,是基于第一帧视频帧的显示时间戳和帧率,确定第n帧视频帧的显示时间戳,从而提升显示时间戳的准确性;避免由于视频数据包中不存在视频数据的显示时间戳,导致视频播放卡顿、音画不同步的现象,提升了视频播放的流畅性,提升了用户观看体验。
基于第一实施例,提出本发明视频播放方法第二实施例。需要说明的是,视频数据的编码格式不同,其对应的显示时间戳的存在方式可以不同。因此,本发明实施例中,参见图3所示,步骤S22可以包括:
步骤S221:确定视频数据的编码格式。
其中,视频数据的编码格式包括但不限于:MP4(Moving Picture Experts Group4,动态图像专家组)、H.265(High Efficiency Video Coding,高效视频编码)、WebM等中的至少一个。WebM由Google(谷歌)提出,是一个开放、免费的媒体文件格式。
本发明实施例中,在得到解复用数据之后,先确定解复用数据中,视频数据的编码格式。
步骤S222:根据编码格式,判断解复用数据中,是否存在视频数据对应的显示时间戳。
本发明实施例中,根据编码格式,判断解复用数据中,是否存在视频数据对应的显示时间戳。
具体的,可以根据实际需要灵活设置。在一些实施方式中,可以预先设置编码格式与判断方式的映射关系,在确定视频数据的编码格式之后,根据视频数据的编码格式,从编码格式与判断方式的映射关系中查找出对应的判断方式,基于对应的判断方式,判断解复用数据中是否存在视频数据对应的显示时间戳。
例如,若编码格式为MP4格式,则可以判断解复用数据中是否存在ctts box(composition time to sample box,取样成分时间包)和trun box(track fragmentrunbox,跟踪碎片运行包)中的至少一个,从而判断解复用数据中,是否存在视频数据对应的显示时间戳。若解复用数据中存在ctts box和trun box中的至少一个,则判定解复用数据中存在视频数据对应的显示时间戳;若解复用数据中不存在ctts box和trun box,则判定解复用数据中不存在视频数据对应的显示时间戳。即,若解复用数据中存在ctts box、或解复用数据中存在trun box、或解复用数据中存在ctts box和trun box,则判定解复用数据中存在视频数据对应的显示时间戳;若解复用数据中既不存在ctts box,又不存在trunbox,则判定解复用数据中不存在视频数据对应的显示时间戳。
本发明实施例提供的视频播放方法,对视频数据包进行解复用,以得到包括视频数据的解复用数据后,先确定视频数据的编码格式;再根据编码格式,判断解复用数据中,是否存在视频数据对应的显示时间戳,从而提升了判断的准确性。
基于前述实施例,提出本发明视频播放方法第三实施例。本发明实施例中,步骤S23包括:
步骤S231:若否,对视频数据进行解码,得到已解码视频数据。
需要说明的是,在得到视频数据包的过程中,通常是先分别对视频数据和音频数据进行编码,编码之后,根据已编码视频数据和已编码音频数据进行复用得到视频数据包。在对视频数据包进行解复用之后,得到的视频数据为编码后的视频数据,即已编码视频数据。
本发明实施例中,对视频数据包进行解复用,得到包括已编码视频数据的解复用数据,并判定解复用数据中,不存在已编码视频数据对应的显示数据戳之后,对已编码视频数据进行解码,从而得到已解码视频数据。
步骤S232:确定已解码视频数据中第一帧视频帧的显示时间戳。
对视频数据进行解码时,解码出来的视频帧是有序的,在进行视频播放时,显示顺序是先解码出来的视频帧先显示,后解码出来的视频帧后显示。
本发明实施例中,可以基于已解码视频数据中各视频帧的先后顺序,确定第一帧视频帧,然后确定第一帧视频帧的显示时间戳。
本发明实施例中,步骤S24包括:基于第一帧视频帧的显示时间戳和视频数据的帧率,确定已解码视频数据中第n帧视频帧的显示时间戳。
其中,可以在从视频数据中,解码出第n帧视频帧之后,就基于第一帧视频帧的显示时间戳和视频数据的帧率,确定已解码视频数据中第n帧视频帧的显示时间戳;或者,可以在从视频数据中,解码出所有视频帧之后,再基于第一帧视频帧的显示时间戳和视频数据的帧率,确定已解码视频数据中第n帧视频帧的显示时间戳,从而确定视频数据中各视频帧的显示时间戳。
在一些实施方式中,步骤S231包括:若否,生成异常消息;然后,对视频数据进行解码,得到已解码视频数据;步骤S232包括:判断是否存在异常消息,若是,则确定视频数据中第一帧视频帧的显示时间戳。从而在视频解码阶段,只需判断是否存在异常消息,无需再遍历解复用数据以确定是否存在视频数据的显示时间戳,降低了功耗。
本发明实施例提供的视频播放方法,对视频数据包进行解复用,以得到解复用数据,并在判定解复用数据中不存在视频数据对应的显示数据戳时,先对视频数据进行解码得到已解码视频数据,再基于已解码视频数据中各视频帧的先后顺序,确定视频数据中第一帧视频帧的显示时间戳;然后基于第一帧视频帧的显示时间戳和视频数据的帧率,确定已解码视频数据中第n帧视频帧的显示时间戳,从而提升了各视频帧显示时间戳的准确性。
基于前述实施例,提出本发明视频播放方法第四实施例。本发明实施例中,步骤S21中,对视频数据包进行解复用,得到的解复用数据中,还包括音频数据和音频数据对应的显示时间戳。
需要说明的是,视频中通常包括视频数据和音频数据,对视频数据和音频数据进行编码打包,从而得到视频数据包,以便于传输;也就是说,视频数据包中,通常还包括音频数据以及音频数据对应的显示时间戳。音频数据对应的显示时间戳是播放器用来确定音频数据中各音频帧播放时间的依据。
在播放视频数据时,还需要播放音频数据,因此,本发明实施例中,视频播放方法还包括:
步骤S26:在视频数据的播放过程中,根据音频数据对应的显示时间戳,播放音频数据。
本发明实施例提供的视频播放方法,在播放视频数据的过程中,根据音频数据对应的显示时间戳,播放音频数据,从而实现了音画的播放。
基于第四实施例,提出本发明视频播放方法第五实施例。本发明实施例中,参见图4所示,在视频数据和音频数据的播放过程中,视频播放方法还包括:
步骤S27:在视频数据和音频数据的播放过程中,基于音频数据对应的显示时间戳,调整视频数据的播放状态。
在视频数据和音频数据的播放过程中,为了使得音画同步,可以基于音频数据对应的显示时间戳,调整视频数据的播放状态。也就是说,以音频数据对应的显示时间戳为参考时钟,调整视频数据的播放状态。
其中,具体的调整方式可以根据实际需要灵活设置。
在一些实施方式中,步骤S27可以包括:
步骤S271:在视频数据和音频数据的播放过程中,将目标音频帧的第一显示时间戳与目标视频帧的第二显示时间戳进行比对。
需要说明的是,目标音频帧为音频数据中的音频帧;目标视频帧为视频数据中的视频帧;将目标音频帧对应的第一显示时间戳与目标视频帧的第二显示时间戳进行对比,从而可以确定音频和视频的播放进度是否同步。
其中,为了使比对具有参考性,使得比对结果更加准确,目标音频帧可以是处于播放状态的音频帧(即当前正在播放的音频帧),目标视频帧可以是处于播放状态的视频帧(即当前正在播放的视频帧)。
或者,为了提前调整视频数据的播放状态,避免音频数据和视频数据的播放进度不同步的情况,目标音频帧可以是处于播放状态的音频帧的后d帧音频帧,目标视频帧可以是处于播放状态的视频帧的后d帧视频帧,其中,d的取值范围可以是1、2、3等。例如,假设d为2,处于播放状态的音频帧为第5帧音频帧,处于播放状态的视频帧为第8帧视频帧,则目标音频帧为第7帧音频帧(此时,目标音频帧处于待播放状态),目标视频帧为第10帧视频帧(此时,目标视频帧为处于待播放状态)。
或者,为了提前调整视频数据的播放状态,目标音频帧可以是:与处于播放状态的音频帧时差为t,且处于待播放状态的音频帧;目标视频帧可以是:与处于播放状态的视频帧时差为t,且处于待播放状态的视频帧,其中,t的取值范围可以是0.1秒、0.2秒、0.3秒等。例如,假设处于播放状态的音频帧的显示时间戳为15秒,处于播放状态的视频帧的显示时间戳为15.2秒,t为0.3秒,则目标音频帧的显示时间戳为15.3秒,目标视频帧的显示时间戳为15.5秒,若不存在显示时间戳为15.3秒的音频帧,则可以选择显示时间戳距离15.3秒最近的音频帧作为目标音频帧;若不存在显示时间戳为15.5秒的视频帧,则选择显示时间戳距离15.5秒最近的视频帧作为目标视频帧。
步骤S272:若第一显示时间戳大于第二显示时间戳,则提高视频数据的播放速度,或,丢弃视频数据中,部分待播放的视频帧。
若第一显示时间戳大于第二显示时间戳,则表明音频数据的播放进度与视频数据的播放进度不同步,且音频数据播放的进度超前,视频数据的播放进度落后,因此,为了使音频数据的播放进度和视频数据的播放进度同步,其处理方式包括但不限于以下方式:
第一种:提高视频数据的播放速度。
提高视频数据的播放速度,从而使视频数据的播放进度追赶上音频数据的播放进度。其中,提高的方式可以根据实际需要灵活设置。例如,假设视频数据的当前播放速度为25帧/秒,则可以将播放速度提升至30帧/秒。
第二种:丢弃视频数据中,部分待播放的视频帧。
丢弃视频数据中,部分待播放的视频帧,从而使视频数据的播放进度追赶上音频数据的播放进度。
其中,可以丢弃距离目标视频帧较近的待播放视频帧;例如,可以丢弃目标视频帧的后b帧视频帧。其中,b的具体取值可以根据实际需要灵活设置。例如,假设b为2,目标视频帧为第5帧视频帧,则丢弃第6帧、第7帧视频帧。
或者,可以丢弃显示时间戳处于第二显示时间戳和第一显示时间戳之间的视频帧,例如,假设第一显示时间戳为20秒,第二显示时间戳为15秒,则丢弃显示时间戳处于15秒-20秒这一范围内的视频帧,从而快速使视频数据的播放进度与音频数据的播放进度同步。
步骤S273:若第一显示时间戳小于第二显示时间戳,则降低视频数据的播放速度,或,延迟播放视频数据中,待播放的视频帧。
若第一显示时间戳小于第二显示时间戳,则表明音频数据的播放进度与视频数据的播放进度不同步,且音频数据的播放进度落后,视频数据的播放进度超前,因此,为了使音频数据的播放进度和视频数据的播放进度同步,其处理方式包括但不限于以下方式:
第一种:降低视频数据的播放速度。
降低视频数据的播放速度,从而使音频数据的播放进度追赶上视频数据的播放进度。其中,降低的方式可以根据实际需要灵活设置。例如,假设视频数据的当前播放速度为29帧/秒,则可以将播放速度提升至26帧/秒。
第二种:延迟播放视频数据中,待播放的视频帧。
延迟播放视频数据中,待播放的视频帧,从而使音频数据的播放进度追赶上视频数据的播放进度。
其中,可以延迟c秒,在播放播放视频数据中,待播放的视频帧。其中,c的取值可以根据实际需要灵活设置,例如,其可以是预设的值,例如0.1秒、0.2秒等;或者,c=第二显示时间戳-第一显示时间戳,从而快速使视频数据的播放进度与音频数据的播放进度同步。
若第一显示时间戳等于第二显示时间戳,则可以不调整视频数据的播放状态,按照当前播放状态继续播放。
为了避免频繁调整导致功耗增加的情况,可以在第一显示时间戳与第二数据戳的差值的绝对值,大于预设阈值时,才执行步骤S272或步骤S273,其中,预设阈值可以根据实际需要灵活设置,例如,可以设置为0.1秒、0.05秒等。
本发明实施例提供的视频播放方法,在视频数据和音频数据的播放过程中,基于音频数据对应的显示时间戳,调整视频数据播放状态,由于人对声音的敏感度要强于视频,频繁调节音频会带来较差的观看体验,因此,基于音频数据的显示时间戳,调整视频数据的播放进度,不仅可以使得音频数据的播放进度与视频数据的播放进度同步,还可以降低调整播放进度带来的对用户的影响,提升用户的观看体验。
视频播放装置实施例:
参照图5,图5为本发明视频播放装置的结构框图,其中,视频播放装置包括:
解复用模块51,用于对视频数据包进行解复用,以得到解复用数据;解复用数据包括视频数据,视频数据包括多帧视频帧。
判断模块52,用于判断解复用数据中是否存在视频数据对应的显示时间戳。
第一确定模块53,用于若否,确定视频数据中第一帧视频帧的显示时间戳。
第二确定模块54,用于基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳;n为大于等于2的整数;
播放模块55,用于根据第n帧视频帧的显示时间戳,播放第n帧视频帧,以播放视频数据。
需要说明的是,视频播放装置还可选的包括有对应的模块,以实施上述视频播放方法中的其他步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

Claims (10)

1.一种视频播放方法,其特征在于,所述视频播放方法包括:
对视频数据包进行解复用,以得到解复用数据;所述解复用数据包括视频数据,所述视频数据包括多帧视频帧;
判断所述解复用数据中是否存在所述视频数据对应的显示时间戳;
若否,确定所述视频数据中第一帧视频帧的显示时间戳;
基于所述第一帧视频帧的显示时间戳和所述视频数据的帧率,确定所述视频数据中第n帧视频帧的显示时间戳;所述n为大于等于2的整数;
根据所述第n帧视频帧的显示时间戳,播放所述第n帧视频帧,以播放所述视频数据。
2.如权利要求1所述的视频播放方法,其特征在于,所述判断所述解复用数据中是否存在所述视频数据对应的显示时间戳的步骤,包括:
确定所述视频数据的编码格式;
根据所述编码格式,判断所述解复用数据中,是否存在所述视频数据对应的显示时间戳。
3.如权利要求2所述的视频播放方法,其特征在于,所述根据所述编码格式,判断所述解复用数据中,是否存在所述视频数据对应的显示时间戳的步骤,包括:
若所述视频数据的编码格式为动态图像专家组MP4格式,则判断所述解复用数据中,是否存在取样成分时间包ctts box和跟踪碎片运行包trun box中的至少一个。
4.如权利要求1所述的视频播放方法,其特征在于,所述若否,确定所述视频数据中第一帧视频帧的显示时间戳的步骤包括:
若否,对所述视频数据进行解码,得到已解码视频数据;
确定所述已解码视频数据中第一帧视频帧的显示时间戳。
5.如权利要求1-4任一项所述的视频播放方法,其特征在于,所述解复用数据中还包括音频数据和所述音频数据对应的显示时间戳;
所述视频播放方法还包括:
在所述视频数据的播放过程中,根据所述音频数据对应的显示时间戳,播放所述音频数据。
6.如权利要求5所述的视频播放方法,其特征在于,所述视频播放方法还包括:
在所述视频数据和所述音频数据的播放过程中,基于所述音频数据对应的显示时间戳,调整所述视频数据的播放状态。
7.如权利要求6所述的视频播放方法,其特征在于,所述在所述视频数据和所述音频数据的播放过程中,基于所述音频数据对应的显示时间戳,调整所述视频数据的播放状态的步骤,包括:
在所述视频数据和所述音频数据的播放过程中,将目标音频帧的第一显示时间戳与目标视频帧的第二显示时间戳进行比对;所述目标音频帧为所述音频数据中处于播放状态的音频帧,所述目标视频帧为所述视频数据中处于播放状态的视频帧;
若所述第一显示时间戳大于所述第二显示时间戳,则提高所述视频数据的播放速度,或,丢弃所述视频数据中,部分待播放的视频帧;
若所述第一显示时间戳小于所述第二显示时间戳,则降低所述视频数据的播放速度,或,延迟播放所述视频数据中,待播放的视频帧。
8.一种视频播放装置,其特征在于,所述视频播放装置包括:
解复用模块,用于对视频数据包进行解复用,以得到解复用数据;所述解复用数据包括视频数据,所述视频数据包括多帧视频帧;
判断模块,用于判断所述解复用数据中是否存在所述视频数据对应的显示时间戳;
第一确定模块,用于若否,确定所述视频数据中第一帧视频帧的显示时间戳;
第二确定模块,用于基于所述第一帧视频帧的显示时间戳和所述视频数据的帧率,确定所述视频数据中第n帧视频帧的显示时间戳;所述n为大于等于2的整数;
播放模块,用于根据所述第n帧视频帧的显示时间戳,播放所述第n帧视频帧,以播放所述视频数据。
9.一种视频播放设备,其特征在于,所述视频播放设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的视频播放程序,所述视频播放程序被所述处理器执行时实现如权利要求1至7中任一项所述的视频播放方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有视频播放程序,所述视频播放程序被处理器执行时实现如权利要求1至7中任一项所述的视频播放方法的步骤。
CN202110689866.8A 2021-06-21 2021-06-21 视频播放方法、装置、设备及存储介质 Pending CN113490029A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110689866.8A CN113490029A (zh) 2021-06-21 2021-06-21 视频播放方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110689866.8A CN113490029A (zh) 2021-06-21 2021-06-21 视频播放方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113490029A true CN113490029A (zh) 2021-10-08

Family

ID=77933971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110689866.8A Pending CN113490029A (zh) 2021-06-21 2021-06-21 视频播放方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113490029A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095784A (zh) * 2021-11-19 2022-02-25 浩云科技股份有限公司 H.265格式视频流转码播放方法、系统、设备及介质
CN114554269A (zh) * 2022-02-25 2022-05-27 深圳Tcl新技术有限公司 数据处理方法、电子设备及计算机可读存储介质
CN115174978A (zh) * 2022-06-08 2022-10-11 聚好看科技股份有限公司 一种3d数字人的音画同步方法及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102421035A (zh) * 2011-12-31 2012-04-18 青岛海信宽带多媒体技术有限公司 数字电视音视频同步的实现方法及装置
CN102724559A (zh) * 2012-06-13 2012-10-10 天脉聚源(北京)传媒科技有限公司 一种音视频编码同步方法和系统
CN104618786A (zh) * 2014-12-22 2015-05-13 深圳市腾讯计算机系统有限公司 音视频同步方法和装置
CN107580264A (zh) * 2017-08-29 2018-01-12 青岛海信电器股份有限公司 多媒体资源播放处理方法及装置
CN109819315A (zh) * 2019-03-21 2019-05-28 广州华多网络科技有限公司 Hevc视频的播放方法、装置、终端及存储介质
CN110753202A (zh) * 2019-10-30 2020-02-04 广州河东科技有限公司 可视对讲系统的音视频同步方法、装置、设备及存储介质
CN111757158A (zh) * 2020-06-29 2020-10-09 北京百度网讯科技有限公司 音视频同步播放方法、装置、设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102421035A (zh) * 2011-12-31 2012-04-18 青岛海信宽带多媒体技术有限公司 数字电视音视频同步的实现方法及装置
CN102724559A (zh) * 2012-06-13 2012-10-10 天脉聚源(北京)传媒科技有限公司 一种音视频编码同步方法和系统
CN104618786A (zh) * 2014-12-22 2015-05-13 深圳市腾讯计算机系统有限公司 音视频同步方法和装置
CN107580264A (zh) * 2017-08-29 2018-01-12 青岛海信电器股份有限公司 多媒体资源播放处理方法及装置
CN109819315A (zh) * 2019-03-21 2019-05-28 广州华多网络科技有限公司 Hevc视频的播放方法、装置、终端及存储介质
CN110753202A (zh) * 2019-10-30 2020-02-04 广州河东科技有限公司 可视对讲系统的音视频同步方法、装置、设备及存储介质
CN111757158A (zh) * 2020-06-29 2020-10-09 北京百度网讯科技有限公司 音视频同步播放方法、装置、设备和存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095784A (zh) * 2021-11-19 2022-02-25 浩云科技股份有限公司 H.265格式视频流转码播放方法、系统、设备及介质
CN114095784B (zh) * 2021-11-19 2024-02-09 浩云科技股份有限公司 H.265格式视频流转码播放方法、系统、设备及介质
CN114554269A (zh) * 2022-02-25 2022-05-27 深圳Tcl新技术有限公司 数据处理方法、电子设备及计算机可读存储介质
CN115174978A (zh) * 2022-06-08 2022-10-11 聚好看科技股份有限公司 一种3d数字人的音画同步方法及电子设备
CN115174978B (zh) * 2022-06-08 2023-11-24 聚好看科技股份有限公司 一种3d数字人的音画同步方法及电子设备

Similar Documents

Publication Publication Date Title
CN113490029A (zh) 视频播放方法、装置、设备及存储介质
CN106603543B (zh) 校正流媒体音视频同步的方法及装置
KR100711177B1 (ko) 방송국 동기 방법 및 휴대 단말기
CN109218795B (zh) 一种多设备播放进度同步方法、装置及终端设备
US9961393B2 (en) Method and device for playing multimedia file
KR102126257B1 (ko) 멀티뷰 스트리밍 서비스 지원 방법 및 이를 지원하는 장치
CN110324689B (zh) 音视频同步播放的方法、装置、终端及存储介质
CN109874043B (zh) 视频流发送方法、播放方法及装置
CN105577947B (zh) 控制方法及电子设备
CN109819303B (zh) 数据输出方法及相关设备
CN105191321A (zh) 分发控制系统、分发控制方法和计算机可读存储介质
EP3930335A1 (en) Resource transmission method and terminal
EP3952316A1 (en) Resource transmission method and terminal
US20140293135A1 (en) Power save for audio/video transmissions over wired interface
CN109729391A (zh) 一种多路媒体流的发送方法及系统
CN111988654B (zh) 视频数据对齐方法、装置和电子设备
KR20150028588A (ko) 스트리밍 서비스를 위한 전자 장치 및 방법
CN105122818A (zh) 计算机系统、分发控制系统、分发控制方法和计算机可读存储介质
CN112165645A (zh) 播放设备的控制方法、播放设备及计算机存储介质
US20220095020A1 (en) Method for switching a bit rate, and electronic device
CN104427383B (zh) 一种信息处理方法以及电子设备
CN109753262B (zh) 帧显示处理方法、装置、终端设备及存储介质
JP2005101766A (ja) 電子装置及びその制御方法
KR20210028880A (ko) 디스플레이 장치 및 그 제어 방법
US20150067508A1 (en) Point-to-point content navigation using an auxiliary device

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20211008

RJ01 Rejection of invention patent application after publication