视频播放方法、装置、设备及存储介质与流程

文档序号:26853706发布日期:2021-10-09 02:48阅读:98来源:国知局
视频播放方法、装置、设备及存储介质与流程

1.本发明涉及数据处理领域,尤其涉及一种视频播放方法、装置、设备及存储介质。


背景技术:

2.随着多媒体技术以及智能终端设备(例如智能电视、手机等)的发展,视频得到了越来越广泛的应用。用户可以在智能终端设备上选择感兴趣的视频进行播放。
3.但是,目前的视频播放方法中,视频播放容易出错,影响播放的流畅性,导致用户观看体验差的问题。


技术实现要素:

4.本发明的主要目的在于提供一种视频播放方法、装置、设备及存储介质,旨在解决现有视频播放容易出错,影响播放的流畅性,导致用户观看体验差的问题。
5.为实现上述目的,本发明提供一种视频播放方法,所述视频播放方法包括:
6.对视频数据包进行解复用,以得到解复用数据;所述解复用数据包括视频数据,所述视频数据包括多帧视频帧;
7.判断所述解复用数据中是否存在所述视频数据对应的显示时间戳;
8.若否,确定所述视频数据中第一帧视频帧的显示时间戳;
9.基于所述第一帧视频帧的显示时间戳和所述视频数据的帧率,确定所述视频数据中第n帧视频帧的显示时间戳;所述n为大于等于2的整数;
10.根据所述第n帧视频帧的显示时间戳,播放所述第n帧视频帧,以播放所述视频数据。
11.可选的,所述判断所述解复用数据中是否存在所述视频数据对应的显示时间戳的步骤,包括:
12.确定所述视频数据的编码格式;
13.根据所述编码格式,判断所述解复用数据中,是否存在所述视频数据对应的显示时间戳。
14.可选的,所述根据所述编码格式,判断所述解复用数据中,是否存在所述视频数据对应的显示时间戳的步骤,包括:
15.若所述视频数据的编码格式为动态图像专家组mp4格式,则判断所述解复用数据中,是否存在取样成分时间包ctts box和跟踪碎片运行包trun box中的至少一个。
16.可选的,所述若否,确定所述视频数据中第一帧视频帧的显示时间戳的步骤包括:
17.若否,对所述视频数据进行解码,得到已解码视频数据;
18.确定所述已解码视频数据中第一帧视频帧的显示时间戳。
19.可选的,所述解复用数据中还包括音频数据和所述音频数据对应的显示时间戳;
20.所述视频播放方法还包括:
21.在所述视频数据的播放过程中,根据所述音频数据对应的显示时间戳,播放所述
音频数据。
22.可选的,所述视频播放方法还包括:
23.在所述视频数据和所述音频数据的播放过程中,基于所述音频数据对应的显示时间戳,调整所述视频数据的播放状态。
24.可选的,所述在所述视频数据和所述音频数据的播放过程中,基于所述音频数据对应的显示时间戳,调整所述视频数据的播放状态的步骤,包括:
25.在所述视频数据和所述音频数据的播放过程中,将目标音频帧的第一显示时间戳与目标视频帧的第二显示时间戳进行比对;所述目标音频帧为所述音频数据中处于播放状态的音频帧,所述目标视频帧为所述视频数据中处于播放状态的视频帧;
26.若所述第一显示时间戳大于所述第二显示时间戳,则提高所述视频数据的播放速度,或,丢弃所述视频数据中,部分待播放的视频帧;
27.若所述第一显示时间戳小于所述第二显示时间戳,则降低所述视频数据的播放速度,或,延迟播放所述视频数据中,待播放的视频帧。
28.此外,为实现上述目的,本发明还提出一种视频播放装置,所述视频播放装置包括:
29.解复用模块,用于对视频数据包进行解复用,以得到解复用数据;所述解复用数据包括视频数据,所述视频数据包括多帧视频帧;
30.判断模块,用于判断所述解复用数据中是否存在所述视频数据对应的显示时间戳;
31.第一确定模块,用于若否,确定所述视频数据中第一帧视频帧的显示时间戳;
32.第二确定模块,用于基于所述第一帧视频帧的显示时间戳和所述视频数据的帧率,确定所述视频数据中第n帧视频帧的显示时间戳;所述n为大于等于2的整数;
33.播放模块,用于根据所述第n帧视频帧的显示时间戳,播放所述第n帧视频帧,以播放所述视频数据。
34.此外,为实现上述目的,本发明还提出一种视频播放设备,所述视频播放设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的视频播放程序,所述视频播放程序被所述处理器执行时实现如上述任一项所述的视频播放方法的步骤。
35.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有视频播放程序,所述视频播放程序被处理器执行时实现上述任一项所述的视频播放方法的步骤。
36.本发明提供的技术方案,对视频数据包进行解复用,以得到解复用数据,其中,解复用数据包括视频数据,视频数据包括多帧视频帧;判断解复用数据中是否存在视频数据对应的显示时间戳;若否,确定视频数据中第一帧视频帧的显示时间戳;基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳,其中,n为大于等于2的整数;根据第n帧视频帧的显示时间戳,播放第n帧视频帧,以播放视频数据;也就是说,本发明提供的技术方案中,若视频数据包中不存在视频数据的显示时间戳,会确定各视频帧的显示时间戳,并且,是基于第一帧视频帧的显示时间戳和帧率,确定第n帧视频帧的显示时间戳,从而提升显示时间戳的准确性;避免由于视频数据包中不存在视频数据的显示时间戳,导致视频播放卡顿、音画不同步的现象,提升了视频播放的流畅性,提升了用
户观看体验。
附图说明
37.图1是本发明实施例方案涉及的硬件运行环境的视频播放设备结构示意图;
38.图2为本发明视频播放方法第一实施例的流程示意图;
39.图3为本发明视频播放方法第二实施例的流程示意图;
40.图4为本发明视频播放方法第五施例的流程示意图;
41.图5为本发明视频播放装置的结构框图。
42.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
43.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
44.参照图1,图1为本发明实施例方案涉及的硬件运行环境的视频播放设备结构示意图。
45.视频播放设备可以是移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(pda)、平板电脑(pad)等用户设备(user equipment,ue)、手持设备、车载设备、可穿戴设备、计算设备、监控设备、服务器或连接到无线调制解调器的其它处理设备、移动台(mobile station,ms)等。
46.通常,视频播放设备包括:至少一个处理器101、存储器102以及存储在所述存储器上并可在所述处理器上运行的视频播放程序,所述视频播放程序配置为实现如下任一实施例所述的视频播放方法的步骤。
47.处理器101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器101可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器101可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。处理器101还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关视频播放方法操作,使得视频播放方法模型可以自主训练学习,提高效率和准确度。
48.存储器102可以包括一个或多个存储介质,该存储介质可以是非暂态的。存储器102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器102中的非暂态的存储介质用于存储至少一个指令,该至少一个指令用于被处理器101所执行以实现本技术中方法实施例提供的视频播放方法的步骤。
49.在一些实施例中,视频播放设备还可选包括有:通信接口103和至少一个外围设备。处理器101、存储器102和通信接口103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口103相连。具体地,外围设备包括:射频电路104、
accessmemory,ram)等。
56.视频中,通常包括视频数据和音频数据。在视频播放的过程中,视频数据中各视频帧的显示时间戳(pts,presentation time stamp)是播放器用来确定各视频帧播放时间的依据。但是,在实际应用过程中,由于对视频数据进行编码时没有完全按照规范进行打包或者其他情况,导致视频数据包中,没有视频数据对应的显示时间戳或者视频数据对应的显示时间戳是错误的,从而在播放视频过程中,出现画面卡顿、音频数据和视频数据不同步等情况,影响视频播放的流畅性,导致用户观看体验差。
57.为了解决上述技术问题,基于上述硬件结构,提出本发明的各实施例。
58.视频播放方法实施例:
59.参照图2,图2为本发明视频播放方法第一实施例的流程示意图。本发明实施例中,视频播放方法包括以下步骤:
60.步骤s21:对视频数据包进行解复用,以得到解复用数据。
61.其中,解复用数据中包括视频数据,视频数据包括多帧视频帧。其中,“多”特指两个或至少两个。
62.需要说明的是,视频中通常包括视频数据,视频数据中包括一组视频帧(即多帧视频帧),对视频数据进行编码打包,从而得到视频数据包,以便于传输。
63.视频数据包的编码技术可以是avc(advanced video coding,高级视频编码),当然,也可以是其他视频编解码技术。
64.本发明实施例中,对视频数据包进行解复用,从而得到解复用数据。其中,解复用数据中,包括视频数据。
65.视频数据包可以是视频播放设备上存储的视频数据包,因此,可以从视频播放设备的存储器中,获取视频数据包,对视频数据包进行解复用,以得到解复用数据。
66.或者,视频数据包也可以是从cdn(content delivery network,内容分发网络)等中获取的视频数据包。因此,可以从cdn或其他网络中接收视频数据包,对视频数据包进行解复用,从而得到解复用数据。
67.步骤s22:判断解复用数据中是否存在视频数据对应的显示时间戳。
68.在得到解复用数据之后,判断解复用数据中,是否存在视频数据对应的显示时间戳。其中,判断方式可以根据实际需要灵活设置。
69.步骤s23:若否,确定视频数据中第一帧视频帧的显示时间戳。
70.若解复用数据中,不存在视频数据对应的显示时间戳,为了避免播放错误,影响视频播放的流畅性等,本发明实施例中,确定视频数据中第一帧视频帧的显示时间戳。
71.其中,确定视频数据中,第一帧视频帧的显示时间戳的具体方式可以根据实际需要灵活设置。
72.例如,在一些实施方式中,第一帧视频帧的显示时间戳可以设置为0。
73.或者,在一些实施方式中,第一帧视频帧的显示时间戳可以基于上一个视频数据包的最后一帧视频帧的显示时间戳确定,例如,在进行传输时,会将一段视频划分为多个视频片段,分别进行编码,得到多个视频数据包,其中,可以设置本视频数据包中第一帧视频的显示时间戳与上一个视频数据包中最后一帧视频帧的显示时间戳相等;或者,本视频数据包中第一帧视频的显示时间戳=上一个视频数据包中最后一帧视频帧的显示时间戳+1/
f。其中,f为视频数据的帧率。
74.或者,在一些实施方式中,视频数据包中包括音频数据和音频数据对应的显示时间戳,解复用数据中也包括音频数据和音频数据对应的显示时间戳,可以基于第一帧音频帧的显示时间戳确定第一帧视频帧的显示时间戳,例如,可以设置第一帧音频帧的显示时间戳等于第一帧视频帧的显示时间戳。
75.步骤s24:基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳。
76.其中,n为大于等于2的整数。n的取值范围为2~n,即n大于等于2,且小于等于n。n为视频数据包括的视频帧的数量。例如,假设视频数据中包括100帧视频帧,则n为100,n的取值范围为2~100。
77.本发明实施例中,在确定第一帧视频帧的显示时间戳之后,基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳。其中,具体的确定方式可以根据实际需要灵活设置。
78.例如,在一些实施方式中,可以直接基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳,确定方式可以如下:
79.t
n
=t1+(n

1)*m
80.其中,t
n
为视频数据中,第n帧视频帧的显示时间戳;t1为视频数据中,第一帧视频帧的显示时间戳;m=1/f,f为视频数据的帧率。
81.或者,在另一些实施方式中,可以基于第一帧视频帧的显示时间戳和视频数据的帧率,确定第二帧视频的显示时间戳,再基于第二帧视频帧的显示时间戳和视频数据的帧率,确定第三帧视频的显示时间戳,从而基于第n

1帧视频帧的显示时间戳和视频数据的帧率,确定第n帧视频的显示时间戳,确定方式可以如下:
82.t
n
=t
n
‑1+m
83.其中,t
n
‑1为视频数据中,第n

1帧视频帧的显示时间戳。
84.例如,假设第3帧视频帧的显示时间戳为10毫秒(即0.01秒),视频数据的帧率为25帧/秒,则第4帧视频帧的显示时间戳为0.01+1/25=0.05秒=50毫秒。
85.步骤s25:根据第n帧视频帧的显示时间戳,播放第n帧视频帧,以播放视频数据。
86.在确定视频数据中第n帧视频帧的显示时间戳之后,即可根据第n帧视频帧的显示时间戳,播放第n帧视频帧,以播放视频数据。
87.本发明实施例提供的视频播放方法,对视频数据包进行解复用,以得到解复用数据,其中,解复用数据包括视频数据,视频数据包括多帧视频帧;判断解复用数据中是否存在视频数据对应的显示时间戳;若否,确定视频数据中第一帧视频帧的显示时间戳;基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳,其中,n为大于等于2的整数;根据第n帧视频帧的显示时间戳,播放第n帧视频帧,以播放视频数据;也就是说,本发明提供的技术方案中,若视频数据包中不存在视频数据的显示时间戳,会确定各视频帧的显示时间戳,并且,是基于第一帧视频帧的显示时间戳和帧率,确定第n帧视频帧的显示时间戳,从而提升显示时间戳的准确性;避免由于视频数据包中不存在视频数据的显示时间戳,导致视频播放卡顿、音画不同步的现象,提升了视频播放的流畅性,提升了用户观看体验。
88.基于第一实施例,提出本发明视频播放方法第二实施例。需要说明的是,视频数据的编码格式不同,其对应的显示时间戳的存在方式可以不同。因此,本发明实施例中,参见图3所示,步骤s22可以包括:
89.步骤s221:确定视频数据的编码格式。
90.其中,视频数据的编码格式包括但不限于:mp4(moving picture experts group 4,动态图像专家组)、h.265(high efficiency video coding,高效视频编码)、webm等中的至少一个。webm由google(谷歌)提出,是一个开放、免费的媒体文件格式。
91.本发明实施例中,在得到解复用数据之后,先确定解复用数据中,视频数据的编码格式。
92.步骤s222:根据编码格式,判断解复用数据中,是否存在视频数据对应的显示时间戳。
93.本发明实施例中,根据编码格式,判断解复用数据中,是否存在视频数据对应的显示时间戳。
94.具体的,可以根据实际需要灵活设置。在一些实施方式中,可以预先设置编码格式与判断方式的映射关系,在确定视频数据的编码格式之后,根据视频数据的编码格式,从编码格式与判断方式的映射关系中查找出对应的判断方式,基于对应的判断方式,判断解复用数据中是否存在视频数据对应的显示时间戳。
95.例如,若编码格式为mp4格式,则可以判断解复用数据中是否存在ctts box(composition time to sample box,取样成分时间包)和trun box(track fragment runbox,跟踪碎片运行包)中的至少一个,从而判断解复用数据中,是否存在视频数据对应的显示时间戳。若解复用数据中存在ctts box和trun box中的至少一个,则判定解复用数据中存在视频数据对应的显示时间戳;若解复用数据中不存在ctts box和trun box,则判定解复用数据中不存在视频数据对应的显示时间戳。即,若解复用数据中存在ctts box、或解复用数据中存在trun box、或解复用数据中存在ctts box和trun box,则判定解复用数据中存在视频数据对应的显示时间戳;若解复用数据中既不存在ctts box,又不存在trun box,则判定解复用数据中不存在视频数据对应的显示时间戳。
96.本发明实施例提供的视频播放方法,对视频数据包进行解复用,以得到包括视频数据的解复用数据后,先确定视频数据的编码格式;再根据编码格式,判断解复用数据中,是否存在视频数据对应的显示时间戳,从而提升了判断的准确性。
97.基于前述实施例,提出本发明视频播放方法第三实施例。本发明实施例中,步骤s23包括:
98.步骤s231:若否,对视频数据进行解码,得到已解码视频数据。
99.需要说明的是,在得到视频数据包的过程中,通常是先分别对视频数据和音频数据进行编码,编码之后,根据已编码视频数据和已编码音频数据进行复用得到视频数据包。在对视频数据包进行解复用之后,得到的视频数据为编码后的视频数据,即已编码视频数据。
100.本发明实施例中,对视频数据包进行解复用,得到包括已编码视频数据的解复用数据,并判定解复用数据中,不存在已编码视频数据对应的显示数据戳之后,对已编码视频数据进行解码,从而得到已解码视频数据。
101.步骤s232:确定已解码视频数据中第一帧视频帧的显示时间戳。
102.对视频数据进行解码时,解码出来的视频帧是有序的,在进行视频播放时,显示顺序是先解码出来的视频帧先显示,后解码出来的视频帧后显示。
103.本发明实施例中,可以基于已解码视频数据中各视频帧的先后顺序,确定第一帧视频帧,然后确定第一帧视频帧的显示时间戳。
104.本发明实施例中,步骤s24包括:基于第一帧视频帧的显示时间戳和视频数据的帧率,确定已解码视频数据中第n帧视频帧的显示时间戳。
105.其中,可以在从视频数据中,解码出第n帧视频帧之后,就基于第一帧视频帧的显示时间戳和视频数据的帧率,确定已解码视频数据中第n帧视频帧的显示时间戳;或者,可以在从视频数据中,解码出所有视频帧之后,再基于第一帧视频帧的显示时间戳和视频数据的帧率,确定已解码视频数据中第n帧视频帧的显示时间戳,从而确定视频数据中各视频帧的显示时间戳。
106.在一些实施方式中,步骤s231包括:若否,生成异常消息;然后,对视频数据进行解码,得到已解码视频数据;步骤s232包括:判断是否存在异常消息,若是,则确定视频数据中第一帧视频帧的显示时间戳。从而在视频解码阶段,只需判断是否存在异常消息,无需再遍历解复用数据以确定是否存在视频数据的显示时间戳,降低了功耗。
107.本发明实施例提供的视频播放方法,对视频数据包进行解复用,以得到解复用数据,并在判定解复用数据中不存在视频数据对应的显示数据戳时,先对视频数据进行解码得到已解码视频数据,再基于已解码视频数据中各视频帧的先后顺序,确定视频数据中第一帧视频帧的显示时间戳;然后基于第一帧视频帧的显示时间戳和视频数据的帧率,确定已解码视频数据中第n帧视频帧的显示时间戳,从而提升了各视频帧显示时间戳的准确性。
108.基于前述实施例,提出本发明视频播放方法第四实施例。本发明实施例中,步骤s21中,对视频数据包进行解复用,得到的解复用数据中,还包括音频数据和音频数据对应的显示时间戳。
109.需要说明的是,视频中通常包括视频数据和音频数据,对视频数据和音频数据进行编码打包,从而得到视频数据包,以便于传输;也就是说,视频数据包中,通常还包括音频数据以及音频数据对应的显示时间戳。音频数据对应的显示时间戳是播放器用来确定音频数据中各音频帧播放时间的依据。
110.在播放视频数据时,还需要播放音频数据,因此,本发明实施例中,视频播放方法还包括:
111.步骤s26:在视频数据的播放过程中,根据音频数据对应的显示时间戳,播放音频数据。
112.本发明实施例提供的视频播放方法,在播放视频数据的过程中,根据音频数据对应的显示时间戳,播放音频数据,从而实现了音画的播放。
113.基于第四实施例,提出本发明视频播放方法第五实施例。本发明实施例中,参见图4所示,在视频数据和音频数据的播放过程中,视频播放方法还包括:
114.步骤s27:在视频数据和音频数据的播放过程中,基于音频数据对应的显示时间戳,调整视频数据的播放状态。
115.在视频数据和音频数据的播放过程中,为了使得音画同步,可以基于音频数据对
应的显示时间戳,调整视频数据的播放状态。也就是说,以音频数据对应的显示时间戳为参考时钟,调整视频数据的播放状态。
116.其中,具体的调整方式可以根据实际需要灵活设置。
117.在一些实施方式中,步骤s27可以包括:
118.步骤s271:在视频数据和音频数据的播放过程中,将目标音频帧的第一显示时间戳与目标视频帧的第二显示时间戳进行比对。
119.需要说明的是,目标音频帧为音频数据中的音频帧;目标视频帧为视频数据中的视频帧;将目标音频帧对应的第一显示时间戳与目标视频帧的第二显示时间戳进行对比,从而可以确定音频和视频的播放进度是否同步。
120.其中,为了使比对具有参考性,使得比对结果更加准确,目标音频帧可以是处于播放状态的音频帧(即当前正在播放的音频帧),目标视频帧可以是处于播放状态的视频帧(即当前正在播放的视频帧)。
121.或者,为了提前调整视频数据的播放状态,避免音频数据和视频数据的播放进度不同步的情况,目标音频帧可以是处于播放状态的音频帧的后d帧音频帧,目标视频帧可以是处于播放状态的视频帧的后d帧视频帧,其中,d的取值范围可以是1、2、3等。例如,假设d为2,处于播放状态的音频帧为第5帧音频帧,处于播放状态的视频帧为第8帧视频帧,则目标音频帧为第7帧音频帧(此时,目标音频帧处于待播放状态),目标视频帧为第10帧视频帧(此时,目标视频帧为处于待播放状态)。
122.或者,为了提前调整视频数据的播放状态,目标音频帧可以是:与处于播放状态的音频帧时差为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秒最近的视频帧作为目标视频帧。
123.步骤s272:若第一显示时间戳大于第二显示时间戳,则提高视频数据的播放速度,或,丢弃视频数据中,部分待播放的视频帧。
124.若第一显示时间戳大于第二显示时间戳,则表明音频数据的播放进度与视频数据的播放进度不同步,且音频数据播放的进度超前,视频数据的播放进度落后,因此,为了使音频数据的播放进度和视频数据的播放进度同步,其处理方式包括但不限于以下方式:
125.第一种:提高视频数据的播放速度。
126.提高视频数据的播放速度,从而使视频数据的播放进度追赶上音频数据的播放进度。其中,提高的方式可以根据实际需要灵活设置。例如,假设视频数据的当前播放速度为25帧/秒,则可以将播放速度提升至30帧/秒。
127.第二种:丢弃视频数据中,部分待播放的视频帧。
128.丢弃视频数据中,部分待播放的视频帧,从而使视频数据的播放进度追赶上音频数据的播放进度。
129.其中,可以丢弃距离目标视频帧较近的待播放视频帧;例如,可以丢弃目标视频帧
的后b帧视频帧。其中,b的具体取值可以根据实际需要灵活设置。例如,假设b为2,目标视频帧为第5帧视频帧,则丢弃第6帧、第7帧视频帧。
130.或者,可以丢弃显示时间戳处于第二显示时间戳和第一显示时间戳之间的视频帧,例如,假设第一显示时间戳为20秒,第二显示时间戳为15秒,则丢弃显示时间戳处于15秒

20秒这一范围内的视频帧,从而快速使视频数据的播放进度与音频数据的播放进度同步。
131.步骤s273:若第一显示时间戳小于第二显示时间戳,则降低视频数据的播放速度,或,延迟播放视频数据中,待播放的视频帧。
132.若第一显示时间戳小于第二显示时间戳,则表明音频数据的播放进度与视频数据的播放进度不同步,且音频数据的播放进度落后,视频数据的播放进度超前,因此,为了使音频数据的播放进度和视频数据的播放进度同步,其处理方式包括但不限于以下方式:
133.第一种:降低视频数据的播放速度。
134.降低视频数据的播放速度,从而使音频数据的播放进度追赶上视频数据的播放进度。其中,降低的方式可以根据实际需要灵活设置。例如,假设视频数据的当前播放速度为29帧/秒,则可以将播放速度提升至26帧/秒。
135.第二种:延迟播放视频数据中,待播放的视频帧。
136.延迟播放视频数据中,待播放的视频帧,从而使音频数据的播放进度追赶上视频数据的播放进度。
137.其中,可以延迟c秒,在播放播放视频数据中,待播放的视频帧。其中,c的取值可以根据实际需要灵活设置,例如,其可以是预设的值,例如0.1秒、0.2秒等;或者,c=第二显示时间戳

第一显示时间戳,从而快速使视频数据的播放进度与音频数据的播放进度同步。
138.若第一显示时间戳等于第二显示时间戳,则可以不调整视频数据的播放状态,按照当前播放状态继续播放。
139.为了避免频繁调整导致功耗增加的情况,可以在第一显示时间戳与第二数据戳的差值的绝对值,大于预设阈值时,才执行步骤s272或步骤s273,其中,预设阈值可以根据实际需要灵活设置,例如,可以设置为0.1秒、0.05秒等。
140.本发明实施例提供的视频播放方法,在视频数据和音频数据的播放过程中,基于音频数据对应的显示时间戳,调整视频数据播放状态,由于人对声音的敏感度要强于视频,频繁调节音频会带来较差的观看体验,因此,基于音频数据的显示时间戳,调整视频数据的播放进度,不仅可以使得音频数据的播放进度与视频数据的播放进度同步,还可以降低调整播放进度带来的对用户的影响,提升用户的观看体验。
141.视频播放装置实施例:
142.参照图5,图5为本发明视频播放装置的结构框图,其中,视频播放装置包括:
143.解复用模块51,用于对视频数据包进行解复用,以得到解复用数据;解复用数据包括视频数据,视频数据包括多帧视频帧。
144.判断模块52,用于判断解复用数据中是否存在视频数据对应的显示时间戳。
145.第一确定模块53,用于若否,确定视频数据中第一帧视频帧的显示时间戳。
146.第二确定模块54,用于基于第一帧视频帧的显示时间戳和视频数据的帧率,确定视频数据中第n帧视频帧的显示时间戳;n为大于等于2的整数;
147.播放模块55,用于根据第n帧视频帧的显示时间戳,播放第n帧视频帧,以播放视频数据。
148.需要说明的是,视频播放装置还可选的包括有对应的模块,以实施上述视频播放方法中的其他步骤。
149.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
150.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
151.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
152.以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1