CN108989767B - 一种网络自适应的多路h264视频流存储转播方法及系统 - Google Patents

一种网络自适应的多路h264视频流存储转播方法及系统 Download PDF

Info

Publication number
CN108989767B
CN108989767B CN201811003825.3A CN201811003825A CN108989767B CN 108989767 B CN108989767 B CN 108989767B CN 201811003825 A CN201811003825 A CN 201811003825A CN 108989767 B CN108989767 B CN 108989767B
Authority
CN
China
Prior art keywords
video
playing
frame rate
file
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811003825.3A
Other languages
English (en)
Other versions
CN108989767A (zh
Inventor
常玉增
白松
郦伟
张力
闫哲
张宝
谭智敏
詹少博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN201811003825.3A priority Critical patent/CN108989767B/zh
Publication of CN108989767A publication Critical patent/CN108989767A/zh
Application granted granted Critical
Publication of CN108989767B publication Critical patent/CN108989767B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Abstract

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

Description

一种网络自适应的多路H264视频流存储转播方法及系统
技术领域
本发明涉及图像压缩和传输,是基于H264编码实现的网络自适应的多路视频流存储和转播方法。
背景技术
随着网络的普及以及多媒体技术的快速发展,视频监控系统以其直观确切生动等特征被广泛地应用在交通、居民住所、工业生产、医疗、安防、银行等许多重要场所中。由于网络带宽较小,网络波动很大,容易造成视频播放不流畅,出现卡顿现象,如何通过网络稳定、可靠地视频流成为了视频监控系统中不可忽略的问题。
H.264是目前广泛应用的视频压缩标准,由ITU-T VCEG和ISO/IEC MPEG成立的联合视频编码组制定的新一代视频压缩标准。
发明内容
本发明的目的在于提供一种网络自适应的多路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
Figure BDA0001783565010000051
Figure BDA0001783565010000061
图3所示为本发明视频传输系统实施结构图,如图3所示,视频采集端对接收到的视频码流进行H.264的编码,支持采集分辨率1080p60Hz,编码结果存储到磁盘上,并将视频文件元信息同时存储到磁盘上,待主处理器板请求时,会读取并发送相应的文件信息和视频码流;此外,视频编码分发子系统还有开机自启动、硬盘空间监视等功能,保证软件高可用性。
其中为支持多路视频播放端的播放请求,在HI3531上的程序启动后,主线程会创建一个Socket服务,用于监听来自视频播放端的连接请求,当接收到连接请求后,将其放入Socket队列中,供命令解析线程使用。命令解析线程以FIFO的方式从Socket队列中获取一个Socket请求,Socket请求发送来的数据包中记录了消息类型、操作类型、数据包号、校验和等信息,根据其消息类型进行对应的请求响应。
视频播放端对所接收的视频码流,通过H.264视频解码库进行解码,并利用DirectDraw进行播放显示。同时,还提供了播放进度控制、文件删除功能,方便用户操作和使用。
为了适应网络的多变性,视频码流解码模块2023开始解码后,视频码流接收模块2022接收视频码流数据,并将数据暂存到视频码流缓冲队列中,视频播放模块2024则从视频码流缓冲队列中得到码流,进行渲染显示。
进一步的,在系统中,视频采集端需要摄像头、磁盘、网口等硬件支持。视频采集端、视频播放段通过上述的自定义传输协议进行通信。
本发明的优点是视频采集端和视频播放端通过自定义传输协议进行通信,提供了较好的监控视频备份机制,有完善的上位机、下位机之间的交互控制软件,并且根据网络情况自适应调整视频流传输速率,大大改善了用户播放视频的体验,因此该方法具有良好的应用前景和市场价值。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (4)

1.一种网络自适应的多路H264视频流存储转播方法,其特征在于,包括:
视频采集端对采集的视频数据进行H.264编码,每采集一定时长就保存一个视频文件,并对视频文件进行分析,把文件名、文件大小以及关键帧个数及偏移地址作为元信息存入内存和硬盘中,元信息会在视频播放端请求视频播放时发送,然后开始视频流传输;
视频流传输包括:
视频采集端通过数据通道发送视频流;
视频播放端通过数据通道接收视频流,并周期性地通过控制通道把视频播放端的状况反馈给视频采集端,播放接收到的视频数据;
视频采集端接收到反馈信息后进行分析判断,如果发现视频帧率低于正常值或播放端缓存满,根据降速规则进行视频流速率调整;
元信息的数据格式包括:
消息体、消息类型以及命令类型;所述消息体包括消息类型、命令类型、结构体长度、当前包号、总包数、消息体有效长度、消息体、消息体检验和以及消息校验和;所述消息类型分为视频流传输、命令和设置;所述命令类型包括开始传输视频流、停止传输视频流、暂停传输视频流、开始传输视频流成功、停止传输视频流成功、暂停传输视频流成功、获取文件列表、响应获取文件列表、重发数据包、参数设置以及状态心跳报告;
当缓存使用率达不到缓存降速规则时,实际播放帧率只有小于真实帧率,实际播放帧率的降速规则启动;当缓存使用率达到缓存降速规则时,执行缓存降速规则;
针对实际播放帧率的降速规则包括:
当实际播放帧率与真实帧率之比小于0.3时,则发送线程休眠500ms;
当实际播放帧率与真实帧率之比大于0.3小于0.5时,则发送线程休眠300ms;
当实际播放帧率与真实帧率之比大于0.5小于0.7时,则发送线程休眠100ms;
当实际播放帧率与真实帧率之比大于0.7小于0.9时,则发送线程休眠50ms;
当实际播放帧率与真实帧率之比大于0.95时,则发送线程无需休眠。
2.根据权利要求1所述的网络自适应的多路H264视频流存储转播方法,其特征在于,所述方法包括:
视频播放缓存使用率的降速规则包括:
当视频播放缓存使用率高于90%时,则发送线程休眠100ms;
当视频播放缓存使用率低于90%时,则发送线程无需休眠。
3.一种网络自适应的多路H264视频流存储转播系统,其特征在于,所述系统包括:视频采集端和视频播放端;
所述视频采集端包括:开机自启动模块、视频编码模块、视频文件信息传输模块、视频流传输模块、视频文件元信息维护模块以及硬盘空间监视模块;
所述开机自启动模块,用于视频采集端在初始化系统完成后进入开始编码工作状态;
所述视频编码模块,用于对摄像头传入的数据进行H.264编码压缩,保存为文件;
所述视频文件信息传输模块,用于传输视频文件列表和具体视频文件的信息;
所述视频流传输模块,用于网络发送视频文件的码流给视频播放端;
所述视频文件元信息维护模块,用于分析视频文件,统计文件名、文件大小、关键帧个数及偏移地址;
所述硬盘空间监视模块,用于监视硬盘空间使用情况,在可用空间低于所设阈值时发出警告通知,进行删除文件操作;
所述视频播放端模块包括:获取文件视频信息模块、视频码流接收模块、视频码流解码模块、视频播放模块以及视频文件维护模块;
所述获取文件视频信息模块,用于获取视频文件列表以及待播放文件的元信息;
所述视频码流接收模块,用于通过网络接收视频采集端发送来的视频码流,作为视频流解码模块的输入;
所述视频码流解码模块,用于对接收到的H.264视频码流进行解码,解码的结果作为视频播放模块的输入;
所述视频播放模块,用于对解码的视频码流进行播放和控制;
所述视频文件维护模块,用于删除视频文件;
视频采集端视频播放段传输的数据格式包括:
消息体、消息类型以及命令类型;所述消息体包括消息类型、命令类型、结构体长度、当前包号、总包数、消息体有效长度、消息体、消息体检验和以及消息校验和;所述消息类型分为视频流传输、命令和设置;所述命令类型包括开始传输视频流、停止传输视频流、暂停传输视频流、开始传输视频流成功、停止传输视频流成功、暂停传输视频流成功、获取文件列表、响应获取文件列表、重发数据包、参数设置以及状态心跳报告;
当缓存使用率达不到缓存降速规则时,实际播放帧率只有小于真实帧率,实际播放帧率的降速规则启动;当缓存使用率达到缓存降速规则时,执行缓存降速规则;
针对实际播放帧率的降速规则包括:
当实际播放帧率与真实帧率之比小于0.3时,则发送线程休眠500ms;
当实际播放帧率与真实帧率之比大于0.3小于0.5时,则发送线程休眠300ms;
当实际播放帧率与真实帧率之比大于0.5小于0.7时,则发送线程休眠100ms;
当实际播放帧率与真实帧率之比大于0.7小于0.9时,则发送线程休眠50ms;
当实际播放帧率与真实帧率之比大于0.95时,则发送线程无需休眠。
4.根据权利要求3所述的网络自适应的多路H264视频流存储转播系统,其特征在于,所述系统包括:
视频播放缓存使用率的降速规则包括:
当视频播放缓存使用率高于90%时,则发送线程休眠100ms;
当视频播放缓存使用率低于90%时,则发送线程无需休眠。
CN201811003825.3A 2018-08-30 2018-08-30 一种网络自适应的多路h264视频流存储转播方法及系统 Active CN108989767B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811003825.3A CN108989767B (zh) 2018-08-30 2018-08-30 一种网络自适应的多路h264视频流存储转播方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811003825.3A CN108989767B (zh) 2018-08-30 2018-08-30 一种网络自适应的多路h264视频流存储转播方法及系统

Publications (2)

Publication Number Publication Date
CN108989767A CN108989767A (zh) 2018-12-11
CN108989767B true CN108989767B (zh) 2021-01-26

Family

ID=64548441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811003825.3A Active CN108989767B (zh) 2018-08-30 2018-08-30 一种网络自适应的多路h264视频流存储转播方法及系统

Country Status (1)

Country Link
CN (1) CN108989767B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115866317B (zh) * 2022-11-29 2023-09-05 广州后为科技有限公司 一种适用于网络摄像机的音视频缓存方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932640A (zh) * 2012-11-08 2013-02-13 天津市亚安科技股份有限公司 一种视频流帧率的控制方法
CN107613407A (zh) * 2017-08-18 2018-01-19 珠海市君天电子科技有限公司 一种视频显示控制方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510998B (zh) * 2009-02-24 2010-12-01 山东大学 用于无线视频监控系统数据传输的自适应流量控制方法
CN104135486A (zh) * 2014-08-08 2014-11-05 浙江奇汇电子提花机有限公司 一种基于tcp协议的流媒体无线自适应传输方法
CN104519325B (zh) * 2014-12-29 2018-12-07 大唐移动通信设备有限公司 一种基于4g网络的无线视频监控系统自适应保障方法
US20180115795A1 (en) * 2016-10-22 2018-04-26 Gopro, Inc. Adaptive bit rate algorithm for point-to-point wifi devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932640A (zh) * 2012-11-08 2013-02-13 天津市亚安科技股份有限公司 一种视频流帧率的控制方法
CN107613407A (zh) * 2017-08-18 2018-01-19 珠海市君天电子科技有限公司 一种视频显示控制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN108989767A (zh) 2018-12-11

Similar Documents

Publication Publication Date Title
CN108965883B (zh) 使用虚拟帧内帧对视频内容进行编码的系统和方法
US9024999B2 (en) Information processing apparatus, conference system, and storage medium
CN102075728B (zh) 一种共享音频和/或视频的方法及系统
US9585062B2 (en) System and method for implementation of dynamic encoding rates for mobile devices
CN110430441B (zh) 一种云手机视频采集方法、系统、装置及存储介质
US20080037573A1 (en) Method and apparatus for encoding and distributing media data
CN103501310B (zh) 一种基于可视电话的电脑桌面共享的控制方法
CN111246284B (zh) 视频流播放方法、系统、终端及存储介质
US11412272B2 (en) System and method for converting adaptive stream to downloadable media
KR20150106351A (ko) 모션 비디오의 재생을 위한 방법 및 시스템
CN111641804A (zh) 视频数据处理方法和装置、终端、摄像头及视频会议系统
CN109862400B (zh) 一种流媒体传输方法、装置及其系统
CN108989767B (zh) 一种网络自适应的多路h264视频流存储转播方法及系统
KR100589725B1 (ko) 무선 휴대 장치를 위한 멀티미디어 스트리밍 시스템
CN103929682A (zh) 一种在视频直播系统中设置关键帧的方法及装置
Zhao et al. Flexible dual tcp/udp streaming for h. 264 hd video over wlans
CN104639979A (zh) 视频分享方法及系统
WO2018054349A1 (zh) 数据发送方法、数据接收方法及其装置和系统
CN104158804A (zh) 一种多屏互动方法
CN110113641B (zh) 视频数据的传输方法、装置、边缘服务节点及介质
CN112135163A (zh) 视频起播的方法以及装置
JP2003179906A (ja) ネットワーク動画像配信システム及びこのシステムにおけるクライアント装置
CN111416959B (zh) 一种基于hid柜外设备摄像头双向预览方法、装置和介质
WO2024060134A1 (zh) 信息处理方法、装置、电子设备和计算机可读存储介质
Buchholz Preparation of the Media Streaming Protocol for Live-Streaming of MPEG-2 Content

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant