一种用于提升倍速播放性能的视频存取方法技术

技术编号:30653860 阅读:23 留言:0更新日期:2021-11-04 01:18
本发明专利技术提供一种用于提升倍速播放性能的视频存取方法,包括:存储服务器建立与每个摄像机ID对应的I帧索引表;在进行视频倍速读取时,存储服务器挑选出符合视频回放倍速X的目标I帧序列,并返回给流媒体服务器。优点为:1)减轻了存储服务器的IO带宽、CPU要求及内存要求,降低了存储服务器与流媒体服务器间的网络带宽占用。2)同时对于流媒体服务器,因为不需要对完整的视频流进行缓存、解码、定位、跳帧等处理,因此减轻了性能消耗,提升了倍速播放的响应速度,改善了用户体验。3)由于最终向播放器返回的为I帧,I帧是完整画面帧,而不像P帧仅为差别画面帧,因此,对于播放器,倍速播放I帧,能够保证播放画面质量。能够保证播放画面质量。能够保证播放画面质量。

【技术实现步骤摘要】
一种用于提升倍速播放性能的视频存取方法


[0001]本专利技术属于流媒体应用及视频存储
,具体涉及一种用于提升倍速播放性能的视频存取方法。

技术介绍

[0002]视频存储是安防监控领域常见的业务类型,视频最常见的应用是实时播放及回放。对于视频回放业务,倍速播放是十分常用的业务场景,多用于当某事件发生后,管理人员试图通过倍速播放快速地查找和定位其所关注的“画面”,从而锁定事件发生时间的视频段,以便进一步分析情况。
[0003]从技术角度,对于2倍速的视频播放,通常采取跳帧的方式实现,即:以同样的播放帧率,只播放原有图像帧序列的奇数图像帧或偶数图像帧;对于大于2倍速的回放,例如4倍速、8倍速及以上倍速,单纯跳帧的方法效果欠佳。例如,对于4倍速,以同样的播放帧率,只播放原有图像帧序列的第1图像帧,第5图像帧,第9图像帧,第13图像帧...如果原始图像帧的帧率为32帧/秒,则通常情况下,第1帧为I帧(关键帧,为完整画面帧),而2到32帧为P帧(即前向预测编码帧,简称“差别帧”,只保留本帧与前一帧相比的差别画面),由于第5图像帧和第1图像帧之间跳过3个P帧,同样的,第9图像帧和第5图像帧之间跳过3个P帧,即:相邻两个图像帧之间跳过3个P帧,跳过的P帧数量较多,导致相邻的后一图像帧与前一图像帧差别太大,因此,数据质量差,很容易引起画面模糊。
[0004]对于视频回放,当前方法主要为:由流媒体服务器将视频数据当作普通视频流交给存储服务器,存储服务器以数据块的方式存储视频数据;在回放时,流媒体服务器通过存储服务器取到所需时间段的视频数据,再将所需时间段的视频数据传输给终端播放器,由终端播放器进行跳帧处理,达到倍速播放的目的。
[0005]该技术主要存在以下问题:对流媒体服务器而言,当进行X倍速播放时,需要在单位时间内获取相当于原有数据量X倍的视频数据,流媒体服务器的处理能力,缓存数量、流媒体服务器与存储服务器之间的带宽,存储服务器的处理能力和缓存数量以及存储服务器上磁盘的IO能力都要相应地扩大到X倍才能实现这一业务。因此在实际工程中,当倍速播放的速率较大(例如大于4倍)时,能够看到倍速播放的效果不佳,一是实际播放的倍速可能达不到预期倍速,再或者是为了达到预期倍速而中间跳帧过多导致画面连续性较差。
[0006]由此可见,当倍速播放的速率较大时,从存储服务器、流媒体服务器到终端播放器,其处理性能、缓存能力网络性能等都可能成为瓶颈,进而影响倍速播放的效果。

技术实现思路

[0007]针对现有技术存在的缺陷,本专利技术提供一种用于提升倍速播放性能的视频存取方法,可有效解决上述问题。
[0008]本专利技术采用的技术方案如下:
[0009]本专利技术提供一种用于提升倍速播放性能的视频存取方法,包括以下步骤:
[0010]步骤一:视频写入过程:
[0011]步骤1.1:摄像机将视频流推送到流媒体服务器;其中,视频流中携带摄像机ID;
[0012]步骤1.2:流媒体服务器对接收到的视频流进行协议解析及解封装,从视频流中去掉信令数据,得到处理后的视频流;其中,处理后的视频流为图像帧序列;
[0013]步骤1.3:流媒体服务器对处理后的视频流进行解码,从图像帧序列中识别出I帧,并对识别到的每个I帧写入I帧标记,由此得到解码后的图像帧序列;
[0014]步骤1.4:流媒体服务器以图像帧为写入单位,将解码后的图像帧序列写入到存储服务器;
[0015]步骤1.5:存储服务器对接收到的图像帧序列进行分析,根据I帧标记识别到每个I帧,并预建立与每个摄像机ID对应的I帧索引表,将每个I帧的关键信息存入到所述I帧索引表;其中,每个I帧的关键信息包括时间戳、帧类型、帧序号、帧偏移地址和帧长度;
[0016]步骤1.6:存储服务器将接收到的图像帧序列写入到存储介质;
[0017]步骤二:视频倍速读取过程:
[0018]步骤2.1:播放器向流媒体服务器发起视频倍速回放请求;其中,所述视频倍速回放请求中携带摄像机ID、待播放时间段和视频回放倍速X的信息;
[0019]步骤2.2:流媒体服务器向存储服务器发送视频数据读取请求;其中,所述视频数据读取请求中携带摄像机ID、待播放时间段和视频回放倍速X的信息;
[0020]步骤2.3:存储服务器根据摄像机ID及待播放时间段,查找与摄像机ID对应的I帧索引表,根据每个I帧的时间戳,确定与待播放时间段对应的第一目标I帧序列;
[0021]然后,根据视频回放倍速X,从与待播放时间段对应的第一目标I帧序列中,挑选出符合视频回放倍速X的第二目标I帧序列;
[0022]然后,根据第二目标I帧序列中每个I帧的帧偏移地址和帧长度,从存储介质中读取到第二目标I帧序列;
[0023]步骤2.4:存储服务器向流媒体服务器返回获取到的第二目标I帧序列;
[0024]步骤2.5:流媒体服务器对接收到的第二目标I帧序列进行打包封装,得到封装后的目标I帧序列;
[0025]步骤2.6:流媒体服务器将封装后的目标I帧序列发送给播放器;
[0026]步骤2.7:播放器对接收到的封装后的目标I帧序列进行解码,并按照需要的视频回放倍速要求,倍速播放目标I帧序列。
[0027]优选的,步骤2.7具体为:
[0028]步骤2.7.1,对于帧率为m帧/秒的视频流,1秒对应的m帧中,存在1个I帧,其他m

1帧均为P帧;
[0029]步骤2.7.2,播放器获取到待播放时间段的第二目标I帧序列,将第二目标I帧序列表示为:第1I帧,第2I帧,...,第nI帧,其中,n为第二目标I帧序列的帧数;
[0030]步骤2.7.3,假设播放器需要X倍速播放第二目标I帧序列,并且,播放器的播放速度为Y帧/秒;
[0031]则:
[0032]播放器在第1秒,读取第1I帧

第XI帧,对第1I帧

第XI帧进行均匀补零帧,将第1I帧

第XI帧扩充为Y帧;然后,在第1秒,播放补零帧后的Y帧;
[0033]同样的,在第2秒,读取第(X+1)I帧

第(2X)I帧,对第(X+1)I帧

第(2X)I帧进行均匀补零帧,将第(X+1)I帧

第(2X)I帧扩充为Y帧;然后,在第2秒,播放补零帧后的Y帧;
[0034]依此类推,实现以X倍速播放第二目标I帧序列。
[0035]本专利技术提供的一种用于提升倍速播放性能的视频存取方法具有以下优点:
[0036]1)减轻了存储服务器的IO带宽、CPU要求及内存要求,降低了存储服务器与流媒体服务器间的网络带宽占用。
[0037]2)同时对于流媒体服务器,因为不需要对完整的视频流进行缓存、解码、定位、跳帧等处理,因此减轻了性能消耗,提升了倍速播放的响应速度,改善了用户体验。
[0038]3)由于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于提升倍速播放性能的视频存取方法,其特征在于,包括以下步骤:步骤一:视频写入过程:步骤1.1:摄像机将视频流推送到流媒体服务器;其中,视频流中携带摄像机ID;步骤1.2:流媒体服务器对接收到的视频流进行协议解析及解封装,从视频流中去掉信令数据,得到处理后的视频流;其中,处理后的视频流为图像帧序列;步骤1.3:流媒体服务器对处理后的视频流进行解码,从图像帧序列中识别出I帧,并对识别到的每个I帧写入I帧标记,由此得到解码后的图像帧序列;步骤1.4:流媒体服务器以图像帧为写入单位,将解码后的图像帧序列写入到存储服务器;步骤1.5:存储服务器对接收到的图像帧序列进行分析,根据I帧标记识别到每个I帧,并预建立与每个摄像机ID对应的I帧索引表,将每个I帧的关键信息存入到所述I帧索引表;其中,每个I帧的关键信息包括时间戳、帧类型、帧序号、帧偏移地址和帧长度;步骤1.6:存储服务器将接收到的图像帧序列写入到存储介质;步骤二:视频倍速读取过程:步骤2.1:播放器向流媒体服务器发起视频倍速回放请求;其中,所述视频倍速回放请求中携带摄像机ID、待播放时间段和视频回放倍速X的信息;步骤2.2:流媒体服务器向存储服务器发送视频数据读取请求;其中,所述视频数据读取请求中携带摄像机ID、待播放时间段和视频回放倍速X的信息;步骤2.3:存储服务器根据摄像机ID及待播放时间段,查找与摄像机ID对应的I帧索引表,根据每个I帧的时间戳,确定与待播放时间段对应的第一目标I帧序列;然后,根据视频回放倍速X,从与待播放时间段对应的第一目标I帧序列中,挑选出符合视频回放倍速X的第二目标I帧序列;然后,根据第二目标I帧序列中每个I帧的帧偏...

【专利技术属性】
技术研发人员:范园利瞿洪桂冯超王华
申请(专利权)人:北京中电兴发科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1