一种视频播放方法及装置与流程

文档序号:13075985阅读:485来源:国知局
一种视频播放方法及装置与流程

本发明涉及视频播放技术领域,特别是涉及一种视频播放方法及装置。



背景技术:

视频数据通常是以i帧、p帧和b帧的形式存储的,其中,i帧记录的是完整的视频图像,p帧和b帧记录的是相对于i帧的视频图像的图像变化。目前,对已经保存的视频数据进行视频播放的过程通常包括如下步骤:

1、接收视频播放请求;

2、根据视频播放请求中的时间戳,查找已经保存的视频数据中与该时间戳对应的i帧;

3、确定与该i帧相邻的下一个i帧;

4、获得视频数据中两个i帧之间的差值,确定两个i帧之间的p帧和/或b帧的图像并播放。

实际应用中,例如安防监控系统,在视频监控过程中保存了大量的视频数据。当用户需要查看感兴趣的事件片段时,可对电子设备中存储的视频数据进行回放和倒放,视频数据的回放和倒放不仅为事件的取证提供了影像数据,而且为用户反复查看感兴趣的事件片段以清晰掌握事件过程提供了方便。

其中,视频数据回放的过程与上述过程相同,播放查找到的视频数据时,从视频播放请求中的时间戳开始从早往晚正序播放;视频数据倒放的过程与上述过程相似,区别为步骤3为确定与该i帧相邻的上一个i帧,播放查找到的视频数据时,从视频播放请求中的时间戳开始从晚往早倒序播放。

在视频数据回放或倒放过程中,事件所在的视频片段可能只有一瞬间,但是始终需要通过时间戳查找每一帧图像的数据,才能找到对应的i帧,因此,该方法比较耗时,当视频数据较大时,效率较低,并且通过差值计算得到的视频图像会产生失真。



技术实现要素:

本发明实施例的目的在于提供一种视频播放方法及装置,以实现快速定位视频数据,播放更真实视频图像的目的。具体技术方案如下:

一种视频播放方法,应用于电子设备,所述电子设备中存储有画面组gop包形式的视频数据,所述方法包括:

接收视频播放请求;

根据所接收到的视频播放请求中的目标时间戳,在数据库中查找所述目标时间戳对应的gop包的存储位置,其中,所述数据库中存储有每个gop包的时间戳和每个gop包在所述电子设备中的存储位置;

根据所查找到的存储位置在所述电子设备中获取所述目标时间戳对应的gop包,并将获取的gop包发送给播放器播放。

可选的,所述电子设备存储gop包形式的视频数据的过程包括:

针对电子设备接收到的视频数据中的每个i帧,判断是否存在与其相邻的下一个i帧:

如果存在与所述i帧相邻的下一个i帧,将所述i帧和所述下一个i帧之间的视频帧以及所述i帧作为一个gop包存储,记录所述gop包在所述电子设备中的存储位置,将所述gop包中的i帧对应的时间戳作为所述gop包的时间戳,将所述gop包的时间戳和所述gop包在电子设备中的存储位置对应存储至所述数据库中;

如果不存在与所述i帧相邻的下一个i帧,将所述i帧以及所述视频数据中剩余的视频帧作为一个gop包存储,记录所述gop包在所述电子设备中的存储位置,将所述gop包中的i帧对应的时间戳作为所述gop包的时间戳,将所述gop包的时间戳和所述gop包在电子设备中的存储位置对应存储至所述数据库中。

可选的,当所述视频播放请求为视频回放请求时,所述将获取的gop包发送给播放器播放包括:

将获取的gop包发送给播放器,以使所述播放器对所述gop包进行解析, 并将解析出的视频帧正序播放。

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

在所述gop包播放过程中,如果未接收到用户的停止播放请求,则将所述目标时间戳的下一时间戳作为新的目标时间戳;

在所述数据库中查找所述新的目标时间戳对应的gop包在所述电子设备中的存储位置,根据所查找到的存储位置获得相应的gop包,并将获得的gop包发送给播放器,以使所述播放器对接收到的gop包进行解析,并将解析出的视频帧正序播放。

可选的,当所述视频播放请求为视频倒放请求时,所述将获取的gop包发送给播放器播放包括:

将获取的gop包发送给播放器,以使所述播放器对所述gop包进行解析,并将解析出的视频帧倒序播放。

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

在所述gop包播放过程中,如果未接收到用户的停止播放请求,则将所述目标时间戳的上一时间戳作为新的目标时间戳;

在所述数据库中查找所述新的目标时间戳对应的gop包在所述电子设备中的存储位置,根据所查找到的存储位置获得相应的gop包,并将获得的gop包发送给播放器,以使所述播放器对接收到的gop包进行解析,并将解析出的视频帧倒序播放。

一种视频播放装置,应用于电子设备,所述电子设备中存储有画面组gop包形式的视频数据,所述装置包括:

接收模块,用于接收视频播放请求;

查找模块,用于根据所接收到的视频播放请求中的目标时间戳,在数据库中查找所述目标时间戳对应的gop包的存储位置,其中,所述数据库中存储有每个gop包的时间戳和每个gop包在所述电子设备中的存储位置;

第一发送模块,用于根据所查找到的存储位置在所述电子设备中获取所述目标时间戳对应的gop包,并将获取的gop包发送给播放器播放。

可选的,通过储存模块存储gop包形式的视频数据,所述储存模块,具体用于:

针对电子设备接收到的视频数据中的每个i帧,判断是否存在与其相邻的下一个i帧:

如果存在与所述i帧相邻的下一个i帧,将所述i帧和所述下一个i帧之间的视频帧以及所述i帧作为一个gop包存储,记录所述gop包在所述电子设备中的存储位置,将所述gop包中的i帧对应的时间戳作为所述gop包的时间戳,将所述gop包的时间戳和所述gop包在电子设备中的存储位置对应存储至所述数据库中;

如果不存在与所述i帧相邻的下一个i帧,将所述i帧以及所述视频数据中剩余的视频帧作为一个gop包存储,记录所述gop包在所述电子设备中的存储位置,将所述gop包中的i帧对应的时间戳作为所述gop包的时间戳,将所述gop包的时间戳和所述gop包在电子设备中的存储位置对应存储至所述数据库中。

可选的,所述第一发送模块,具体用于:

当所述视频播放请求为视频回放请求时,根据所查找到的存储位置在所述电子设备中获取所述目标时间戳对应的gop包,并将获取的gop包发送给播放器,以使所述播放器对所述gop包进行解析,并将解析出的视频帧正序播放。

可选的,所述装置还包括:

第一确定模块,用于在所述gop包播放过程中,如果未接收到用户的停止播放请求,则将所述目标时间戳的下一时间戳作为新的目标时间戳;

第二发送模块,用于在所述数据库中查找所述新的目标时间戳对应的gop包在所述电子设备中的存储位置,根据所查找到的存储位置获得相应的gop包,并将获得的gop包发送给播放器,以使所述播放器对接收到的gop包进行解析,并将解析出的视频帧正序播放。

可选的,所述第一发送模块,具体用于:

当所述视频播放请求为视频倒放请求时,根据所查找到的存储位置在所述 电子设备中获取所述目标时间戳对应的gop包,并将获取的gop包发送给播放器,以使所述播放器对所述gop包进行解析,并将解析出的视频帧倒序播放。

可选的,所述装置还包括:

第二确定模块,用于在所述gop包播放过程中,如果未接收到用户的停止播放请求,则将所述目标时间戳的上一时间戳作为新的目标时间戳;

第三发送模块,用于在所述数据库中查找所述新的目标时间戳对应的gop包在所述电子设备中的存储位置,根据所查找到的存储位置获得相应的gop包,并将获得的gop包发送给播放器,以使所述播放器对接收到的gop包进行解析,并将解析出的视频帧倒序播放。

本发明实施例提供的一种视频播放方法及装置,由于本发明实施例中在数据库中存储有每个gop包的时间戳和每个gop包在电子设备中的存储位置,因此当接收到目标时间戳后可以根据该目标时间戳查找其对应的gop包的存储位置,从而提高了gop包的查询效率,进而提高了视频播放的效率,另外,在本发明实施例中每个gop包中存储有完整的视频图像的信息,因此可以保证后续视频播放的真实性。实施本发明的任一产品或方法不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种视频播放方法的流程示意图;

图2为本发明实施例提供的一种视频播放方法的另一流程示意图;

图3为本发明实施例提供的一种视频播放方法的另一流程示意图;

图4为本发明实施例提供的一种视频播放装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决现有技术问题,本发明实施例提供了一种视频播放方法及装置。

下面首先对本发明实施例所提供的一种视频播放方法进行介绍。

需要说明的是,本发明实施例所提供的一种视频播放方法应用于电子设备。该电子设备可以为带屏幕的摄像机、手机、平板电脑、台式机和笔记本电脑等,这都是合理的。

如图1所示,本发明实施例提供的一种视频播放方法,应用于电子设备,该电子设备中存储有画面组(groupofpictures,gop)包形式的视频数据,该方法包括:

s101:接收视频播放请求。

在实际应用中,用户可以根据自身的需求,点击播放器中时间进度条中的某个位置,以发出视频播放请求,电子设备接收用户发出的视频播放请求,以便进行后续步骤。

其中,视频播放请求中携带目标时间戳,该目标时间戳可以为用户点击的时间进度条中位置对应的时间点。

s102:根据所接收到的视频播放请求中的目标时间戳,在数据库中查找该目标时间戳对应的gop包的存储位置。

其中,数据库中存储有每个gop包的时间戳和每个gop包在电子设备中的存储位置。

由于数据库中存储有每个gop包的时间戳和每个gop包在电子设备中的存储位置,因此,可以根据用户发出的视频播放请求中的目标时间戳,在数据库中查找与该目标时间戳相同的时间戳,当查找到时,确定该查找到的时间戳对应的gop包在电子设备中的存储位置,将该存储位置确定为目标时间戳对应 的gop包的存储位置。由于无需遍历每帧图像的数据,所以,查找数据库速度较快,因此此过程减少了耗时。

s103:根据所查找到的存储位置在电子设备中获取该目标时间戳对应的gop包,并将获取的gop包发送给播放器播放。

根据查找到的存储位置,在电子设备中存储的视频数据中查找到该存储位置上的gop包,并且将该gop包发送到播放器。其中,播放器可以为该电子设备本地播放器,也可以为独立的播放设备中的播放器。

播放器在接收到该gop包时,对该gop包进行解析,将解析出的视频帧放入播放器的内存中,然后将内存中的视频帧绘制到播放器的播放窗口进行播放。其中,由于gop包中的i帧、b帧和p帧都可以解码出完整的视频图像,无需通过差值计算解析图像,不会产生图像失真,所以播放器的播放窗口中播放的每幅视频图像都是完整且真实的图像。

与现有技术相比,由于本发明实施例中在数据库中存储有每个gop包的时间戳和每个gop包在电子设备中的存储位置,因此当接收到目标时间戳后可以根据该目标时间戳查找其对应的gop包的存储位置,从而提高了gop包的查询效率,进而提高了视频播放的效率,另外,在本发明实施例中每个gop包中存储有完整的视频图像的信息,因此可以保证后续视频播放的真实性。

本实施例中,电子设备存储gop包形式的视频数据的过程可以包括:

针对电子设备接收到的视频数据中的每个i帧,判断是否存在与其相邻的下一个i帧:

如果存在与该i帧相邻的下一个i帧,将该i帧和该下一个i帧之间的视频帧以及该i帧作为一个gop包存储,记录该gop包在该电子设备中的存储位置,将该gop包中的i帧对应的时间戳作为该gop包的时间戳,将该gop包的时间戳和该gop包在电子设备中的存储位置对应存储至该数据库中;

如果不存在与该i帧相邻的下一个i帧,将该i帧以及该视频数据中剩余的视频帧作为一个gop包存储,记录该gop包在该电子设备中的存储位置,将该gop包中的i帧对应的时间戳作为该gop包的时间戳,将该gop包的时间戳和该gop包在电子设备中的存储位置对应存储至该数据库中。

其中,一个gop包就是一组连续的画面。gop包为i帧、p帧和b帧的序列集合,并且序列集合中只有一个i帧,例如:一个gop包可以为i帧p帧b帧p帧、i帧p帧p帧b帧p帧、i帧p帧b帧p帧或i帧b帧p帧p帧。当确定一个gop包后,存储该gop包并记录该gop包在电子设备中的存储位置,然后再继续确定下一个gop包,将确定的gop包一个一个分别存储到电子设备中。

由于一个gop包的时间长度一般为1s,可以包括20-30帧,时间较短,因此,一个gop包对应一个时间戳。本实施例中在确定一个gop包后,就将该gop包中的i帧对应的时间戳作为该gop包的时间戳,将该gop包的时间戳和该gop包在电子设备中的存储位置对应存储至数据库中。

由于每个gop包和其对应的原始视频数据的数据长度和数据值是一致的,且各gop包之间没有间隙,因此,在将视频数据存储为gop包形式时不会出现视频数据丢失的现象。

将视频数据以gop包的形式存储,具有如下优势:

一、播放器从任意时间点得到的视频数据都是一个完整的gop包。

二、由于每个gop包都以i帧开头,因此播放器解码时不会产生解码延时或解码失败的情况。

三、当电子设备对视频流这种源源不断的视频数据进行播放时,不会产生单个视频文件过大的问题。

另外,在本发明的另一种实现方式中,电子设备存储gop包形式的视频数据的过程可以包括:

当电子设备接收的视频数据达到预设长度时,对接收的视频数据执行如下步骤:

确定该视频数据中最早的时间戳对应的参考i帧,确定与该参考i帧相邻的下一个目标i帧,将该参考i帧及该参考i帧与该目标i帧之间的视频帧确定为一个gop包,存储该gop包并记录该gop包在电子设备中的存储位置,将该gop包中的i帧对应的时间戳作为该gop包的时间戳,将该gop包的时间戳和该gop包在电子设备中的存储位置对应存储至数据库中;

将该目标i帧确定为参考i帧,判断是否存在与该参考i帧相邻的下一个目标 i帧,如果是,返回执行将该参考i帧及该参考i帧与该目标i帧之间的视频帧确定为一个gop包的步骤,如果否,将该参考i帧及该视频数据中剩余的视频帧确定为一个gop包,存储该gop包并记录该gop包在电子设备中的存储位置,将该gop包中的i帧对应的时间戳作为该gop包的时间戳,将该gop包的时间戳和该gop包在电子设备中的存储位置对应存储至数据库中。

下面通过一个具体实施例对上述过程进行详细描述:

例如:可以设置预设视频数据的长度为0.5mb。当电子设备接收的视频数据达到0.5mb时,其中,该0.5mb视频数据包括i1pbpppbppbpbpppbpbpbi2pbpppbppbpbpppbpbpbi3pbp,存储的过程包括:

首先,确定该0.5mb视频数据中最早的时间戳对应的参考i帧即i1,确定与i1相邻的下一个目标i帧i2,将i1及i1与i2之间的视频帧确定为一个gop包,即将i1pbpppbppbpbpppbpbpb确定为一个gop包,存储该gop包并记录该gop包在电子设备中的存储位置,将该gop包中的i1帧对应的时间戳作为该gop包的时间戳,将该gop包的时间戳和该gop包在电子设备中的存储位置对应存储至数据库中;

然后,将i2确定为参考i帧,判断是否存在与i2相邻的下一个目标i帧。由于存在i3帧,将i2及i2与i3之间的视频帧确定为一个gop包,即将i2pbpppbppbpbpppbpbpb确定为一个gop包,存储该gop包并记录该gop包在电子设备中的存储位置,将该gop包中的i2帧对应的时间戳作为该gop包的时间戳,将该gop包的时间戳和该gop包在电子设备中的存储位置对应存储至数据库中;

最后,将i3确定为参考i帧,判断是否存在与i3相邻的下一个目标i帧,由于未存在下一个目标i帧,将及i3及视频数据中剩余的视频帧确定为一个gop包即将i3pbp确定为一个gop包,存储该gop包并记录该gop包在电子设备中的存储位置,将该gop包中的i3帧对应的时间戳作为该gop包的时间戳,将该gop包的时间戳和该gop包在电子设备中的存储位置对应存储至数据库中;

由此,将0.5mb的视频数据存储为3个gop包。

在本发明实施例中,视频播放请求可以为视频回放请求也可以为视频倒放请求。

当视频播放请求为视频回放请求时,将获取的gop包发送给播放器播放可以包括:

将获取的gop包发送给播放器,以使该播放器对该gop包进行解析,将解析出的视频帧正序播放。

具体的,应用本发明实施例进行视频回放的过程参见图2。

如图2所示,本发明提供的一种视频播放方法的另一流程,包括:

s201:接收视频回放请求。

接收用户发出的视频回放请求,以便进行后续步骤。

s202:根据所接收到的视频播放请求中的目标时间戳,在数据库中查找该目标时间戳对应的gop包的存储位置。

其中,该数据库中存储有每个gop包的时间戳和每个gop包在电子设备中的存储位置。

其中,步骤s202与图1所示步骤s102相同,在此不再赘述。

s203:根据所查找到的存储位置在电子设备中获取该目标时间戳对应的gop包,并将获取的gop包发送给播放器以使播放器对该gop包进行解析,将解析出的视频帧正序播放。

根据查找到的存储位置,在电子设备中查找到该存储位置上的gop包,并且将该gop包发送到播放器,播放器解析接收到的该gop包,将解析出的视频帧按照视频录制时间从早往晚绘制到播放窗口进行播放。

例如:播放器从gop包中解析出了25个视频帧,按照时间早晚依次编号为1到25,则回放是将25个视频帧按照从1到25的顺序绘制到播放窗口进行播放。

s204:在该gop包播放过程中,如果未接收到用户的停止播放请求,则将目标时间戳的下一时间戳作为新的目标时间戳。

在未接收到用户的停止播放请求时,由于所接收到的是用户发出的视频回放请求,所以自动将该目标时间戳的下一时间戳作为新的目标时间戳,以进行后续的步骤。

s205:在数据库中查找该新的目标时间戳对应的gop包在电子设备中的存储位置,根据所查找到的存储位置获得相应的gop包,并将获得的gop包发送给播放器,以使播放器对接收到的gop包进行解析,并将解析出的视频帧正序播放。

由于数据库中存储有每个gop包的时间戳和每个gop包在电子设备中的存储位置,因此,可以根据新的目标时间戳,在数据库中查找与该新的目标时间戳相同的时间戳,当查找到时,确定该查找到的时间戳对应的gop包的存储位置,将该存储位置确定为新的目标时间戳对应的gop包的存储位置。根据查找到的存储位置,在电子设备中获得该存储位置上的gop包,并且将获得的gop包发送到播放器。播放器解析接收到的该gop包,将解析出的视频帧按照视频录制时间从早往晚绘制到播放窗口进行播放。

视频回放即播放器正序播放完一个gop包后,再正序播放已播完的gop包的下一个gop包。

由此,通过将目标时间戳的下一时间戳作为目标时间戳的方式,查找到下一时间戳对应的gop包并按照从早往晚的顺序,将下一时间戳对应的gop包的视频帧绘制到播放窗口进行播放完成了视频回放。

下面以电子设备为电脑,播放器为电脑的本地播放器为例,通过一具体实施例对图2所示方法进行详细说明。

例如:接收视频回放请求,其中,目标时间戳为b时间戳,在视频数据中,c时间戳为b时间戳的下一时间戳,每个gop包中可解析出25个视频帧,按照时间早晚依次编号为1到25,在接收视频回放请求后,在数据库中查找到b时间戳对应的gop包的存储位置,根据所查找到的存储位置在电子设备中获取b时间戳对应的gop包,并将获取的gop包发送给本地播放器。本地播放器解析出b时间戳对应的gop包中的25个视频帧,将该25个视频帧按照从1到25的顺序绘制到本地播放器的播放窗口进行播放,完成b时间戳对应的gop包的播放。当该gop包播放过程中,如果未接收到用户的停止播放请求,则将c时间戳作为新的目标时间戳,在数据库中查找到c时间戳对应的gop包在电子设备中的存储位置,根据所查找到的存储位置获得c时间戳对应的gop包,并将获得的gop 包发送给本地播放器。本地播放器解析出c时间戳对应的gop包中的25个视频帧,将该25个视频帧按照从1到25的顺序绘制到本地播放器的播放窗口进行播放,完成c时间戳对应的gop包的播放。

类似的,当视频播放请求为视频倒放请求时,将获取的gop包发送给播放器播放可以包括:

将获取的gop包发送给播放器以使该播放器对该gop包进行解析,将解析出的视频帧倒序播放。

具体的,应用本发明实施例进行视频倒放的过程参见图3。

如图3所示,本发明提供的一种视频播放方法的另一流程,包括:

s301:接收视频倒放请求。

接收用户发出的视频倒放请求,以便进行后续步骤。

s302:根据所接收到的视频播放请求中的目标时间戳,在数据库中查找该目标时间戳对应的gop包的存储位置。

其中,该数据库中存储有每个gop包的时间戳和每个gop包在电子设备中的存储位置。

其中,步骤s302与图1所示步骤s102相同,在此不再赘述。

s303:根据所查找到的存储位置在电子设备中获取该目标时间戳对应的gop包,并将获取的gop包发送给播放器以使播放器对该gop包进行解析,将解析出的视频帧倒序播放。

根据查找到的存储位置,在电子设备中查找到该存储位置上的gop包,并且将该gop包发送到播放器,播放器解析接收到的该gop包,将解析出的视频帧按照视频录制时间从晚往早绘制到播放窗口进行播放。

例如:播放器从gop包中解析出了25个视频帧,按照时间早晚依次编号为1到25,则回放是将25个视频帧按照从25到1的顺序绘制到播放窗口进行播放。

s304:在该gop包播放过程中,如果未接收到用户的停止播放请求,则将 该目标时间戳的上一时间戳作为新的目标时间戳。

在未接收到用户的停止播放请求时,由于所接收到的是用户发出的视频倒放请求,所以自动将该目标时间戳的上一时间戳作为目标时间戳,以进行后续的步骤。

s305:在数据库中查找该新的目标时间戳对应的gop包在电子设备中的存储位置,根据所查找到的存储位置获得相应的gop包,并将获得的gop包发送给播放器,以使播放器对接收到的gop包进行解析,并将解析出的视频帧倒序播放。

由于数据库中存储有每个gop包的时间戳和每个gop包在电子设备中的存储位置,因此,可以根据新的目标时间戳,在数据库中查找与该新的目标时间戳相同的时间戳,当查找到时,确定该查找到的时间戳对应的gop包的存储位置,将该存储位置确定为新的目标时间戳对应的gop包的存储位置。根据查找到的存储位置,在电子设备中获得该存储位置上的gop包,并且将该gop包发送到播放器。播放器解析接收到的该gop包,将解析出的视频帧按照视频录制时间从晚往早绘制到播放窗口进行播放。

视频倒放即播放器倒序播放完一个gop包后,再倒序播放已播完的gop包的上一个gop包。

由此,通过将目标时间戳的上一时间戳作为目标时间戳的方式,查找到上一时间戳对应的gop包并按照从晚往早的顺序,将上一时间戳对应的gop包的视频帧绘制到播放窗口进行播放完成了视频倒放。

下面以电子设备为电脑,播放器为电脑的本地播放器为例,通过一具体实施例对图3所示方法进行详细说明。

例如:接收视频倒放请求,其中,目标时间戳为b时间戳,在视频数据中,a时间戳为b时间戳的上一时间戳,每个gop包中可解析出25个视频帧,按照时间早晚依次编号为1到25,在接收视频回放请求后,在数据库中查找到b时间戳对应的gop包的存储位置,根据所查找到的存储位置在电子设备中获取b时间戳对应的gop包,并将获取的gop包发送给本地播放器。本地播放器解析出 b时间戳对应的gop包中的25个视频帧,将该25个视频帧按照从25到1的顺序绘制到本地播放器的播放窗口进行播放,完成b时间戳对应的gop包的播放。当该gop包播放过程中,如果未接收到用户的停止播放请求,则将a时间戳作为新的目标时间戳,在数据库中查找到a时间戳对应的gop包在电子设备中的存储位置,根据所查找到的存储位置获得a时间戳对应的gop包,并将获得的gop包发送给本地播放器。本地播放器解析出a时间戳对应的gop包中的25个视频帧,将该25个视频帧按照25到1的顺序绘制到本地播放器的播放窗口进行播放,完成a时间戳对应的gop包的播放。

相对于上述方法实施例,本发明实施例还提供了一种视频播放装置,应用于电子设备,该电子设备中存储有画面组gop包形式的视频数据,如图4所示,该装置可以包括:

接收模块401,用于接收视频播放请求;

查找模块402,用于根据所接收到的视频播放请求中的目标时间戳,在数据库中查找该目标时间戳对应的gop包的存储位置,其中,该数据库中存储有每个gop包的时间戳和每个gop包在该电子设备中的存储位置;

第一发送模块403,用于根据所查找到的存储位置在该电子设备中获取该目标时间戳对应的gop包,并将获取的gop包发送给播放器播放。

与现有技术相比,由于本发明实施例中在数据库中存储有每个gop包的时间戳和每个gop包在电子设备中的存储位置,因此当接收到目标时间戳后可以根据该目标时间戳查找其对应的gop包的存储位置,从而提高了gop包的查询效率,进而提高了视频播放的效率,另外,在本发明实施例中每个gop包中存储有完整的视频图像的信息,因此可以保证后续视频播放的真实性。

具体的,通过储存模块存储gop包形式的视频数据,该储存模块,可以具体用于:

针对电子设备接收到的视频数据中的每个i帧,判断是否存在与其相邻的下一个i帧:

如果存在与该i帧相邻的下一个i帧,将该i帧和该下一个i帧之间的视频帧以及该i帧作为一个gop包存储,记录该gop包在该电子设备中的存储位置,将该gop包中的i帧对应的时间戳作为该gop包的时间戳,将该gop包的时间戳和该gop包在电子设备中的存储位置对应存储至该数据库中;

如果不存在与该i帧相邻的下一个i帧,将该i帧以及该视频数据中剩余的视频帧作为一个gop包存储,记录该gop包在该电子设备中的存储位置,将该gop包中的i帧对应的时间戳作为该gop包的时间戳,将该gop包的时间戳和该gop包在电子设备中的存储位置对应存储至该数据库中。

具体的,该第一发送模块403,可以具体用于:

当该视频播放请求为视频回放请求时,根据所查找到的存储位置在该电子设备中获取该目标时间戳对应的gop包,并将获取的gop包发送给播放器,以使该播放器对该gop包进行解析,并将解析出的视频帧正序播放。

具体的,该装置还可以包括:

第一确定模块,用于在该gop包播放过程中,如果未接收到用户的停止播放请求,则将该目标时间戳的下一时间戳作为新的目标时间戳;

第二发送模块,用于在该数据库中查找该新的目标时间戳对应的gop包在该电子设备中的存储位置,根据所查找到的存储位置获得相应的gop包,并将获得的gop包发送给播放器,以使该播放器对接收到的gop包进行解析,并将解析出的视频帧正序播放。

具体的,该第一发送模块403,可以具体用于:

当该视频播放请求为视频倒放请求时,根据所查找到的存储位置在该电子设备中获取该目标时间戳对应的gop包,并将获取的gop包发送给播放器,以使该播放器对该gop包进行解析,并将解析出的视频帧倒序播放。

具体的,该装置还可以包括:

第二确定模块,用于在该gop包播放过程中,如果未接收到用户的停止播放请求,则将该目标时间戳的上一时间戳作为新的目标时间戳;

第三发送模块,用于在该数据库中查找该新的目标时间戳对应的gop包在该电子设备中的存储位置,根据所查找到的存储位置获得相应的gop包,并将获得的gop包发送给播放器,以使该播放器对接收到的gop包进行解析,并将解析出的视频帧倒序播放。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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