确定视频卡顿的方法及装置与流程

文档序号:11693450阅读:422来源:国知局
确定视频卡顿的方法及装置与流程

本发明涉及多媒体技术领域,特别涉及一种确定视频卡顿的方法及装置。



背景技术:

卡顿是视频播放过程中经常遇到的问题,当播放的视频卡顿后,用户将无法流畅地观看视频,这不仅极大地影响了用户的观感,而且降低了用户对直播平台的粘性。为了改善用户的观感,增加用户对直播平台的粘性,可在视频播放过程中,需要确定播放的视频是否卡顿,进而及时调整视频数据的发送策略。

现有技术主要基于flash播放组件中的音视频缓存队列,确定播放的视频是否卡顿,具体确定过程为:在视频播放过程中,检测音视频缓存队列是否为空,如果音视频缓存队列为空,则确定播放的视频卡顿;如果音视频缓存队列为非空,则确定播放的视频未卡顿。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

通常音视频缓存队列不仅可缓存视频数据,而且还可缓存音频数据,当音视频缓存队列中只缓存音频数据未缓存视频数据时,由于音视频缓存队列为非空,现有技术确定播放的视频未卡顿,而实际上播放的视频已卡顿,因此,现有技术的确定结果并不准确。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种确定视频数据卡顿的方法及装置。所述技术方案如下:

一方面,提供了一种确定视频数据卡顿的方法,所述方法包括:

当接收到音视频数据时,从所述音视频数据中分离出视频数据;

将预先存储的参考图像的图像信息封装到所述视频数据中,得到封装后的视频数据;

基于与第一显示组件绑定的播放组件,在指定区域内显示所述封装后的视频数据的过程中,采集图像数据,并记录所述图像数据的第一采集时间;

根据所述图像数据和所述图像数据的第一采集时间,确定播放的视频是否卡顿。

在本发明的另一个实施例中,所述将预先存储的参考图像的图像信息封装到所述视频数据中,得到封装后的视频数据之前,所述方法还包括:

预先编码两帧参考图像,所述两帧图像包括红色参考图像和绿色参考图像;

获取所述两帧图像的序列参数集和图像参数集;

将所述序列参数集、所述图像参考集、以及所述两帧参考图像的编码帧作为所述参考图像的图像信息。

在本发明的另一个实施例中,所述将预先存储的参考图像的图像信息封装到所述视频数据中,得到封装后的视频数据,包括:

确定所述视频数据的帧类型;

如果所述视频数据的帧类型为视频头帧,则将所述序列参数集、所述图像参数集封装到所述视频数据中,得到所述封装后的视频数据;

如果所述视频数据的帧类型为视频图像帧,根据所述视频数据在已接收视频数据总数中的奇偶属性,从所述两帧参考图像的编码帧中,选取目标编码帧,并将所述目标编码帧封装到所述视频数据中,得到所述封装后的视频数据。

在本发明的另一个实施例中,所述根据所述视频数据在已接收视频数据总数中的奇偶属性,从所述两帧参考图像的编码帧中,选取目标编码帧,包括:

如果所述视频数据在已接收视频数据总数中的奇偶属性为奇数,则将所述红色参考图像的编码帧作为所述目标编码帧;

如果所述视频数据在已接收视频数据总数中的奇偶属性为偶数,则将所述绿色参考图像的编码帧作为所述目标编码帧。

在本发明的另一个实施例中,所述根据所述图像数据和所述图像数据的第一采集时间,确定播放的视频是否卡顿,包括:

获取所述图像数据的第一位图颜色信息;

获取上一次采集的图像数据的第二位图颜色信息和第二采集时间;

判断所述第一位图颜色信息和所述第二位图颜色信息是否相同;

如果所述第一位图颜色信息和所述第二位图颜色信息不相同,则确定播放的视频不卡顿;

如果所述第一位图颜色信息和所述第二位图颜色信息相同,判断所述第一采集时间和所述第二采集时间之间的差值是否大于指定阈值;

如果所述第一采集时间和所述第二采集时间之间的差值小于所述指定阈值,则继续采集图像数据进行判断;

如果所述第一采集时间和所述第二采集时间之间的差值大于所述指定阈值,则确定播放的视频卡顿。

在本发明的另一个实施例中,所述方法还包括:

从所述视频数据中分离出音频数据;

基于与第二显示组件绑定的播放组件,在可视区域内显示所述视频数据并播放所述音频数据;

在所述指定区域内显示所述封装后的视频数据的过程中,基于与所述第一显示组件绑定的播放组件静音播放所述音频数据。

另一方面,提供了一种确定视频数据卡顿的装置,所述装置包括:

数据分离模块,用于当接收到音视频数据时,从所述音视频数据中分离出视频数据;

数据封装模块,用于将预先存储的参考图像的图像信息封装到所述视频数据中,得到封装后的视频数据;

数据采集模块,用于基于与第一显示组件绑定的播放组件,在指定区域内显示所述封装后的视频数据的过程中,采集图像数据;

记录模块,用于记录所述图像数据的第一采集时间;

确定模块,用于根据所述图像数据和所述图像数据的第一采集时间,确定播放的视频是否卡顿。

在本发明的另一个实施例中,所述装置还包括:

编码模块,用于预先编码两帧参考图像,所述两帧图像包括红色参考图像和绿色参考图像;

获取模块,用于获取所述两帧图像的序列参数集和图像参数集;将所述序列参数集、所述图像参考集、以及所述两帧参考图像的编码帧作为所述参考图像的图像信息。

在本发明的另一个实施例中,所述数据封装模块,用于确定所述视频数据的帧类型;当所述视频数据的帧类型为视频头帧时,将所述序列参数集、所述图像参数集封装到所述视频数据中,得到所述封装后的视频数据;当所述视频数据的帧类型为视频图像帧时,根据所述视频数据在已接收视频数据总数中的奇偶属性,从所述两帧参考图像的编码帧中,选取目标编码帧,并将所述目标编码帧封装到所述视频数据中,得到所述封装后的视频数据。

在本发明的另一个实施例中,所述数据封装模块,用于当所述视频数据在已接收视频数据总数中的奇偶属性为奇数时,将所述红色参考图像的编码帧作为所述目标编码帧;当所述视频数据在已接收视频数据总数中的奇偶属性为偶数时,将所述绿色参考图像的编码帧作为所述目标编码帧。

在本发明的另一个实施例中,所述确定模块,用于获取所述图像数据的第一位图颜色信息;获取上一次采集的图像数据的第二位图颜色信息和第二采集时间;判断所述第一位图颜色信息和所述第二位图颜色信息是否相同;当所述第一位图颜色信息和所述第二位图颜色信息不相同时,则确定播放的所述视频不卡顿;当所述第一位图颜色信息和所述第二位图颜色信息相同时,判断所述第一采集时间和所述第二采集时间之间的差值是否大于指定阈值;当所述第一采集时间和所述第二采集时间之间的差值小于所述指定阈值时,继续采集图像数据进行判断;当所述第一采集时间和所述第二采集时间之间的差值大于所述指定阈值时,确定播放的视频卡顿。

在本发明的另一个实施例中,所述装置还包括:

所述数据分离模块,用于从所述视频数据中分离出音频数据;

显示模块,用于基于与第二显示组件绑定的播放组件,在可视区域内显示所述视频数据并播放所述音频数据;

播放模块,用于在所述指定区域内显示所述封装后的视频数据的过程中,基于与所述第一显示组件绑定的播放组件静音播放所述音频数据。

本发明实施例提供的技术方案带来的有益效果是:

通过将参考图像的图像信息封装到视频数据中,并在显示视频数据的过程中,采集图像数据并记录图像数据的采集时间,进而基于图像数据和采集时间,确定视频数据是否卡顿。该过程无需检测音视频缓存队列,借助当前播放的视频数据进行确定,确定结果更为准确、实时性更强。

附图说明

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

图1是本发明一个实施例提供的一种确定视频卡顿的方法流程图;

图2是本发明另一个实施例提供的一种确定视频卡顿的方法流程图;

图3是本发明另一个实施例提供的一种确定视频卡顿的装置结构示意图;

图4是本发明实施例四提供的……装置结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种确定视频卡顿的方法,参见图1,本发明实施例提供的方法流程包括:

101、当接收到音视频数据时,从音视频数据中分离出视频数据。

102、将预先存储的参考图像的图像信息封装到视频数据中,得到封装后的视频数据。

103、基于与第一显示组件绑定的播放组件,在指定区域内显示封装后的视频数据的过程中,采集图像数据,并记录图像数据的第一采集时间。

104、根据图像数据和图像数据的第一采集时间,确定播放的视频是否卡顿。

本发明实施例提供的方法,通过将参考图像的图像信息封装到视频数据中,并在显示视频数据的过程中,采集图像数据并记录图像数据的采集时间,进而基于图像数据和采集时间,确定视频数据是否卡顿。该过程无需检测音视频缓存队列,借助当前播放的视频数据进行确定,确定结果更为准确、实时性更强。

在本发明的另一个实施例中,将预先存储的参考图像的图像信息封装到视频数据中,得到封装后的视频数据之前,方法还包括:

预先编码两帧参考图像,该两帧图像包括红色参考图像和绿色参考图像;

获取两帧图像的序列参数集和图像参数集;

将序列参数集、图像参考集、以及两帧参考图像的编码帧作为参考图像的图像信息。

在本发明的另一个实施例中,将预先存储的参考图像的图像信息封装到视频数据中,得到封装后的视频数据,包括:

确定视频数据的帧类型;

如果视频数据的帧类型为视频头帧,则将序列参数集、图像参数集封装到视频数据中,得到封装后的视频数据;

如果视频数据的帧类型为视频图像帧,根据视频数据在已接收视频数据总数中的奇偶属性,从两帧参考图像的编码帧中,选取目标编码帧,并将目标编码帧封装到视频数据中,得到封装后的视频数据。

在本发明的另一个实施例中,根据视频数据在已接收视频数据总数中的奇偶属性,从两帧参考图像的编码帧中,选取目标编码帧,包括:

如果视频数据在已接收视频数据总数中的奇偶属性为奇数,则将红色参考图像的编码帧作为目标编码帧;

如果视频数据在已接收视频数据总数中的奇偶属性为偶数,则将绿色参考图像的编码帧作为目标编码帧。

在本发明的另一个实施例中,根据图像数据和图像数据的第一采集时间,确定播放的视频是否卡顿,包括:

获取图像数据的第一位图颜色信息;

获取上一次采集的图像数据的第二位图颜色信息和第二采集时间;

判断第一位图颜色信息和第二位图颜色信息是否相同;

如果第一位图颜色信息和第二位图颜色信息不相同,则确定播放的视频不卡顿;

如果第一位图颜色信息和第二位图颜色信息相同,判断第一采集时间和第二采集时间之间的差值是否大于指定阈值;

如果第一采集时间和第二采集时间之间的差值小于指定阈值,则继续采集图像数据进行判断;

如果第一采集时间和第二采集时间之间的差值大于指定阈值,则确定播放的视频卡顿。

在本发明的另一个实施例中,该方法还包括:

从视频数据中分离出音频数据;

基于与第二显示组件绑定的播放组件,在可视区域内显示视频数据并播放音频数据;

在指定区域内显示封装后的视频数据的过程中,基于与第一显示组件绑定的播放组件静音播放音频数据。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

本发明实施例提供了一种确定视频卡顿的方法,参见图2,本发明实施例提供的方法流程包括:

201、终端预先存储参考图像的图像信息。

其中,终端为具有视频播放功能的设备,可以为智能手机、平板电脑、笔记本电脑等,本发明实施例不对终端的产品类型作具体的限定。

在本发明实施例中,终端获取参考图像的图像信息时,可采用如下步骤2011~2013:

2011、终端预先编码两帧参考图像。

其中,参考图像为本发明实施例中用于检测播放的视频是否卡顿的标准图像,该参考图像包括红色参考图像和绿色参考图像,该红色参考图像和绿色参考图像的大小相同,本发明实施例中以红色参考图像和绿色参考图像为16*16像素的图像为例。

终端预先获取两帧16*16像素的图像,一个图像为全红色,记为pred,另一个图像为全绿色,记为pgreen。终端采用h264以帧内编码方式编码这两帧图像,并记录图像pred编码的图像数据(红色参考图像的编码帧)为ired,图像pgreen编码的图像数据(绿色参考图像的编码帧)为igreen。

2012、终端获取两帧图像的序列参数集和图像参数集。

在对红色参考图像和绿色参考图像的编码过程中,终端记录编码过程中输出的序列参数集和图像参数集。其中,序列参数集包括参考图像的宽和高、用于反映编码能力的参数等,该序列参数集可记为spsa。图像参数集包括参考图像的编码方式等等,该图像参数集可记为ppsa。

2013、终端将序列参数集、图像参考集、以及两帧参考图像的编码帧作为参考图像的图像信息。

由于序列参数集、图像参数集、红色参考图像的编码帧、绿色参考图像编码帧的数据量不大,且参考图像的图像信息在后续过程中将会应用,因而终端可将spsa、ppsa、ired、igreen以数组常量的方式打包编译到flash播放器中,并分别用spsaname、ppsaname、iredname、igreenname标示。

202、终端预先创建第一显示组件和第二显示组件。

终端中的flash播放器以数据生成模式创建两个netstream组件,分别为ns1和ns2。其中,ns1作为第一显示组件,用于确定播放的视频数据是否卡顿,并将输出的音频数据的音量设置为静音。ns2作为第二显示组件,用于正常显示视频数据和输出音频数据。

203、当接收到音视频数据时,终端从音视频数据中分离出视频数据和音频数据。

在视频直播场景下,终端中的flash播放器采用tcpsocket(tcp套接字)组件,基于rtmp(realtimemessagingprotocol,实时消息传输协议)与流媒体服务器进行通信。当接收到rtmp音视频数据时,终端通过rtmp协议头从音视频数据中分离出音频rtmp数据ran和视频rtmp数据rvn。

为使创建的第一显示组件、第二显示组件及与其绑定的播放组件能够读取分离后的音频数据和视频数据,flash播放器需对rtmp格式封装的音频数据ran和视频数据rvn进行格式转换。

针对rtmp格式封装的音频数据ran,flash播放器需将rtmp格式封装的音频数据ran转换成以flv格式封装的音频数据fan。在进行格式转换时,终端将对音频数据ran的时间戳、数据长度进行转换。具体转换时,可使音频数据fan的时间戳等于音频数据ran的时间戳、音频数据fan的数据长度等于音频数据ran的数据长度。其中,n表示接收到的音频数据的个数。在进行格式转换时,终端还将音频数据fan设置流id(identity,身份)。为了便于记录,本发明实施例将音频数据fan的流id设置为0。

针对rtmp格式封装的视频数据rvn,flash播放器需将rtmp格式封装的视频数据rvn转换成以flv格式封装的视频数据fvn。在进行格式转换时,终端将对视频数据rvn的时间戳、数据长度进行转换。具体转换时,可使视频数据fvn的时间戳等于视频数据rvn的时间戳、视频数据fvn的数据长度等于视频数据rvn的数据长度。其中,n表示接收到的视频数据的个数。在进行格式转换时,终端还将视频数据fvn设置流id(identity,身份)。为了便于记录,本发明实施例将视频数据fvn的流id设置为0。

204、终端基于与第二显示组件绑定的播放组件,在可视区域内显示视频数据并播放音频数据。

终端调用第二显示组件的appendbytes输出音频数据fan和视频数据fvn,并基于与第二显示组件绑定的播放部件(video组件),在可视区域内显示视频数据fvn,并播放音频数据fan。

205、终端将预先存储的参考图像的图像信息封装到视频数据中,得到封装后的视频数据。

终端将预先存储的参考图像的图像信息封装到视频数据中,得到封装后的视频数据时,可采用如下步骤2051~2053:

2051、终端确定视频数据的帧类型。

其中,视频数据的帧类型包括视频头帧和视频图像帧。基于上述步骤203中分离出的视频rtmp数据rvn,终端根据rtmp协议,可确定出视频数据的帧类型。

2052、如果视频数据的帧类型为视频头帧,则终端将序列参数集、图像参数集封装到视频数据中,得到封装后的视频数据。

当视频数据的帧类型为视频头帧时,终端获取参考图像信息中的序列参数集、图像参数集,并将spsa、ppsa标示的视频头帧数据封装成flv格式表示的视频头帧数据fvnh,并将视频头帧数据fvnh封装到视频数据中,得到封装后的视频数据。

在封装过程中,终端还将对视频头帧数据fvnh的时间戳和数据长度进行转换。具体转换时,可使视频头帧数据fvnh的时间戳等于接收到的视频数据的时间戳、视频头帧数据fvnh的数据长度等于spsa、ppsa标示的数据长度之和。在封装时,终端还将为视频头帧数据fvnh设置流id(identity,身份)。为了便于记录,本发明实施例将视频头帧数据fvnh的流id设置为0。

2053、如果视频数据的帧类型为视频图像帧,终端根据视频数据在已接收视频数据总数中的奇偶属性,从两帧参考图像的编码帧中,选取目标编码帧,并将目标编码帧封装到视频数据中,得到封装后的视频数据。

在本发明实施例中,终端每接收到一个视频数据时,都将记录已接收视频数据的数量,并基于已接收视频数据的数量,判断当前接收到的视频数据在已接收视频数据总数中的奇偶属性。例如,如果已接收视频数据的总数为20个,则可确定当前接收到的视频数据在已接收视频数据总数中的奇偶属性为偶数;如果已接收视频数据的总数为15个,则可确定当前已接收到的视频数据在已接收视频数据总数中的奇偶属性为奇数。

当视频数据的帧类型为视频图像帧时,由于该视频数据在已接收到视频数据总数中的奇偶属性不同,终端从两帧参考图像的编码帧中,所选取的目标编码帧是不同。针对视频数据在已接收视频数据总数中的奇偶属性,终端根据视频数据在已接收视频数据总数中的奇偶属性,从两帧参考图像的编码帧中,选取目标编码帧时,包括但不限于如下两种情况:

第一种情况、如果视频数据在已接收视频数据总数中的奇偶属性为奇数,则终端将红色参考图像的编码帧作为目标编码帧。

针对第一种情况、当视频数据在已接收视频数据总数中的奇偶属性为奇数时,终端将红色参考图像封装成flv格式表示的视频数据fvnp。在封装时,视频数据fvnp的时间戳等于接收到的视频数据的时间戳、视频数据fvnp的数据长度等于红色参考图像标示的数据长度。

第二种情况、如果视频数据在已接收视频数据总数中的奇偶属性为偶数,则终端将绿色参考图像的编码帧作为目标编码帧。

针对第二种情况、当视频数据在已接收视频数据总数中的奇偶属性为偶数时,终端将绿色参考图像封装成flv格式表示的视频数据fvnp。在封装时,视频数据fvnp的时间戳等于接收到的视频数据的时间戳、视频数据fvnp的数据长度等于绿色参考图像标示的数据长度。

206、终端基于与第一显示组件绑定的播放组件,在指定区域内显示封装后的视频数据并静音播放音频数据。

终端调用第一显示组件的appendbytes输出音频数据fan和视频数据fvn,为了防止播放的声音与第二显示组件绑定的播放组件输出的声音冲突,终端调用第一显示组件的soundtransform属性将输出音量设置为静音。基于与第一显示组件绑定的播放部件(video组件),终端在指定区域内显示封装后的视频数据fvn,并播放音频数据fan。其中,指定区域可以为可视区域之外的区域,以防止给用户的视觉体验造成干扰。

207、在显示封装后的视频数据的显示过程中,终端采集图像数据,并记录图像数据的第一采集时间。

在本发明实施例中,终端的flash播放器内设置有一个定时器,基于所设置的定时器,每隔预设时长,终端将采集一次图像数据,并记录该图像数据的第一采集时间。其中,预设时长可以为20毫秒、30毫秒等等,本发明实施例不对预设时长作具体的限定。该采集到的图像数据中至少包括位图颜色信息等。为了便于后续的叙述,本发明实施例将采集到的图像数据的位图颜色信息用pcolor表示,将图像数据的采集时间用ttemp表示。

需要说明的是,在视频播放过程中,终端采集图像数据时,对于第一次采集到的图像数据,如果该图像数据的位图颜色信息所指示的颜色不是红色,则需要继续采集图像数据,如果该图像数据的位图颜色信息所指示的颜色为红色,则以位图颜色信息为红色的图像数据为起点,对采集到的图像数据进行记录及编号。

208、终端根据图像数据和图像数据的第一采集时间,确定播放的视频数据是否卡顿。

终端根据图像数据和图像数据的第一采集时间,确定播放的视频数据是否卡顿时,可采用如下步骤2081~2087:

2081、终端获取图像数据的第一位图颜色信息。

基于采集到的图像数据,终端可从该图像数据中获取第一位图颜色信息,该第一位图颜色信息可用pcolor2表示。

2082、终端获取上一次采集的图像数据的第二位图颜色信息和第二采集时间。

基于上一次获取到的图像数据,终端可从该上一次采集到的图像数据中获取第二位图颜色信息,并获取该上一次采集的图像数据的第二采集时间,该第二位图颜色信息可用pcolor1表示,第二采集时间用ttemp2表示。

2083、终端判断第一位图颜色信息和第二位图颜色信息是否相同。

终端将第一位图颜色信息与第二位图颜色信息进行比较比较,判断第一位图颜色信息与第二位图颜色信息是否相同。如果第一位图颜色信息与第二位图颜色所指示的颜色相同,则确定第一位图颜色信息与第二位图颜色信息相同,例如,如果第一位图颜色信息与第二位图颜色信息所指示的颜色均为红色,则确定第一位图颜色信息与第二位图颜色信息相同;如果第一位图颜色信息与第二位图颜色所指示的颜色不相同,则确定第一位图颜色信息与第二位图颜色信息不相同,例如,如果第一位图颜色信息所指示的颜色均为红色,第二位图颜色信息所指示的颜色均为绿色,则确定第一位图颜色信息与第二位图颜色信息不相同。

2084、如果第一位图颜色信息和第二位图颜色信息不相同,则终端确定播放的视频不卡顿。

当确定第一位图颜色信息和第二位图颜色信息不相同时,说明前后两次采集的图像数据来自不同的视频数据,此时可确定播放的视频不卡顿。

2085、如果第一位图颜色信息和第二位图颜色信息相同,终端判断第一采集时间和第二采集时间之间的差值是否大于指定阈值。

当确定第一位图颜色信息和第二位图颜色信息相同时,终端还将计算第一采集时间ttemp2与第二采集时间ttemp1之间的差值,并判断第一采集时间ttemp1与第二采集时间ttemp2之间的差值是否大于指定阈值。其中,指定阈值可以为200毫秒、300毫秒等。

2086、如果第一采集时间和第二采集时间之间的差值小于指定阈值,则终端继续采集图像数据进行判断。

当第一采集时间ttemp2与第二采集时间ttemp1之间的差值小于指定阈值,说明在两个图像数据的采集时间间隔内一帧视频数据并未播放完成,也即是第一位图颜色信息和第二位图颜色信息采集于同一视频数据中,因而需要继续采集图像数据进行判断。

2087、如果第一采集时间和第二采集时间之间的差值大于指定阈值,则终端确定播放的视频卡顿。

当第一采集时间ttemp2与第二采集时间ttemp1之间的差值大于指定阈值,说明在两个图像数据的采集时间间隔内一帧视频数据应该播放完成,然而第一位图颜色信息和第二位图颜色信息却相同,此时可确定播放的视频卡顿。

在确定视频卡顿之后,本发明实施例提供的方法还将记录本次卡顿的卡顿时长,具体记录时,可将第一采集时间ttemp2与第二采集时间ttemp1之间的差值减去指定时长,该指定时长为一帧视频数据需要呈现的时长。

采用本发明实施例提供的方法不需要对终端和流媒体服务器进行改动,由于第一显示组件和第二显示组件所输出的音视频数据具有相同的时间戳,其播放行为一致,这样通过第二显示组件保持了视频的正常播放,通过第一显示组件检测视频是否卡顿,兼顾了系统性能。

需要说明的是,上述步骤201~208以在一帧视频数据的播放过程中,确定播放的视频是否卡顿为例,由于一个视频中会包含多帧视频数据,因而需要对每帧视频数据均进行如上述步骤201~208的确定过程,对于其他视频数据的确定过程,与上述步骤201~208相同,具体参见上述步骤201~208,本发明实施例不再赘述。

当对每帧视频数据均采用上述步骤201~208所提供的方法进行确定后,可得到每帧视频数据在播放过程中的播放情况,为了便于提高用户的播放体验,本发明实施例提供的方法还将记录整个视频播放过程中,总的卡顿次数,以及总的卡段时长。对于总的卡段时长,可通过将每次卡顿对应的卡顿时长相加得到。

本发明实施例提供的方法,通过将参考图像的图像信息封装到视频数据中,并在显示视频数据的过程中,采集图像数据并记录图像数据的采集时间,进而基于图像数据和采集时间,确定视频数据是否卡顿。该过程无需检测音视频缓存队列,借助当前播放的视频数据进行确定,确定结果更为准确、实时性更强。

参见图3,本发明实施例提供了一种确定视频卡顿的装置,该装置包括:

数据分离模块301,用于当接收到音视频数据时,从音视频数据中分离出视频数据;

数据封装模块302,用于将预先存储的参考图像的图像信息封装到视频数据中,得到封装后的视频数据;

数据采集模块303,用于基于与第一显示组件绑定的播放组件,在指定区域内显示封装后的视频数据的过程中,采集图像数据;

记录模块304,用于记录图像数据的第一采集时间;

确定模块305,用于根据图像数据和图像数据的第一采集时间,确定播放的视频是否卡顿。

在本发明的另一个实施例中,该装置还包括:

编码模块,用于预先编码两帧参考图像,该两帧图像包括红色参考图像和绿色参考图像;

获取模块,用于获取两帧图像的序列参数集和图像参数集;将序列参数集、图像参考集、以及两帧参考图像的编码帧作为参考图像的图像信息。

在本发明的另一个实施例中,数据封装模块,用于确定视频数据的帧类型;当视频数据的帧类型为视频头帧时,将序列参数集、图像参数集封装到视频数据中,得到封装后的视频数据;当视频数据的帧类型为视频图像帧时,根据视频数据在已接收视频数据总数中的奇偶属性,从两帧参考图像的编码帧中,选取目标编码帧,并将目标编码帧封装到视频数据中,得到封装后的视频数据。

在本发明的另一个实施例中,数据封装模块302,用于当视频数据在已接收视频数据总数中的奇偶属性为奇数时,将红色参考图像的编码帧作为目标编码帧;当视频数据在已接收视频数据总数中的奇偶属性为偶数时,将绿色参考图像的编码帧作为目标编码帧。

在本发明的另一个实施例中,确定模块305,用于获取图像数据的第一位图颜色信息;获取上一次采集的图像数据的第二位图颜色信息和第二采集时间;判断第一位图颜色信息和第二位图颜色信息是否相同;当第一位图颜色信息和第二位图颜色信息不相同时,则确定播放的视频不卡顿;当第一位图颜色信息和第二位图颜色信息相同时,判断第一采集时间和第二采集时间之间的差值是否大于指定阈值;当第一采集时间和第二采集时间之间的差值小于指定阈值时,继续采集图像数据进行判断;当第一采集时间和第二采集时间之间的差值大于指定阈值时,确定播放的视频卡顿。

在本发明的另一个实施例中,该装置还包括:

数据分离模块301,用于从视频数据中分离出音频数据;

显示模块,用于基于与第二显示组件绑定的播放组件,在可视区域内显示视频数据并播放音频数据;

播放模块,用于在指定区域内显示封装后的视频数据的过程中,基于与第一显示组件绑定的播放组件静音播放音频数据。

综上所述,本发明实施例提供的装置,通过将参考图像的图像信息封装到视频数据中,并在显示视频数据的过程中,采集图像数据并记录图像数据的采集时间,进而基于图像数据和采集时间,确定视频数据是否卡顿。该过程无需检测音视频缓存队列,借助当前播放的视频数据进行确定,确定结果更为准确、实时性更强。

参见图4,其示出了本发明实施例所涉及的确定视频卡顿的终端的结构示意图,该终端可以用于实施上述实施例中提供的确定视频卡顿的方法。具体来讲:

终端400可以包括rf(radiofrequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、wifi(wirelessfidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

rf电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,rf电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim)卡、收发信机、耦合器、lna(lownoiseamplifier,低噪声放大器)、双工器等。此外,rf电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于gsm(globalsystemofmobilecommunication,全球移动通讯系统)、gprs(generalpacketradioservice,通用分组无线服务)、cdma(codedivisionmultipleaccess,码分多址)、wcdma(widebandcodedivisionmultipleaccess,宽带码分多址)、lte(longtermevolution,长期演进)、电子邮件、sms(shortmessagingservice,短消息服务)等。

存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端400的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。

输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端400的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图4中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。

终端400还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端400移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端400还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路160、扬声器161,传声器162可提供用户与终端400之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经rf电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端400的通信。

wifi属于短距离无线传输技术,终端400通过wifi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了wifi模块170,但是可以理解的是,其并不属于终端400的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器180是终端400的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端400的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;可选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。

终端400还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,终端400还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端400的显示单元是触摸屏显示器,终端400还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包含用于执行确定视频卡顿操作的指令。

本发明实施例提供的终端,通过将参考图像的图像信息封装到视频数据中,并在显示视频数据的过程中,采集图像数据并记录图像数据的采集时间,进而基于图像数据和采集时间,确定视频数据是否卡顿。该过程无需检测音视频缓存队列,借助当前播放的视频数据进行确定,确定结果更为准确、实时性更强。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行确定视频卡顿的方法。

本发明实施例提供的计算机可读存储介质,通过将参考图像的图像信息封装到视频数据中,并在显示视频数据的过程中,采集图像数据并记录图像数据的采集时间,进而基于图像数据和采集时间,确定视频数据是否卡顿。该过程无需检测音视频缓存队列,借助当前播放的视频数据进行确定,确定结果更为准确、实时性更强。

本发明实施例中提供了一种图形用户接口,该图形用户接口用在确定视频卡顿的终端上,该执行确定视频卡顿的终端包括触摸屏显示器、存储器和用于执行一个或者一个以上的程序的一个或者一个以上的处理器。

本发明实施例提供的图形用户接口,通过将参考图像的图像信息封装到视频数据中,并在显示视频数据的过程中,采集图像数据并记录图像数据的采集时间,进而基于图像数据和采集时间,确定视频数据是否卡顿。该过程无需检测音视频缓存队列,借助当前播放的视频数据进行确定,确定结果更为准确、实时性更强。

需要说明的是:上述实施例提供的确定视频卡顿的装置在确定视频卡顿时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将确定视频卡顿的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的确定视频卡顿的装置与确定视频卡顿的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

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

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