The invention discloses a real-time video support cloud platform uses a double buffered stream storage method comprises the following steps: acquiring the cloud storage configuration file information; connect to the database, get the deployment of ID corresponding to the camera storage list information; acquiring scheduling server information, storage management and start the main thread, double buffer distribution corresponding to each camera and to establish the mapping relationship between the camera and the double buffer; traverse camera list information, create video storage and video stream receiving thread thread; launched a video on demand request to the lower platform or device, upon receiving a video stream, save data to a corresponding buffer area, store thread according to the buffer is full marks video stream storage to the cloud platform. The invention can improve the efficiency of video storage to a certain extent, reduce the irreversible video loss problem, and also improve the security of video storage to a certain extent.
【技术实现步骤摘要】
一种支持云平台采用双缓冲的实时视频流存储方法
本专利技术涉及云存储
,尤其涉及一种支持云平台采用双缓冲的实时视频流存储方法。
技术介绍
随着整个安防行业技术水平的不断成熟以及社会治安事件复杂度的不断提高,原有的以硬盘存储视频的方式已经达不到破案的要求,视频在存储周期、访问效率以及安全性方面也有了更高的要求。在这个大的应用背景下,基于云存储的实现架构应运而生,如阿里云、百度云、华为云等。一般云存储分为:文件存储、块存储和对象存储,文件存储和块存储是传统的存储数据方式;对象存储服务是面向企业和个人开发者提供的高可用,高稳定,强安全的云端存储服务,对象存储是目前最常用的云存储方案,克服了块存储和文件存储的缺点。同原有的存储架构相比,使用云存储在可靠性、安全、成本以及数据处理能力方面都具有明显的优势。就可靠性而言,对象存储服务的可运行性不低于99.9%,规模自动扩展,不影响对外服务,同时采用了多重冗余备份机制来增强其安全性,而采用自建服务器存储,其可靠性受限于存储服务的硬件环境,相比于对象存储,易出现不可逆转的数据丢失问题;就安全性而言,对象存储提供企业级多层次安全防护,而用户自建存储需要单独实现;就成本而言,对象存储根据存储大小按需收费,成本低,而用户自建存储则是一次性投入、资源的利用率很低,存储受硬盘容量限制;就处理能力而言,采用对象存储架构,提供内容加速分发功能,其存储效率远高于用户自建存储服务模式。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术提供一种支持云平台采用双缓冲的实时视频流存储方法,由云存储服务自动向下级平台或前端设备进行点播请求,获取到 ...
【技术保护点】
一种支持云平台采用双缓冲的实时视频流存储方法,其特征在于,所述方法包括如下步骤:步骤1、获取云存储配置文件信息,所述信息包括服务部署ID、云平台配置信息、数据库配置信息;步骤2、初始化数据库连接,连接所述数据库,获取所述部署ID对应的存储相机列表信息;步骤3、获取调度服务器信息,同时启动存储管理主线程,为每个相机分配对应的双缓冲区,建立相机与双缓冲区之间的映射关系,进行内存的一次性申请;步骤4、遍历相机列表信息,创建视频流存储线程和视频流接收线程,每路视频对应一个存储线程和一个视频流接收线程,同时建立相机与存储线程、视频流接收线程之间的映射关系,并向调度服务发起实时视频播放请求;步骤5、所述调度服务向下级平台或设备发起视频点播请求,为每路视频开启一个存储线程和一个视频流接收线程;步骤6、所述视频流接收线程在接收到视频流后,将视频数据保存到对应的缓冲区中,所述存储线程根据缓冲区存满标志将所述视频数据存储到所述云平台上,并将时间节点信息保存至数据库中;步骤7、在存储完成后,重置所述相机的缓冲区,同时将所述视频流存储信息保存到所述数据库中;重复步骤3‑7,直到接收到退出指令。
【技术特征摘要】
1.一种支持云平台采用双缓冲的实时视频流存储方法,其特征在于,所述方法包括如下步骤:步骤1、获取云存储配置文件信息,所述信息包括服务部署ID、云平台配置信息、数据库配置信息;步骤2、初始化数据库连接,连接所述数据库,获取所述部署ID对应的存储相机列表信息;步骤3、获取调度服务器信息,同时启动存储管理主线程,为每个相机分配对应的双缓冲区,建立相机与双缓冲区之间的映射关系,进行内存的一次性申请;步骤4、遍历相机列表信息,创建视频流存储线程和视频流接收线程,每路视频对应一个存储线程和一个视频流接收线程,同时建立相机与存储线程、视频流接收线程之间的映射关系,并向调度服务发起实时视频播放请求;步骤5、所述调度服务向下级平台或设备发起视频点播请求,为每路视频开启一个存储线程和一个视频流接收线程;步骤6、所述视频流接收线程在接收到视频流后,将视频数据保存到对应的缓冲区中,所述存储线程根据缓冲区存满标志将所述视频数据存储到所述云平台上,并将时间节点信息保存至数据库中;步骤7、在存储完成后,重置所述相机的缓冲区,同时将所述视频流存储信息保存到所述数据库中;重复步骤3-7,直到接收到退出指令。2.根据权利要求1所述的实时视频流存储方法,其特征在于,所述相机双缓冲区为主缓冲区和备用缓冲区,所述主缓冲区和所述备用缓冲区交替使用。3.根据权利要求2所述的实时视频流存储方法,其特征在于,所述每个缓冲区的结构为{相机编号、存储状态、当前已经存储的数据大小、I帧列表信息(I帧偏移量、时间戳)}。4.根据权利要求1所述的实时视频流存储方法,其特征在于,所述步骤6中所述存储接口根据所述云平台配置信息中的参数调用云平台接口进行初始化,所述存储线程通过所述云平台的存储接口将所述视频流保存到所述云平台上。5.根据权利要求3所述的实时视频流存储方法,其特征在于,所述步骤6中所述视频流接收线程接收视频流的具体方式为:判断所述视频流的长度是否大于RTP包头长度,如果小于则直接丢弃;否则,获取到视频流数据,获取视频帧类型;如果是I帧,判断临时接收缓冲区中是否有数据,如果没有,则直接将数据保存至所述临时缓冲区;如果有数据,则将所述临时缓冲区中的数据保存至所述缓冲区中,将接收到的I帧保存至所述临时缓冲区;如果是P帧,判断是否找到了I帧,如果没有找到,则丢弃掉,如果已经找到,则将视频流保存至临时缓冲区中;每次在处理完成后更新接收序号和接收时间戳信息。6.根据权利要求5所述的实时视频流存储方法,其特征在于,所述I帧序列数据入双缓冲区实现步骤如下:步骤11、获取所述I帧序列数据、数据长度、I帧绝对时间信息;步骤12、获取所述主缓冲区的状态,判断所述备用缓冲区中是否有数据,如果有数据,则执行步骤13;否则执行步骤14;步骤13、获取...
【专利技术属性】
技术研发人员:李菲菲,王夷,刘其峰,徐强,王小虎,王丹,郭勇勇,
申请(专利权)人:上海熙菱信息技术有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。