一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种视频数据的处理方法、装置、终端设备和存储介质与流程

2022-11-16 15:09:00 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,特别是涉及一种视频数据的处理方法、装置、终端设备和存储介质。


背景技术:

2.通常对监控资源进行h265(视频编码标准)编码可以在网页上进行播放,但是,在一些浏览器上不支持h265的编码视频格式,无法对h265编码的视频监控进行解码播放,因此,为实现无插件的浏览器实时播放编码h265的视频监控,需要采用wasm(webassembly)解码。通过wasm解码出来的视频数据是yuv格式,想要渲染出来需要进行颜色空间转换,可以使用ffmpeg的libswscale模块进行转换,并进行渲染。
3.对于较低分辨率的视频监控,若视频解码时间和渲染时间的总时长小于等于视频指定时间时,视频监控可以正常展示。但对于大分辨率比如4k、8k的视频监控,视频解码时间和渲染时间的总时长大于视频指定时间时,若解码设备的解码能力不足,解码每一帧视频监控都会出现延迟,若单个画面延后的时间不多,人眼无法察觉,但是若累计起来就会造成延迟的加大,导致累计延时,这样就会出现画面播放慢的情况。


技术实现要素:

4.鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种视频数据的处理方法、装置、终端设备和存储介质。
5.第一个方面,本发明实施例提供一种视频数据的处理方法,所述方法包括:
6.获取待播放的视频数据;
7.对所述视频数据中的每一帧进行解析,得到预设时间段内的实际消耗时间;其中所述预设时间段至少包括两帧的i帧视频帧的时间间隔;
8.根据所述实际消耗时间和预设消耗时间,确定预设时间段内的第一时间差值;
9.根据所述第一时间差值和所述视频帧率,确定预设时间段内的丢帧数量;
10.若所述第一时间差值小于等于预设感知时间,将所述视频数据中预设时间段内的与所述丢帧数量对应的p帧视频帧进行丢帧处理,得到丢帧后的视频数据,并将丢帧后的视频数据进行播放,其中,所述p帧视频帧位于后一个i帧视频帧的前面。
11.可选地,所述预设消耗时间是根据所述视频数据的视频帧率得到的。
12.可选地,所述根据所述实际消耗时间和预设消耗时间,确定预设时间段内的第一时间差值,包括:
13.计算解析一帧视频帧的第二时间差值,所述第二时间差值是根据一帧视频帧的实际消耗时间和预设消耗时间的差值得到的;
14.获取两帧的i帧视频帧之间的视频帧数量;
15.根据所述视频帧数量和所述第二时间差值,确定预设时间段内的第一时间差值。
16.可选地,所述方法还包括:
17.若所述第一时间差值大于预设感知时间,则将当前预设时间段内,位于后一个i帧之前的与所述预设感知时间对应p帧视频帧进行丢帧处理,得到丢帧后的视频数据;
18.在下一个预设时间段内,继续将位于后一个i帧之前的与所述预设感知时间对应p帧视频帧进行丢帧处理,直至累计需要丢帧的数据包为与所述两帧的i帧视频帧之间的视频帧数量相同时,将需要丢帧的数据包全部丢弃。
19.可选地,所述根据所述第一时间差值和所述视频帧率,计算预设时间段内的丢帧数量,包括:
20.根据所述视频帧率,计算解析一帧视频帧需要的时间;
21.根据第一时间差值和所述解析一帧视频帧需要的时间,计算预设时间段内的丢帧数量。
22.第二个方面,本发明实施例提供一种视频数据的处理装置,所述装置包括:
23.接收模块,用于获取待播放的视频数据;
24.解析模块,用于对所述视频数据中的每一帧进行解析,得到预设时间段内的实际消耗时间;其中所述预设时间段至少包括两帧的i帧视频帧的时间间隔;
25.确定模块,用于根据所述实际消耗时间和预设消耗时间,确定预设时间段内的第一时间差值;
26.计算模块,用于根据所述第一时间差值和所述视频帧率,确定预设时间段内的丢帧数量;
27.丢帧模块,用于若所述第一时间差值小于等于预设感知时间,将所述视频数据中预设时间段内的与所述丢帧数量对应的p帧视频帧进行丢帧处理,得到丢帧后的视频数据,并将丢帧后的视频数据进行播放,其中,所述p帧视频帧位于后一个i帧视频帧的前面。
28.可选地,所述预设消耗时间是根据所述视频数据的视频帧率得到的。
29.可选地,所述确定模块用于:
30.计算解析一帧视频帧的第二时间差值,所述第二时间差值是根据一帧视频帧的实际消耗时间和预设消耗时间的差值得到的;
31.获取两帧的i帧视频帧之间的视频帧数量;
32.根据所述视频帧数量和所述第二时间差值,确定预设时间段内的第一时间差值。
33.可选地,所述丢帧模块用于:
34.若所述第一时间差值大于预设感知时间,则将当前预设时间段内,位于后一个i帧之前的与所述预设感知时间对应p帧视频帧进行丢帧处理,得到丢帧后的视频数据;
35.在下一个预设时间段内,继续将位于后一个i帧之前的与所述预设感知时间对应p帧视频帧进行丢帧处理,直至累计需要丢帧的数据包为与所述两帧的i帧视频帧之间的视频帧数量相同时,将需要丢帧的数据包全部丢弃。
36.可选地,所述计算模块用于:
37.根据所述视频帧率,计算解析一帧视频帧需要的时间;
38.根据第一时间差值和所述解析一帧视频帧需要的时间,计算预设时间段内的丢帧数量。
39.第三个方面,本发明实施例提供一种终端设备,包括:至少一个处理器和存储器;
40.所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机
程序,以实现第一个方面提供的视频数据的处理方法。
41.第四个方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的视频数据的处理方法。
42.本发明实施例包括以下优点:
43.本发明实施例提供的视频数据的处理方法、装置、终端设备和存储介质,通过获取待播放的视频数据;对视频数据中的每一帧进行解析,得到预设时间段内的实际消耗时间;其中预设时间段至少包括两帧的i帧视频帧的时间间隔;根据实际消耗时间和预设消耗时间,确定预设时间段内的第一时间差值;根据第一时间差值和视频帧率,确定预设时间段内的丢帧数量;若第一时间差值小于等于预设感知时间,将视频数据中预设时间段内的与丢帧数量对应的p帧视频帧进行丢帧处理,得到丢帧后的视频数据,并将丢帧后的视频数据进行播放,其中,p帧视频帧位于后一个i帧视频帧的前面,通过获取视频数据的实际消耗时间,并根据实际消耗时间和预设消耗时间确定预设时间段内的时间差值,然后根据该时间差值计算在预设时间段内需要丢弃的p帧数量,这样,在当前预设时间段内将若干个p帧进行丢弃,减少了解码时间,在下一个预设时间段内重新进行解码,减少了解码时间的累积,进而减少了在播放视频数据时的延迟时间,不会出现画面播放慢的情况。
附图说明
44.图1是本发明的一种视频数据的处理方法实施例的步骤流程图;
45.图2是本发明的另一种视频数据的处理方法实施例的步骤流程图;
46.图3是本发明的再一种视频数据的处理方法实施例的示意图;
47.图4是本发明的一种视频数据的处理装置实施例的结构框图;
48.图5是本发明的一种终端设备的结构示意图。
具体实施方式
49.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
50.视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
51.视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、vod点播、电视邮件、个性录制(pvr)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
52.名词解释:
53.wasm:webassembly是基于堆栈虚拟机的二进制指令格式。wasm为了一个可移植的目标而设计的,可用于编译c/c /rust等高级语言,使客户端和服务器应用程序能够在web上部署。wasm有多种实现,包括浏览器和独立系统,它可以用于视频和音频编解码器、图形和3d、多媒体和游戏、密码计算或便携式语言实现等应用。
54.ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
55.通常,对于较低的分辨率的视频数据,视频解码时间和渲染时间的总时间小于等于视频指定时间时,视频数据可以正常展示。但对于大分辨率的视频数据,比如分辨率为4k、8k的视频数据等,视频解码时间和渲染时间的总时间大于视频指定时间时,就会出现画面播放慢的情况;单个画面的时间延后,人眼也无法察觉出来的,但是如此累计起来就会加大时间延迟,导致累积延时,视频画面就会出现播放慢的情况。
56.比如监控视频分辨率是3840*2160,帧率是fps=25,i帧间隔50帧(每秒25帧,一帧40ms,且每2秒是一个i帧)显示一幅图片,假如终端设备解码能力有限,最快的解码出一幅图片的时间也需要42ms(渲染此处先忽略),该在40ms出显示第一幅图片,但是由于解码时间花了42ms,那么这一幅图片就在42ms时才显示出来,比规定时间(40ms)延迟了(42-40)=2ms,当连续解码50帧视频帧时,这个延迟就到了50*2ms=100ms,下一个i帧解码时间比预计慢了100ms。而这个延迟是一个累计的过程,只会随着时间的增长,累计延时越来越大。
57.那么为了解决上述问题,在无法改变硬件设备和优化ffmpeg内部解码机制的情况下,本发明实施例提供一种视频数据的处理方法,用于对视频数据进行处理。本实施例的执行主体为视频数据的处理装置,设置在预先加入到终端设备上,其中,终端设备可以为计算机,平板电脑和手机终端等。
58.参照图1,示出了本发明的一种视频数据的处理方法实施例的步骤流程图,该方法具体可以包括如下步骤:
59.s101、获取待播放的视频数据;
60.具体地,终端设备可以接收发送端设备发送的视频数据,也可以是获取本地存储的视频数据,还可以从网络上下载视频数据,在本技术实施例中不做具体限定。
61.s102、对视频数据中的每一帧进行解析,得到预设时间段内的实际消耗时间;其中预设时间段至少包括两帧的i帧视频帧的时间间隔;
62.具体地,终端设备在获取到待播放的视频数据时,截取预设时间段的视频数据,对该预设时间段内视频数据的每一帧进行解析,需要对每一帧视频帧进行解码,得到解码时间,还需要对每一帧视频帧进行渲染,得到渲染时间,在本技术实施例中,由于渲染时间较小,所以忽略渲染时间,因此,对每一帧视频帧解析后,只需要获取解码时间,进而,根据预设时间段内的多个视频帧,获取解析多个视频帧的解码时间,得到预设时间段内的实际消耗时间。
63.其中,预设时间段包括至少包括两帧的i帧视频帧的时间间隔,例如,预设时间段内包括2帧i帧视频帧,也可以是4帧i帧视频帧,在此不做具体限定。为了使得解码时间的延迟最小,在本技术实施例中采用预设时间段内包括2帧i帧视频帧。
64.s103、根据实际消耗时间和预设消耗时间,确定预设时间段内的第一时间差值;
65.具体地,待播放的视频数据在编码的时候需要消耗一定的时间,这个时间确定为预设消耗时间。
66.若终端设备的解码能力足够强,对待播放的视频数据进行解码时,也应该消耗预设消耗时间来进行解码播放,但是由于终端设备的解码能力不足,实际对视频帧进行解码的时间可能需要更好,因此,本技术实施例中对预设时间段内的视频帧进行解码后,得到实
际消耗时间,并将实际消耗时间与预设消耗时间进行比较,判断是否实际消耗时间和预设消耗时间的大小,进而确定是否需要对视频数据进行处理,是否发生时间延迟,并计算实际消耗时间和预设消耗时间的第一时间差值。
67.s104、根据第一时间差值和视频帧率,确定预设时间段内的丢帧数量;
68.具体地,终端设备对实际消耗时间和预设消耗时间进行判断,若实际消耗时间小于等于预设消耗时间,则不对视频数据进行处理,说明终端设备可以正常对视频数据进行解码;
69.若实际消耗时间大于预设消耗时间,则计算实际消耗时间与预设消耗时间的差值,即第一时间差值。
70.终端设备获取待播放的视频数据的视频帧率,根据视频帧率计算播放一帧视频帧需要的时间,进而可以根据预设时间段内的延迟总时间即第一时间差值和播放一帧视频帧所需要额时间可以计算得到预设时间段内的延迟总时间对应几个视频帧,也就是需要丢帧的数量。
71.s105、若第一时间差值小于等于预设感知时间,将视频数据中预设时间段内的与丢帧数量对应的p帧视频帧进行丢帧处理,得到丢帧后的视频数据,并将丢帧后的视频数据进行播放,其中,p帧视频帧位于后一个i帧视频帧的前面。
72.具体地,预设感知时间为人眼无法察觉到视频发生延迟的最大时间,例如300ms;
73.终端设备在计算得到第一时间差值时,且第一时间差值小于预设感知时间,预设时间段内至少包括2个i帧视频帧,将后一个i帧视频帧前面的与丢帧数量对应的p帧视频帧进行丢弃,,在下一个预设时间段内,仍然执行上述操作,都可以进行丢帧处理,得到丢弃后的视频数据,并将丢帧后视频数据进行播放,这样,通过对p帧数据进行丢帧处理,减少了解码视频帧的解码时间,累积时间减少,避免出现视频播放慢的情况。
74.具体地,若预设时间段包括4个i帧视频帧,则将第4个i帧视频帧前面的p帧丢弃,若预设时间段包括5个i帧视频帧,则将第5个i帧视频帧前面的p帧丢弃,在此不做具体限定。
75.本发明实施例提供的视频数据的处理方法,通过获取待播放的视频数据;对视频数据中的每一帧进行解析,得到预设时间段内的实际消耗时间;其中预设时间段至少包括两帧的i帧视频帧的时间间隔;根据实际消耗时间和预设消耗时间,确定预设时间段内的第一时间差值;根据第一时间差值和视频帧率,确定预设时间段内的丢帧数量;若第一时间差值小于等于预设感知时间,将视频数据中预设时间段内的与丢帧数量对应的p帧视频帧进行丢帧处理,得到丢帧后的视频数据,并将丢帧后的视频数据进行播放,其中,p帧视频帧位于后一个i帧视频帧的前面,通过获取视频数据的实际消耗时间,并根据实际消耗时间和预设消耗时间确定预设时间段内的时间差值,然后根据该时间差值计算在预设时间段内需要丢弃的p帧数量,这样,在当前预设时间段内将若干个p帧进行丢弃,减少了解码时间,在下一个预设时间段内重新进行解码,减少了解码时间的累积,进而减少了在播放视频数据时的延迟时间,不会出现画面播放慢的情况。
76.本发明又一实施例对上述实施例提供的视频数据的处理方法做进一步补充说明。
77.如图2所示,示出了本发明的另一种视频数据的处理方法实施例的步骤流程图,该视频数据的处理方法包括:
78.s201、获取待播放的视频数据;
79.具体地,终端设备可以接收发送端设备发送的视频数据,也可以是获取本地存储的视频数据,还可以从网络上下载视频数据,在本技术实施例中不做具体限定。
80.s202、对视频数据中的每一帧进行解析,得到预设时间段内的实际消耗时间;其中预设时间段至少包括两帧的i帧视频帧的时间间隔;
81.具体地,终端设备在获取到待播放的视频数据时,截取预设时间段的视频数据,对该预设时间段内视频数据的每一帧进行解析,需要对每一帧视频帧进行解码,得到解码时间,还需要对每一帧视频帧进行渲染,得到渲染时间,在本技术实施例中,由于渲染时间较小,所以忽略渲染时间,因此,对每一帧视频帧解析后,只需要获取解码时间,进而,根据预设时间段内的多个视频帧,获取解析多个视频帧的解码时间,得到预设时间段内的实际消耗时间。
82.其中,预设时间段包括至少包括两帧的i帧视频帧的时间间隔,例如,预设时间段内包括2帧i帧视频帧,也可以是4帧i帧视频帧,在此不做具体限定。为了使得解码时间的延迟最小,在本技术实施例中采用预设时间段内包括2帧i帧视频帧。
83.s203、计算解析一帧视频帧的第二时间差值,第二时间差值是根据一帧视频帧的实际消耗时间和预设消耗时间的差值得到的;
84.具体地,终端设备对预设时间段内的每一帧都进行解码,得到解码一帧视频帧的实际消耗时间,并根据一帧视频帧的实际消耗时间的预设消耗时间,计算解码一帧出现的延迟时间为第二时间差值。
85.s204、获取两帧的i帧视频帧之间的视频帧数量;
86.s205、根据视频帧数量和第二时间差值,确定预设时间段内的第一时间差值。
87.具体地,终端设备根据一帧视频帧的第二时间差值和视频帧的数量,计算在预设时间段内的第一时间差值。
88.s206、根据视频帧率,计算解析一帧视频帧需要的时间;
89.示例性地,若视频帧率为25fps,则解析一帧视频帧所需要的时间为1000/25=40ms。
90.s207、根据第一时间差值和解析一帧视频帧需要的时间,计算预设时间段内的丢帧数量。
91.终端设备获取待播放的视频数据的视频帧率,根据视频帧率计算播放一帧视频帧需要的时间,进而可以根据预设时间段内的延迟总时间即第一时间差值和播放一帧视频帧所需要额时间可以计算得到预设时间段内的延迟总时间对应几个视频帧,也就是需要丢帧的数量。
92.s208、若第一时间差值小于等于预设感知时间,将视频数据中预设时间段内的与丢帧数量对应的p帧视频帧进行丢帧处理,得到丢帧后的视频数据,并将丢帧后的视频数据进行播放,其中,p帧视频帧位于后一个i帧视频帧的前面。终端设备在计算得到第一时间差值时,且第一时间差值小于预设感知时间,预设时间段内至少包括2个i帧视频帧,将后一个i帧视频帧前面的与丢帧数量对应的p帧视频帧进行丢弃,,在下一个预设时间段内,仍然执行上述操作,都可以进行丢帧处理,得到丢弃后的视频数据,并将丢帧后视频数据进行播放,这样,通过对p帧数据进行丢帧处理,减少了解码视频帧的解码时间,累积时间减少,避
免出现视频播放慢的情况。
93.s209、若第一时间差值大于预设感知时间,则将当前预设时间段内,位于后一个i帧之前的与预设感知时间对应p帧视频帧进行丢帧处理,得到丢帧后的视频数据;
94.s210、在下一个预设时间段内,继续将位于后一个i帧之前的与预设感知时间对应p帧视频帧进行丢帧处理,直至累计需要丢帧的数据包为与两帧的i帧视频帧之间的视频帧数量相同时,将需要丢帧的数据包全部丢弃。
95.具体地,因为在终端设备的浏览器网页上收看视频数据,在接收队列中解码耗时超过一定值,队列数量会累计增加,丢帧只能延缓情况,必然还是延时增加,内存增加。在一定程度上,要主动按gop丢失,以保证无累计延时。
96.终端设备在计算得到第一时间差值时,该第一时间差值大于预设感知时间,例如第一时间差值为500ms,预设感知时间为300ms,则需要将500ms的视频帧进行分段进行丢弃,在当前预设时间段内,将后一个i帧之前的与预设感知时间对应p帧视频帧进行丢帧处理。在下一个预设时间段内,继续丢弃p帧视频帧,但是在丢弃p帧视频帧的同时,仍然产生新的延迟时间,直到在某一个预设时间段内,需要丢弃的视频帧的数量到达一定值,例如i帧视频帧之间的视频帧数量,这时,可以将需要丢帧的数据包全部丢弃,例如,可以将i帧对应的整个gop(group of picture,图像组)全部丢弃。
97.在本技术实施例中把解码时间和渲染时间单独计算,当时在计算的时候可以忽略渲染时间,在丢帧的时候,i帧视频帧不可丢掉,主动丢弃部分p帧视频帧,但p帧视频帧是对前i帧视频帧画面的补充,如果丢弃中间p帧会造成花屏现象,应丢弃下一个i帧前若干p帧。根据解码消耗时间与实际显示时间差值,动态调整丢弃p帧数量。但监控一般i帧间隔为2s,若丢p帧过多,能明显感觉界面跳跃。主动丢帧也不能过多。
98.在本发明实施例中,首先根据视频数据的视频信息得到当前监控的分辨率,帧率等信息和解码能力,即解码一帧在当前分辨率、码率和播放设备硬件条件下的平均消耗时间t2和渲染时间(渲染时间可以忽略播放设备的差异);
99.判断正常一帧消耗解码时间t1(可理解为1000/帧率)与t2的差值即第二时间差值。
100.在i帧间隔内判断需要丢多少帧可以弥补此段时刻的差距。如帧率为25,一帧解码需要40ms;
101.1)现在解码耗时45ms,i帧间隔50帧,那一个gop中总多出的耗时即第一时间差值50*(45-40)=250ms,则需要丢250/40帧就可以弥补这个gop因解码慢引起的延时。
102.2)解码耗时50ms,i帧间隔50帧,那一个gop中总多出的耗时第一时间差值50*(50-40)=500ms,此时500ms时间长度丢失的话人能感觉到,则在当前预设时间段内需要丢200/40帧就可以弥补这个gop因解码慢引起的延时500,剩余的300就是累计延时。在到下一个gop中,继续产生时间延迟,和上一个gop中剩余的累积延时,在某一时刻,队列中缓存数据2250个数据包,此时检测接收到下个i帧时,把队列中数据全部清空,这样画面中时间跳跃到最新时间,累计延时消除。
103.也就是说,若一个gop中总多出的耗时小于300ms(预设感知时间),把gop中最后对应耗时时间的p帧丢掉。
104.若一个gop中总多出的耗时大于300ms(预设感知时间),把gop中最后对应300ms耗
时时间的p帧丢掉。
105.检测队列中长度,假如超过2000(可以是一个gop的数量),等到下一个i帧到来后,整个gop丢弃,从新的i帧开始解码。
106.图3是本发明的再一种视频数据的处理方法实施例的示意图,如图3所示,视频帧正常包括i帧和p帧,若正常播放的话,在b点就应该正常播放i帧视频帧,但是由于终端设备解码慢,应该解码到b点的时候,才解码到a点,因此,需要将a点到b点之间的p帧进行丢帧处理,也就是说直接从时间点a点的p帧直接跳转到b点的i帧开始继续解码,通过动态对p帧进行丢弃,减少了解码时间,在下一个预设时间段内重新进行解码,减少了解码时间的累积,进而减少了在播放视频数据时的延迟时间,不会出现画面播放慢的情况。
107.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
108.本发明实施例提供的视频数据的处理方法,通过获取待播放的视频数据;对视频数据中的每一帧进行解析,得到预设时间段内的实际消耗时间;其中预设时间段至少包括两帧的i帧视频帧的时间间隔;根据实际消耗时间和预设消耗时间,确定预设时间段内的第一时间差值;根据第一时间差值和视频帧率,确定预设时间段内的丢帧数量;若第一时间差值小于等于预设感知时间,将视频数据中预设时间段内的与丢帧数量对应的p帧视频帧进行丢帧处理,得到丢帧后的视频数据,并将丢帧后的视频数据进行播放,其中,p帧视频帧位于后一个i帧视频帧的前面,通过获取视频数据的实际消耗时间,并根据实际消耗时间和预设消耗时间确定预设时间段内的时间差值,然后根据该时间差值计算在预设时间段内需要丢弃的p帧数量,这样,在当前预设时间段内将若干个p帧进行丢弃,减少了解码时间,在下一个预设时间段内重新进行解码,减少了解码时间的累积,进而减少了在播放视频数据时的延迟时间,不会出现画面播放慢的情况。
109.本发明另一实施例提供一种视频数据的处理装置,用于执行上述实施例提供的视频数据的处理方法。
110.参照图4,示出了本发明的一种视频数据的处理装置实施例的结构框图,该装置具体可以包括如下模块:接收模块401、解析模块402、确定模块403、计算模块404和丢帧模块405,其中:
111.接收模块401用于获取待播放的视频数据;
112.解析模块402用于对视频数据中的每一帧进行解析,得到预设时间段内的实际消耗时间;其中预设时间段至少包括两帧的i帧视频帧的时间间隔;
113.确定模块403用于根据实际消耗时间和预设消耗时间,确定预设时间段内的第一时间差值;
114.计算模块404用于根据第一时间差值和视频帧率,确定预设时间段内的丢帧数量;
115.丢帧模块405用于若第一时间差值小于等于预设感知时间,将视频数据中预设时间段内的与丢帧数量对应的p帧视频帧进行丢帧处理,得到丢帧后的视频数据,并将丢帧后的视频数据进行播放,其中,p帧视频帧位于后一个i帧视频帧的前面。
116.本发明实施例提供的视频数据的处理装置,通过获取待播放的视频数据;对视频数据中的每一帧进行解析,得到预设时间段内的实际消耗时间;其中预设时间段至少包括两帧的i帧视频帧的时间间隔;根据实际消耗时间和预设消耗时间,确定预设时间段内的第一时间差值;根据第一时间差值和视频帧率,确定预设时间段内的丢帧数量;若第一时间差值小于等于预设感知时间,将视频数据中预设时间段内的与丢帧数量对应的p帧视频帧进行丢帧处理,得到丢帧后的视频数据,并将丢帧后的视频数据进行播放,其中,p帧视频帧位于后一个i帧视频帧的前面,通过获取视频数据的实际消耗时间,并根据实际消耗时间和预设消耗时间确定预设时间段内的时间差值,然后根据该时间差值计算在预设时间段内需要丢弃的p帧数量,这样,在当前预设时间段内将若干个p帧进行丢弃,减少了解码时间,在下一个预设时间段内重新进行解码,减少了解码时间的累积,进而减少了在播放视频数据时的延迟时间,不会出现画面播放慢的情况。
117.本发明又一实施例对上述实施例提供的视频数据的处理装置做进一步补充说明。
118.可选地,预设消耗时间是根据视频数据的视频帧率得到的。
119.可选地,确定模块用于:
120.计算解析一帧视频帧的第二时间差值,第二时间差值是根据一帧视频帧的实际消耗时间和预设消耗时间的差值得到的;
121.获取两帧的i帧视频帧之间的视频帧数量;
122.根据视频帧数量和第二时间差值,确定预设时间段内的第一时间差值。
123.可选地,丢帧模块用于:
124.若第一时间差值大于预设感知时间,则将当前预设时间段内,位于后一个i帧之前的与预设感知时间对应p帧视频帧进行丢帧处理,得到丢帧后的视频数据;
125.在下一个预设时间段内,继续将位于后一个i帧之前的与预设感知时间对应p帧视频帧进行丢帧处理,直至累计需要丢帧的数据包为与两帧的i帧视频帧之间的视频帧数量相同时,将需要丢帧的数据包全部丢弃。
126.可选地,计算模块用于:
127.根据视频帧率,计算解析一帧视频帧需要的时间;
128.根据第一时间差值和解析一帧视频帧需要的时间,计算预设时间段内的丢帧数量。
129.需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本技术不做限定。
130.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
131.本发明实施例提供的视频数据的处理装置,通过获取待播放的视频数据;对视频数据中的每一帧进行解析,得到预设时间段内的实际消耗时间;其中预设时间段至少包括两帧的i帧视频帧的时间间隔;根据实际消耗时间和预设消耗时间,确定预设时间段内的第一时间差值;根据第一时间差值和视频帧率,确定预设时间段内的丢帧数量;若第一时间差值小于等于预设感知时间,将视频数据中预设时间段内的与丢帧数量对应的p帧视频帧进行丢帧处理,得到丢帧后的视频数据,并将丢帧后的视频数据进行播放,其中,p帧视频帧位于后一个i帧视频帧的前面,通过获取视频数据的实际消耗时间,并根据实际消耗时间和预
设消耗时间确定预设时间段内的时间差值,然后根据该时间差值计算在预设时间段内需要丢弃的p帧数量,这样,在当前预设时间段内将若干个p帧进行丢弃,减少了解码时间,在下一个预设时间段内重新进行解码,减少了解码时间的累积,进而减少了在播放视频数据时的延迟时间,不会出现画面播放慢的情况。
132.本发明再一实施例提供一种终端设备,用于执行上述实施例提供的视频数据的处理方法。
133.图5是本发明的一种终端设备的结构示意图,如图5所示,该终端设备包括:至少一个处理器501和存储器502;
134.存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的视频数据的处理方法。
135.本实施例提供的终端设备,通过获取待播放的视频数据;对视频数据中的每一帧进行解析,得到预设时间段内的实际消耗时间;其中预设时间段至少包括两帧的i帧视频帧的时间间隔;根据实际消耗时间和预设消耗时间,确定预设时间段内的第一时间差值;根据第一时间差值和视频帧率,确定预设时间段内的丢帧数量;若第一时间差值小于等于预设感知时间,将视频数据中预设时间段内的与丢帧数量对应的p帧视频帧进行丢帧处理,得到丢帧后的视频数据,并将丢帧后的视频数据进行播放,其中,p帧视频帧位于后一个i帧视频帧的前面,通过获取视频数据的实际消耗时间,并根据实际消耗时间和预设消耗时间确定预设时间段内的时间差值,然后根据该时间差值计算在预设时间段内需要丢弃的p帧数量,这样,在当前预设时间段内将若干个p帧进行丢弃,减少了解码时间,在下一个预设时间段内重新进行解码,减少了解码时间的累积,进而减少了在播放视频数据时的延迟时间,不会出现画面播放慢的情况。
136.本技术又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的视频数据的处理方法。
137.根据本实施例的计算机可读存储介质,通过获取待播放的视频数据;对视频数据中的每一帧进行解析,得到预设时间段内的实际消耗时间;其中预设时间段至少包括两帧的i帧视频帧的时间间隔;根据实际消耗时间和预设消耗时间,确定预设时间段内的第一时间差值;根据第一时间差值和视频帧率,确定预设时间段内的丢帧数量;若第一时间差值小于等于预设感知时间,将视频数据中预设时间段内的与丢帧数量对应的p帧视频帧进行丢帧处理,得到丢帧后的视频数据,并将丢帧后的视频数据进行播放,其中,p帧视频帧位于后一个i帧视频帧的前面,通过获取视频数据的实际消耗时间,并根据实际消耗时间和预设消耗时间确定预设时间段内的时间差值,然后根据该时间差值计算在预设时间段内需要丢弃的p帧数量,这样,在当前预设时间段内将若干个p帧进行丢弃,减少了解码时间,在下一个预设时间段内重新进行解码,减少了解码时间的累积,进而减少了在播放视频数据时的延迟时间,不会出现画面播放慢的情况。
138.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
139.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可
用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
140.本发明实施例是参照根据本发明实施例的方法、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理电子设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理电子设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
141.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理电子设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
142.这些计算机程序指令也可装载到计算机或其他可编程数据处理电子设备上,使得在计算机或其他可编程电子设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程电子设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
143.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
144.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者电子设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者电子设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者电子设备中还存在另外的相同要素。
145.以上对本发明所提供的一种视频数据的处理方法和一种视频数据的处理装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献