一种网络自适应的多路H264视频流存储转播方法及系统与流程

文档序号:16247593发布日期:2018-12-11 23:43阅读:548来源:国知局
一种网络自适应的多路H264视频流存储转播方法及系统与流程

本发明涉及图像压缩和传输,是基于h264编码实现的网络自适应的多路视频流存储和转播方法。

背景技术

随着网络的普及以及多媒体技术的快速发展,视频监控系统以其直观确切生动等特征被广泛地应用在交通、居民住所、工业生产、医疗、安防、银行等许多重要场所中。由于网络带宽较小,网络波动很大,容易造成视频播放不流畅,出现卡顿现象,如何通过网络稳定、可靠地视频流成为了视频监控系统中不可忽略的问题。

h.264是目前广泛应用的视频压缩标准,由itu-tvceg和iso/iecmpeg成立的联合视频编码组制定的新一代视频压缩标准。



技术实现要素:

本发明的目的在于提供一种网络自适应的多路h264视频流存储转播方法,用于解决上述现有技术的问题。

本发明一种网络自适应的多路h264视频流存储转播方法,其中,包括:视频采集端对采集的视频数据进行h.264编码,每采集一定时长就保存一个视频文件,并对视频文件进行分析,把文件名、文件大小以及关键帧个数及偏移地址作为元信息存入内存和硬盘中,元信息会在视频播放端请求视频播放时发送,然后开始视频流传输;视频流传输包括:视频采集端通过数据通道发送视频流;视频播放端通过数据通道接收视频流,并周期性地通过控制通道把视频播放端的状况反馈给视频采集端,播放接收到的视频数据;视频采集端接收到反馈信息后进行分析判断,如果发现视频帧率低于正常值或播放端缓存满,根据降速规则进行视频流速率调整。

一种网络自适应的多路h264视频流存储转播系统,其中,所述系统包括:视频采集端和视频播放端;所述视频采集端包括:开机自启动模块、视频编码模块、视频文件信息传输模块、视频流传输模块、视频文件元信息维护模块以及硬盘空间监视模块;所述开机自启动模块,用于视频采集端在初始化系统完成后进入开始编码工作状态;所述视频编码模块,用于对摄像头传入的数据进行h.264编码压缩,保存为文件;所述视频文件信息传输模块,用于传输视频文件列表和具体视频文件的信息;所述视频流传输模块,用于网络发送视频文件的码流给视频播放端;所述视频文件元信息维护模块,用于分析视频文件,统计文件名、文件大小、关键帧个数及偏移地址;所述硬盘空间监视模块,用于监视硬盘空间使用情况,在可用空间低于所设阈值时发出警告通知,进行删除文件操作;所述视频播放端模块包括:获取文件视频信息模块、视频码流接收模块、视频码流解码模块、视频播放模块以及视频文件维护模块;所述获取文件视频信息模块,用于获取视频文件列表以及待播放文件的元信息;所述视频码流接收模块,用于通过网络接收视频采集端发送来的视频码流,作为视频流解码模块的输入;所述视频码流解码模块,用于对接收到的h.264视频码流进行解码,解码的结果作为视频播放模块的输入;所述视频播放模块,用于对解码的视频码流进行播放和控制;所述视频文件维护模块,用于删除视频文件。

本发明提供了一种网络自适应的多路h264视频流存储转播方法及系统,能够使得视频备份更加合理,网络远程播放更加流畅。

附图说明

图1所示为本发明网络自适应的多路h264视频流存储转播方法的流程图;

图2所示为本发明网络自适应的多路h264视频流存储转播系统的模块图;

图3所示为本发明视频传输系统实施结构图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

图1所示为本发明网络自适应的多路h264视频流存储转播方法的流程图,如图1所示,本发明提供了一种网络自适应的多路h264视频流存储转播方法,包括:

s1:视频采集端通过数据通道发送视频流;

s2:视频播放端通过数据通道接收视频流,并周期性地通过控制通道把视频播放端的状况反馈给视频采集端,播放接收到的视频数据;

s3:视频采集端接收到反馈信息后进行分析判断,如果发现视频帧率低于正常值,或播放端缓存满,根据降速规则进行视频流速率调整,调整期结束后执行s1。

进一步地,视频采集端通过维护视频文件元信息支持视频播放端的视频回播请求。视频采集端对每个视频文件进行分析,统计其文件名、文件大小、关键帧(片)个数及偏移地址等,并把这些信息存入元信息维护列表,同时需在磁盘中存储以做缓存,以省去下一次开机启动时的视频文件分析工作,提高响应速度,文件的命名方式同视频编码文件,后缀为“.info”。视频播放端请求播放某个视频文件时,视频采集端将其对应的元信息经本发明的自定义传输协议进行封装,通过控制通道进行响应。

进一步地,所述自定义传输协议,包括消息体、消息类型以及命令类型。所述消息体包括消息类型、命令类型、结构体长度、当前包号、总包数、消息体有效长度、消息体、消息体检验和以及消息校验和;所述消息类型分为视频流传输、命令和设置;所述命令类型包括开始传输视频流、停止传输视频流、暂停传输视频流、开始传输视频流成功、停止传输视频流成功、暂停传输视频流成功、获取文件列表、响应获取文件列表、重发数据包、参数设置、状态心跳报告。自定义传输协议用于视频流和控制命令的封装。

进一步地,视频采集端与视频播放端依据自定义传输协议进行命令解析和通信,命令类型“状态心态报告”是调整视频传输速率的根据。该类命令的消息体内包含实际播放帧率、视频播放端缓存使用率等,两者之间有相互关系:当缓存使用率达不到缓存降速规则时,实际播放帧率只有小于真实帧率,实际播放帧率的降速规则启动;当缓存使用率达到缓存降速规则时,必须执行缓存降速规则。

针对实际播放帧率的降速规则包括:

当实际播放帧率与真实帧率之比小于0.3时,则发送线程休眠500ms;

当实际播放帧率与真实帧率之比大于0.3小于0.5时,则发送线程休眠300ms;

当实际播放帧率与真实帧率之比大于0.5小于0.7时,则发送线程休眠100ms;

当实际播放帧率与真实帧率之比大于0.7小于0.9时,则发送线程休眠50ms;

当实际播放帧率与真实帧率之比大于0.95时,则发送线程无需休眠。

针对视频播放缓存使用率的降速规则包括:

当视频播放缓存使用率高于90%时,则发送线程休眠100ms;

当视频播放缓存使用率低于90%时,则发送线程无需休眠。

图2所示为本发明网络自适应的多路h264视频流存储转播系统的模块图,如图2所示,该系统包括:视频采集端201、视频播放端202。

如图2所示,所述视频采集端201包括:开机自启动模块2011、视频编码模块2012、视频文件信息传输模块2013、视频流传输模块2014、视频文件元信息维护模块2015、硬盘空间监视模块2016;

所述开机自启动模块2011,用于视频采集端在初始化系统完成后进入开始编码工作状态;所述视频编码模块2012,用于对摄像头传入的数据进行h.264编码压缩,按照一定时长保存为文件;所述视频文件信息传输模块2013,用于传输视频文件列表和具体视频文件的信息,为视频播放端的播放服务;所述视频流传输模块2014,用于网络发送视频文件的码流给视频播放端,并在需要的时候进行开始、暂停、重发或停止。所述视频文件元信息维护模块2015,用于分析视频文件,统计其文件名、文件大小、关键帧(片)个数及偏移地址等元信息。所述硬盘空间监视模块2016,用于监视硬盘空间使用情况,在可用空间低于所设阈值时发出警告通知,必要时进行删除文件操作。

如图2所示,所述视频播放端202包括:获取文件视频信息模块2021、视频码流接收模块2022、视频码流解码模块2023、视频播放模块2024、视频文件维护模块2025。所述获取文件视频信息模块2021,用于获取视频文件列表以及待播放文件的元信息;所述视频码流接收模块2022,用于通过网络接收视频采集端发送来的视频码流,作为视频流解码模块的输入;所述视频码流解码模块2023,用于对接收到的h.264视频码流进行解码,解码的结果作为视频播放模块的输入;所述视频播放模块2024,用于对解码的视频码流进行播放,同时提供进度控制、暂停、停止等功能;所述视频文件维护模块2025,用于在需要的时候删除视频文件等。表1所示为一种部署例配置表。

表1

图3所示为本发明视频传输系统实施结构图,如图3所示,视频采集端对接收到的视频码流进行h.264的编码,支持采集分辨率1080p60hz,编码结果存储到磁盘上,并将视频文件元信息同时存储到磁盘上,待主处理器板请求时,会读取并发送相应的文件信息和视频码流;此外,视频编码分发子系统还有开机自启动、硬盘空间监视等功能,保证软件高可用性。

其中为支持多路视频播放端的播放请求,在hi3531上的程序启动后,主线程会创建一个socket服务,用于监听来自视频播放端的连接请求,当接收到连接请求后,将其放入socket队列中,供命令解析线程使用。命令解析线程以fifo的方式从socket队列中获取一个socket请求,socket请求发送来的数据包中记录了消息类型、操作类型、数据包号、校验和等信息,根据其消息类型进行对应的请求响应。

视频播放端对所接收的视频码流,通过h.264视频解码库进行解码,并利用directdraw进行播放显示。同时,还提供了播放进度控制、文件删除功能,方便用户操作和使用。

为了适应网络的多变性,视频码流解码模块2023开始解码后,视频码流接收模块2022接收视频码流数据,并将数据暂存到视频码流缓冲队列中,视频播放模块2024则从视频码流缓冲队列中得到码流,进行渲染显示。

进一步的,在系统中,视频采集端需要摄像头、磁盘、网口等硬件支持。视频采集端、视频播放段通过上述的自定义传输协议进行通信。

本发明的优点是视频采集端和视频播放端通过自定义传输协议进行通信,提供了较好的监控视频备份机制,有完善的上位机、下位机之间的交互控制软件,并且根据网络情况自适应调整视频流传输速率,大大改善了用户播放视频的体验,因此该方法具有良好的应用前景和市场价值。

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

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