一种视频数据处理方法及视频播放设备与流程

文档序号:20840325发布日期:2020-05-22 17:25阅读:256来源:国知局
一种视频数据处理方法及视频播放设备与流程

本发明涉及视频播放技术领域,尤其涉及一种视频数据处理方法及视频播放设备。



背景技术:

随着视频数据量日益庞大和视频压缩技术的发展,技术人员使用mpeg编码标准,将原始视频画面经有损变换为i帧、p帧、b帧三种帧画面,以提高视频数据的传输速率。

现有视频播放技术中,视频播放器设置有数据缓冲区,待该缓冲区被视频数据填满后,视频播放器才开始解析视频数据。另外,由于i帧、p帧、b帧的特性,视频播放器必须解析到i帧才能开始播出画面,而i帧在视频数据中的数量很少,一般情况下,视频播放器解析到i帧也需要一定的时间。因此,视频播放器在获得播放指令后经过一段时间才能播出画面,这段时间为视频播放器的缓冲区被视频数据填满的时间与该缓冲区被填满后视频播放器解析到i帧所花费的时间之和。

可见,现有技术不能实现视频画面的快速播放。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的视频数据处理方法及视频播放设备,技术方案如下:

一种视频数据处理方法,应用于视频播放设备,所述方法包括:

获得视频播放指令;

按照预设填充速率向视频播放器的缓冲区中填充空包,在向所述视频播放器的缓冲区中填充空包的过程中,获得视频流数据,对所述视频流数据进行分析,确定所述视频流数据中的i帧;

在确定所述视频流数据中的i帧后,停止向所述视频播放器的缓冲区中填充空包,并将所述i帧及以后的视频帧数据推送至所述视频播放器的缓冲区。

可选的,在所述视频播放设备将所述i帧及以后的视频帧数据推送至所述视频播放器的缓冲区之后,还包括:

在所述视频播放器的缓冲区被填满后,所述视频播放设备解析所述i帧及以后的视频帧数据,播放视频。

可选的,所述方法还包括:

设置所述视频播放器的播放参数。

可选的,所述填充空包具体包括:

填充携带无效内容的传输流ts数据包,所述ts数据包符合ts流格式。

可选的,所述对所述视频流数据进行分析,确定所述视频流数据中的i帧,具体包括:

对所述视频流数据中的视频包的头文件进行分析,确定所述视频流数据中的i帧。

一种视频播放设备,所述视频播放设备包括:指令获得模块、填充模块、i帧识别模块和推送模块,

所述指令获得模块,用于获得视频播放指令;

所述填充模块,用于按照预设填充速率向视频播放器的缓冲区中填充空包;

所述i帧识别模块,用于在所述填充模块向所述视频播放器的缓冲区中填充空包的过程中,获得视频流数据,对所述视频流数据进行分析,确定所述视频流数据中的i帧;

所述填充模块,还用于在所述i帧识别模块确定所述视频流数据中的i帧后,停止向所述视频播放器的缓冲区中填充空包;

所述推送模块,用于在所述i帧识别模块确定所述视频流数据中的i帧后,将所述i帧及以后的视频帧数据推送至所述视频播放器的缓冲区。

可选的,所述视频播放设备还包括播放模块,

所述播放模块,用于所述推送模块将所述i帧及以后的视频帧数据推送至所述视频播放器的缓冲区使得所述视频播放器的缓冲区被填满后,解析所述i帧及以后的视频帧数据,播放视频。

可选的,所述视频播放设备还包括参数设置模块,

所述参数设置模块,用于设置所述视频播放器的播放参数。

可选的,所述填充模块具体用于:按照预设填充速率向视频播放器的缓冲区中填充携带无效内容的传输流ts数据包,并在所述i帧识别模块确定所述视频流数据中的i帧后,停止向所述视频播放器的缓冲区中填充所述ts数据包,所述ts数据包符合ts流格式。

可选的,所述i帧识别模块具体用于:获得视频流数据,对所述视频流数据中的视频包的头文件进行分析,确定所述视频流数据中的i帧。

本发明公开了一种视频数据处理方法及视频播放设备,可以获得视频播放指令,按照预设填充速率向视频播放器的缓冲区中填充空包,在向所述视频播放器的缓冲区中填充空包的过程中,获得视频流数据,对所述视频流数据进行分析,确定所述视频流数据中的i帧,在确定所述视频流数据中的i帧后,停止向所述视频播放器的缓冲区中填充空包,并将所述i帧及以后的视频帧数据推送至所述视频播放器的缓冲区。本发明通过在从视频流数据中获得第一个i帧画面的过程中,同时向视频播放器的缓冲区中填充空包,使得空包占据缓冲区容量以缩短视频播放器的缓冲区被填满的时间,实现了视频播放设备对视频画面的快速播放。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种视频数据处理方法的流程图;

图2示出了本发明实施例提供的另一种视频数据处理方法的流程图;

图3示出了本发明实施例提供的另一种视频数据处理方法的流程图;

图4示出了本发明实施例提供的一种视频播放设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种视频数据处理方法,可以应用于视频播放设备,如图1所示,该方法可以包括以下步骤:

s100、获得视频播放指令;

其中,视频播放设备可以为安装有视频播放器的电子设备,也可以为具有视频播放功能的电子设备。上述视频播放器可以为专门用于播放视频的应用程序,也可以为集成到其他应用程序中的插件,例如:集成到浏览器中的视频播放插件。

具体的,用户选定观看的视频后,视频播放设备获得该视频的播放指令。例如,用户可以使用个人计算机登陆可以在线直播视频节目的网页,或者通过数字电视机机顶盒收看直播视频节目。若在网页上选定观看体育频道节目,此时,视频播放设备将接收到播放上述体育频道节目的指令。可以理解的是,用户在观看该体育频道节目时选择切换到另一个视频频道,例如切换至新闻频道,视频播放设备会接收到播放新闻频道的指令。此外,对于可定时播放直播节目的视频播放器,当用户选定某一时刻播放直播节目时,视频播放设备也会获得该直播节目的播放指令,当然,视频播放设备需在时间到达上述时刻时才可开始播放,例如,用户在央视直播网页设置在第二天的中午12点播放体育频道节目,此时,视频播放设备获得在第二天的中午12点播放体育频道节目的播放指令,视频播放设备在第二天的中午12点开始播放体育频道节目。

s200、按照预设填充速率向视频播放器的缓冲区中填充空包,在向所述视频播放器的缓冲区中填充空包的过程中,获得视频流数据,对所述视频流数据进行分析,确定所述视频流数据中的i帧;

具体的,视频播放设备获得播放指令后,本发明可以按照预先设置的填充速率向视频播放器的缓冲区填充空包。

需要说明的是,一般情况下,视频播放设备会制定相应的数据缓存策略,即设置能储存一定数据量的缓冲区,在视频播放器的缓冲区被数据填满时,视频播放设备开始根据上述缓冲区中的视频帧播放视频,以保证视频播放时的流畅效果。

可选的,上述填充空包的过程可以具体包括:填充携带无效内容的ts数据包,所述ts包符合ts流格式。

其中,ts(transportstream,传输流)流数据是服务器端经mpeg(movingpictureexpertsgroup,动态图像专家组)标准的视频压缩编码技术处理获得并传输的视频流数据,ts流数据由符合ts流格式的ts数据包携带传输。需要说明的是,上述空包只携带无效内容的ts视频流数据。视频播放器的缓冲区接收到空包时,因为空包也是符合ts流格式的数据包,所以视频播放器也会将其储存进视频播放器的缓冲区,使得上述缓冲区被填满的时间缩短。并且,空包携带的是无效内容的数据,视频播放器在分析上述空包时,相比其他携带有效数据的ts包,视频播放器的分析速率会得到提升。

具体的,本发明在向视频播放器的缓冲区填充空包时,会按照预先设置的填充速率进行填充。可以理解的是,上述预先设置的填充速率的大小应该在一定区间内,若该速率太小,则不能实现填充空包以缩短上述缓冲区被数据填满需要的时间的作用,若该速率太大,上述缓冲区将在短时间内被空包填满,不能实现设置视频播放器的缓冲区以保证视频播放时的流畅效果。因此,应根据具体视频播放设备的播放性能设置合适的填充空包的速率,其中,视频播放设备的播放性能包括:视频播放设备制定的数据缓存策略和视频播放器的缓冲区可容纳的数据量。另外,上述预设填充速率的单位可以是每秒一千字节。

具体的,在向所述视频播放器的缓冲区中填充空包的过程中,视频播设备接收从服务器端发送的视频流数据,对所述视频流数据进行分析,确定所述视频流数据中的i帧。需要说明的是,视频是利用人眼视觉暂留的原理,通过视频播放设备快速播放一系列视频画面,使人眼产生运动的感觉所形成的。若从服务器端传输不经压缩的原始视频画面,巨大的视频图像数据量将给网络传输造成不可承受的压力,因此,需使用mpeg视频压缩编码技术,采用各种算法减少每一张视频画面的数据量,将原始视频画面经有损变换成i帧、p帧和b帧三种帧画面,以提高视频数据的传输速率。

其中,i帧又称帧内编码帧,是帧间压缩编码里的重要帧,也是一个全帧压缩的编码帧。视频播放设备对i帧解码时,无需参考其他帧画面,仅使用该i帧画面的数据就可重构出完整的图像。p帧,又称帧间预测编码帧,p帧是根据本帧与相邻的前一帧(i帧或p帧)的不同点来压缩本帧数据,即记录当前帧画面与前一帧(i帧或p帧)的差别。视频播放设备对p帧解码时,需要参考之前视频播放设备缓存的帧画面并叠加上该p帧记录的差别,才能获得图像。在实际应用中,视频播放设备在播放视频画面的过程中,若i帧画面丢失了,则视频播放设备也不能解析后面的p帧画面,导致出现视频画面黑屏的现象;若p帧丢失了,则视频画面会出现花屏、马赛克等现象。b帧,又称双向预测编码帧,b帧记录的是本帧与前一帧和后一帧的差别。视频播放设备解码b帧时,不仅需要参考之前的缓存的画面,也需要参考后面的画面,还需要叠加该b帧定义的与前后画面的差别,才能获得图像。其中,i帧、p帧和b帧三种帧间压缩编码中,在压缩效率方面:i帧的压缩效率最低,p帧较高,b帧最高。例如,将同一张视频画面分别经有损变换为i帧、p帧和b帧,在这三帧视频画面中,i帧的数据量最大,p帧较小,b帧最小。另外,一般情况下,视频播放设备接收的视频流数据中,i帧画面的数量最少,p帧较多,b帧最多,如此,能使得视频流数据的压缩效率尽量高,以使得网络传输效率得到尽可能的提升。

根据i帧、p帧和b帧的特征,可以理解的是,视频播放设备必须解析到i帧才能播出视频画面,进而实现对后续视频画面的不断播出,因此,视频播放设备需在接收到的视频流数据中确定i帧画面。

可选的,所述对所述视频流数据进行分析,确定所述视频流数据中的i帧,具体包括:

对所述视频流数据中的视频包的头文件进行分析,确定所述视频流数据中的i帧。

其中,ts视频流数据由若干个满足ts流格式的ts包携带传输,ts包的结构具有固定大小的字节。ts包的数据内容由ts包头文件中的pid号码决定,同时,pid号码也是ts包中的唯一识别标志。因此,视频播放设备可以通过解析ts包的头文件中的pid号码,识别ts包携带数据的内容。在实际应用过程中,i帧、p帧和b帧画面数据均由若干个ts包组成,一般情况下,视频播放设备通过对1~3个ts包的头文件的pid号码进行解析,可识别该帧数据是否为i帧画面。

s300、在确定所述视频流数据中的i帧后,停止向所述视频播放器的缓冲区中填充空包,并将所述i帧及以后的视频帧数据推送至所述视频播放器的缓冲区。

具体的,视频播放设备在接收的视频流数据中识别到第一个i帧画面后,停止向视频播放器的缓冲区填充空包,将获得的第一个i帧画面及以后的视频帧数据推送至视频播放器的缓冲区。

现有技术中,为了视频播放设备在播放视频画面时取得流畅的效果,视频播放设备设置了能容纳一定数据量的视频播放器的缓冲区,在视频播放器的缓冲区被数据填满后,视频播放设备才可开始解析上述缓冲区中储存的视频流数据,待解析到i帧时,可播出视频画面。

另外,视频播放设备在获得播放指令后,开始接收从服务器端传输的视频流数据,其中,视频播放设备开始接收视频流数据的时刻是任意的,接收到的帧画面的类型是随机的,所以,视频播放设备接收的第一帧画面有可能是i帧,也可能是p帧或b帧。但是,服务器端传输的视频流数据中,由于i帧、p帧和b帧在数据压缩率上的差别,视频流数据中i帧画面的数量相对于p帧和b帧来说是比较少的。因此,由于i帧、p帧和b帧的数量差别,视频播放设备从视频流数据中接收的第一帧画面极有可能不是i帧,甚至,视频播放设备需要经过一段时间才能获得i帧画面。

因此,由于视频播放器的数据缓冲区的设置和i帧在视频流中的数量问题,使得视频播放设备获得播放指令后,视频播放设备不能快速播出视频画面,而必须等待视频播放器的缓冲区被填满的时间,以及缓冲区被填满后解析到i帧的时间之和,才能播出画面。

而本发明获得播放指令后,也立即接收从服务器端传输的视频流数据,但不同的是,本发明并未立即将视频流推进视频播放器的缓冲区,而是先向视频播放器的缓冲区中填充ts流数据格式的空包,使空包占据缓冲区中对于视频流数据的容量。在向视频播放器的缓冲区填充空包的过程中,同时对接收的视频流数据进行分析以获得i帧画面,在获得i帧画面后,视频播放设备将i帧及以后的视频流数据推进视频播放器的缓冲区。

在对视频流提前分析直至获得i帧的过程中,本发明同时待视频播放设备获得i帧画面时,视频播放器的缓冲区已被填充了一定数据量大小的空包,此时该缓冲区对视频流数据的容量减小,另外,视频播放设备解析缓冲区中的视频流数据以播出视频画面的过程中,由于空包携带的是无效内容的ts流数据,视频播放设备能很快的解析空包,花费的时间很少,视频播放设备将迅速的解析到获得的第一个i帧画面,进而播出视频画面。

因此,相较于现有技术,本发明通过在从视频流数据中获得第一个i帧画面的过程中,同时向视频播放器的缓冲区中填充空包,使得空包占据缓冲区容量以缩短视频播放器的缓冲区被填满的时间,实现了视频播放设备对视频画面的快速播放。

本发明实施例提供的上述视频数据处理方法,可以获得视频播放指令,按照预设填充速率向视频播放器的缓冲区中填充空包,在向所述视频播放器的缓冲区中填充空包的过程中,获得视频流数据,对所述视频流数据进行分析,确定所述视频流数据中的i帧,在确定所述视频流数据中的i帧后,停止向所述视频播放器的缓冲区中填充空包,并将所述i帧及以后的视频帧数据推送至所述视频播放器的缓冲区。本发明通过向视频播放器的缓冲区填充空包,同时对接收的视频流数据进行解析,使得空包占据缓冲区容量以缩短视频播放器的缓冲区被填满的时间,实现了视频播放设备对视频画面的快速播放。

可选的,本发明实施例提供的另一种视频数据处理方法,如图2所示,在图1所示方法基础上,还可以包括以下步骤:

s400、在所述视频播放器的缓冲区被填满后,解析所述i帧及以后的视频帧数据,播放视频。

具体的,视频播放设备将识别到的第一个i帧画面及以后的视频帧数据推送至视频播放器的缓冲区,待视频播放设备被该i帧画面、该i帧以后的视频帧数数据以及之前填充的空包填满时,视频播放设备开始解析i帧画面及以后的视频帧数据,并播出视频画面。需要说明的是,视频播放设备解析视频帧数据并播出视频画面后,视频播放设备继续接收视频流数据,并将接收的视频流数据不断地推送至视频播放器的缓冲区,其中,若视频播放设备解析视频流数据的速率快于接收视频流数据的速率,使得视频播放器的缓冲区出现不被填满,此时,视频播放设备将停止解析已接收的视频帧数据,待视频播放器的缓冲区接收视频流数据直至视频播放器的缓冲区重新被填满后,视频播放设备从之前停止解析的视频帧数据处,再次开始解析视频帧数据,并重新开始播放画面。因此,为了保证观看视频画面的流畅效果,应保证视频播放设备具有良好的接收视频流数据的速率。

本发明通过在视频播放器的数据缓冲区被视频流数据填满后,开始解析所述i帧及以后的视频帧数据,播放视频画面的方法,使得视频播放设备播出视频画面的过程中具有更流畅的效果。

可选的,如图3所示,本发明提供的另一种视频数据处理方法可以具体包括以下步骤:

s001、设置视频播放器的播放参数;

具体的,用户在观看视频画面时,可以根据个人爱好习惯,相应设置视频播放器的播放参数。例如,在使用个人计算机观看视频画面时,可以在播放视频画面的网页上设置视频播放器的播放参数,例如可以设置视频播放器的播出的视频画面的清晰度,可以选择流畅、高清、超清或蓝光效果,还可以设置视频播放器的分辨率、视频画面的播放速度和视频画面的亮度等。当用户使用数字电视机顶盒收看电视节目时,一般情况下,可以通过遥控器或者数字电视机顶盒上的相应按键设置视频播放器的播放参数。

s100、获得视频播放指令;

s200、按照预设填充速率向视频播放器的缓冲区中填充空包,在向所述视频播放器的缓冲区中填充空包的过程中,获得视频流数据,对所述视频流数据进行分析,确定所述视频流数据中的i帧;

s300、在确定所述视频流数据中的i帧后,停止向所述视频播放器的缓冲区中填充空包,并将所述i帧及以后的视频帧数据推送至所述视频播放器的缓冲区。

其中,步骤s100、s200和s300与图1所示一致,不再赘述。

可以理解的是,无论是在观看视频画面前,或是切换视频频道的过程中,用户均可设置视频播放器的播放参数。本发明提供的其它实施例中,上述步骤s001分别与步骤s100、s200和s300的执行先后顺序本发明不做限定。本发明通过用户根据自身情况对视频播放器播放的参数进行个性化设置,实现了视频播放器在播出视频画面的过程中使得用户拥有更好的观看体验。

与上述方法实施例相对应,本发明还提供了一种视频播放设备。

如图4所示,本发明实施例提供的一种视频播放设备,可以包括:指令获得模块100、填充模块200、i帧识别模块300和推送模块400,

所述指令获得模块100,用于获得视频播放指令;

其中,视频播放设备可以为安装有视频播放器的电子设备,也可以为具有视频播放功能的电子设备。上述视频播放器可以为专门用于播放视频的应用程序,也可以为集成到其他应用程序中的插件,例如:集成到浏览器中的视频播放插件。

具体的,用户选定观看的视频后,视频播放设备获得该视频的播放指令。例如,用户可以使用个人计算机登陆可以在线直播视频节目的网页,或者通过数字电视机机顶盒收看直播视频节目。若在网页上选定观看体育频道节目,此时,视频播放设备将接收到播放上述体育频道节目的指令。可以理解的是,用户在观看该体育频道节目时选择切换到另一个视频频道,例如切换至新闻频道,视频播放设备会接收到播放新闻频道的指令。此外,对于可定时播放直播节目的视频播放器,当用户选定某一时刻播放直播节目时,视频播放设备也会获得该直播节目的播放指令,当然,视频播放设备需在时间到达上述时刻时才可开始播放,例如,用户在央视直播网页设置在第二天的中午12点播放体育频道节目,此时,视频播放设备获得在第二天的中午12点播放体育频道节目的播放指令,视频播放设备在第二天的中午12点开始播放体育频道节目。

所述填充模块200,用于按照预设填充速率向视频播放器的缓冲区中填充空包;

具体的,视频播放设备获得播放指令后,本发明可以按照预先设置的填充速率向视频播放器的缓冲区填充空包。

需要说明的是,一般情况下,视频播放设备会制定相应的数据缓存策略,即设置能储存一定数据量的缓冲区,在视频播放器的缓冲区被数据填满时,视频播放设备开始根据上述缓冲区中的视频帧播放视频,以保证视频播放时的流畅效果。

其中,所述填充模块200,可以具体用于:按照预设填充速率向视频播放器的缓冲区中填充携带无效内容的ts数据包,并在所述i帧识别模块确定所述视频流数据中的i帧后,停止向所述视频播放器的缓冲区中填充所述ts数据包,所述ts数据包符合ts流格式。

具体的,本发明在向视频播放器的缓冲区填充空包时,会按照预先设置的填充速率进行填充。可以理解的是,上述预先设置的填充速率的大小应该在一定区间内,若该速率太小,则不能实现填充空包以缩短上述缓冲区被数据填满需要的时间的作用,若该速率太大,上述缓冲区将在短时间内被空包填满,不能实现设置视频播放器的缓冲区以保证视频播放时的流畅效果。因此,应根据具体视频播放设备的播放性能设置合适的填充空包的速率,其中,视频播放设备的播放性能包括:视频播放设备制定的数据缓存策略和视频播放器的缓冲区可容纳的数据量。另外,上述预设填充速率的单位可以是每秒一千字节。

所述i帧识别模块300,用于在所述填充模块200向所述视频播放器的缓冲区中填充空包的过程中,获得视频流数据,对所述视频流数据进行分析,确定所述视频流数据中的i帧;

具体的,在向所述视频播放器的缓冲区中填充空包的过程中,视频播设备接收从服务器端发送的视频流数据,对所述视频流数据进行分析,确定所述视频流数据中的i帧。需要说明的是,视频是利用人眼视觉暂留的原理,通过视频播放设备快速播放一系列视频画面,使人眼产生运动的感觉所形成的。若从服务器端传输不经压缩的原始视频画面,巨大的视频图像数据量将给网络传输造成不可承受的压力,因此,需使用mpeg视频压缩编码技术,采用各种算法减少每一张视频画面的数据量,将原始视频画面经有损变换成i帧、p帧和b帧三种帧画面,以提高视频数据的传输速率。

其中,i帧又称帧内编码帧,是帧间压缩编码里的重要帧,也是一个全帧压缩的编码帧。视频播放设备对i帧解码时,无需参考其他帧画面,仅使用该i帧画面的数据就可重构出完整的图像。p帧,又称帧间预测编码帧,p帧是根据本帧与相邻的前一帧(i帧或p帧)的不同点来压缩本帧数据,即记录当前帧画面与前一帧(i帧或p帧)的差别。视频播放设备对p帧解码时,需要参考之前视频播放设备缓存的帧画面并叠加上该p帧记录的差别,才能获得图像。在实际应用中,视频播放设备在播放视频画面的过程中,若i帧画面丢失了,则视频播放设备也不能解析后面的p帧画面,导致出现视频画面黑屏的现象;若p帧丢失了,则视频画面会出现花屏、马赛克等现象。b帧,又称双向预测编码帧,b帧记录的是本帧与前一帧和后一帧的差别。视频播放设备解码b帧时,不仅需要参考之前的缓存的画面,也需要参考后面的画面,还需要叠加该b帧定义的与前后画面的差别,才能获得图像。其中,i帧、p帧和b帧三种帧间压缩编码中,在压缩效率方面:i帧的压缩效率最低,p帧较高,b帧最高。例如,将同一张视频画面分别经有损变换为i帧、p帧和b帧,在这三帧视频画面中,i帧的数据量最大,p帧较小,b帧最小。另外,一般情况下,视频播放设备接收的视频流数据中,i帧画面的数量最少,p帧较多,b帧最多,如此,能使得视频流数据的压缩效率尽量高,以使得网络传输效率得到尽可能的提升。

根据i帧、p帧和b帧的特征,可以理解的是,视频播放设备必须解析到i帧才能播出视频画面,进而实现对后续视频画面的不断播出,因此,视频播放设备需在接收到的视频流数据中确定i帧画面。

其中,所述i帧识别模块300可以具体用于:获得视频流数据,对所述视频流数据中的视频包的头文件进行分析,确定所述视频流数据中的i帧。

其中,ts视频流数据由若干个满足ts流格式的ts包携带传输,ts包的结构具有固定大小的字节。ts包的数据内容由ts包头文件中的pid号码决定,同时,pid号码也是ts包中的唯一识别标志。因此,视频播放设备可以通过解析ts包的头文件中的pid号码,识别ts包携带数据的内容。在实际应用过程中,i帧、p帧和b帧画面数据均由若干个ts包组成,一般情况下,视频播放设备通过对1~3个ts包的头文件的pid号码进行解析,可识别该帧数据是否为i帧画面。

所述填充模块200,还用于在所述i帧识别模块300确定所述视频流数据中的i帧后,停止向所述视频播放器的缓冲区中填充空包;

具体的,填充模块200可以在i帧识别模块300从接收的视频流数据中识别到第一个i帧画面后,停止向视频播放器的缓冲区填充空包。

所述推送模块400,用于在所述i帧识别模块确定所述视频流数据中的i帧后,将所述i帧及以后的视频帧数据推送至所述视频播放器的缓冲区。

具体的,推送模块400可以在i帧识别模块300从接收的视频流数据中识别到第一个i帧画面后,将获得的第一个i帧画面及以后的视频帧数据推送至视频播放器的缓冲区。

因此,相较于现有技术,本发明通过在从视频流数据中获得第一个i帧画面的过程中,同时向视频播放器的缓冲区中填充空包,使得空包占据缓冲区容量以缩短视频播放器的缓冲区被填满的时间,实现了视频播放设备对视频画面的快速播放。

本发明实施例提供的上述视频播放设备,可以获得视频播放指令,按照预设填充速率向视频播放器的缓冲区中填充空包,在向所述视频播放器的缓冲区中填充空包的过程中,获得视频流数据,对所述视频流数据进行分析,确定所述视频流数据中的i帧,在确定所述视频流数据中的i帧后,停止向所述视频播放器的缓冲区中填充空包,并将所述i帧及以后的视频帧数据推送至所述视频播放器的缓冲区。本发明通过向视频播放器的缓冲区填充空包,同时对接收的视频流数据进行解析,使得空包占据缓冲区容量以缩短视频播放器的缓冲区被填满的时间,实现了视频播放设备对视频画面的快速播放。

可选的,图4所示的视频播放设备,还可以包括播放模块,

所述播放模块,用于所述推送模块400将所述i帧及以后的视频帧数据推送至所述视频播放器的缓冲区使得所述视频播放器的缓冲区被填满后,解析所述i帧及以后的视频帧数据,播放视频。

可选的,图4所示的视频播放设备,还可以包括参数设置模块,

所述参数设置模块,用于设置所述视频播放器的播放参数。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1