专利汇可以提供一种支持云平台采用双缓冲的实时视频流存储方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种支持 云 平台采用双缓冲的实时 视频流 存储方法,包括如下步骤:获取云存储配置文件信息;连接 数据库 ,获取部署ID对应的存储相机列表信息;获取调度 服务器 信息,同时启动存储管理主线程,为每个相机分 配对 应的双缓冲区,建立相机与双缓冲区之间的映射关系;遍历相机列表信息,创建视频流存储线程和视频流接 收线 程;向下级平台或设备发起 视频点播 请求 ,在接收到视频流后,将数据保存到对应的缓冲区中,存储线程根据缓冲区存满标志将视频流存储到云平台上。本发明能够在一定程度上提高了视频存储的效率,减少不可逆转的视频丢失问题,同时也可以在一定程度上提高视频存储的安全性。,下面是一种支持云平台采用双缓冲的实时视频流存储方法专利的具体信息内容。
1.一种支持云平台采用双缓冲的实时视频流存储方法,其特征在于,所述方法包括如下步骤:
步骤1、获取云存储配置文件信息,所述信息包括服务部署ID、云平台配置信息、数据库配置信息;
步骤2、初始化数据库连接,连接所述数据库,获取所述部署ID对应的存储相机列表信息;
步骤3、获取调度服务信息,同时启动存储管理主线程,为每个相机分配对应的双缓冲区,建立相机与双缓冲区之间的映射关系,进行内存的一次性申请;
步骤4、遍历相机列表信息,创建视频流存储线程和视频流接收线程,每路视频对应一个存储线程和一个视频流接收线程,同时建立相机与存储线程、视频流接收线程之间的映射关系,并向调度服务发起实时视频播放请求;
步骤5、所述调度服务向下级平台或设备发起视频点播请求,为每路视频开启一个存储线程和一个视频流接收线程;
步骤6、所述视频流接收线程在接收到视频流后,将视频数据保存到对应的缓冲区中,所述存储线程根据缓冲区存满标志将所述视频数据存储到所述云平台上,并将时间节点信息保存至数据库中,所述视频流接收线程接收视频流的具体方式为判断所述视频流的长度是否大于RTP包头长度,如果小于则直接丢弃;否则,获取到视频流数据,获取视频帧类型;
如果是I帧,判断临时接收缓冲区中是否有数据,如果没有,则直接将数据保存至所述临时缓冲区;如果有数据,则将所述临时缓冲区中的数据保存至所述缓冲区中,将接收到的I帧保存至所述临时缓冲区;如果是P帧,判断是否找到了I帧,如果没有找到,则丢弃掉,如果已经找到,则将视频流保存至临时缓冲区中
步骤7、在存储完成后,重置所述相机的缓冲区,同时将所述视频流存储信息保存到所述数据库中;重复步骤3-7,直到接收到退出指令。
2.根据权利要求1所述的实时视频流存储方法,其特征在于,所述相机双缓冲区为主缓冲区和备用缓冲区,所述主缓冲区和所述备用缓冲区交替使用。
3.根据权利要求2所述的实时视频流存储方法,其特征在于,所述每个缓冲区的结构为{相机编号、存储状态、当前已经存储的数据大小、I帧列表信息(I帧偏移量、时间戳)}。
4.根据权利要求1所述的实时视频流存储方法,其特征在于,所述步骤6中所述存储接口根据所述云平台配置信息中的参数调用云平台接口进行初始化,所述存储线程通过所述云平台的存储接口将所述视频流保存到所述云平台上。
5.根据权利要求3所述的实时视频流存储方法,其特征在于,所述步骤6中所述视频流接收线程接收视频流
每次在处理完成后更新接收序号和接收时间戳信息。
6.根据权利要求5所述的实时视频流存储方法,其特征在于,所述I帧序列数据入双缓冲区实现步骤如下:
步骤11、获取所述I帧序列数据、数据长度、I帧绝对时间信息;
步骤12、获取所述主缓冲区的状态,判断所述备用缓冲区中是否有数据,如果有数据,则执行步骤13;否则执行步骤14;
步骤13、获取所述备用缓冲区的剩余空间,判断所述备用缓冲区的剩余空间是否存够存储,如果是,则将数据拷贝至所述备用缓冲区,执行步骤15;否则将所述备用缓冲区的状态设置成已满,将剩下的空间进行占位填充,同时将数据拷贝至所述主缓冲区,执行步骤
15;
步骤14、判断所述主缓冲区的剩余空间是否足够存储,如果足够存储,则将数据拷贝至所述主缓冲区,执行步骤15;否则将所述主缓冲区的状态设置为已满,将剩下的空间进行占位填充,并将数据拷贝至所述备用缓冲区,执行步骤15;
步骤15、处理完毕。
7.根据权利要求6所述的实时视频流存储方法,其特征在于,所述视频流存储线程实现步骤如下:
步骤21、根据所述配置文件中的云平台配置信息初始化云平台接口、相机编号以及双缓冲区信息;
步骤22、启动所述视频流存储线程;
步骤23、判断是否接收到服务的退出命令,如果接收到退出命令,则退出循环,等待程序退出,否则执行步骤24;
步骤24、判断所述主缓冲区是否已满,如果已满,则调用所述云平台存储接口将数据保存至云平台,如果存储成功,则将视频片段信息保存至数据库,重置缓冲区,执行步骤25;
步骤25、判断所述备用缓冲区是否已经写满,如果所述备用缓冲区已经写满,则调用云平台存储接口将数据保存至云平台,如果存储成功,则将视频片段信息保存至数据库,重置缓冲区,执行步骤26;
步骤26、进行下一轮的判断,执行步骤23。
8.根据权利要求6所述的实时视频流存储方法,其特征在于,所述视频流接收线程实现步骤如下:
步骤31、初始化所述视频流接收线程,包括所述相机编号、双缓冲区;
步骤32、生成视频流接收端口,并设置临时接收缓冲区;
步骤33、启动所述视频流接收线程;
步骤34、在所述视频流接收线程中判断是否接收到退出命令,如果接收到,则执行步骤
35,否则执行步骤36;
步骤35、停止接收视频流,并判断双缓冲区中是否有需要存储的视频数据,如果有,将缓冲区的存满标志置成已满,并进行数据占位填充(保证整个缓冲区都是填满的),如果没有,则退出循环,等待线程退出;
步骤36、准备接收视频流,判断是否接收到所述视频流接收线程的退出信号,如果接收到,则执行步骤35;否则执行步骤37;
步骤37、获取视频数据、帧类型,如果是I帧,判断基准时间是否存在,如果不存在,则将基准时间设置为当前时间,根据RTP数据的时间戳信息以及基准时间更新I帧绝对时间,执行步骤38;如果不是I帧,则执行步骤39;
步骤38、将之前保存的整个I帧序列保存至双缓冲区,将新接收到I帧保存至临时接收缓冲区,并更新序号、时间戳信息,执行步骤36;
步骤39、判断是否已经接收到I帧,如果已经收到了I帧,则将接收到的视频数据保存至临时接收缓冲区,并更新序号、时间戳信息,执行步骤36;否则数据丢弃,更新序号、时间戳信息,执行步骤36。
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
视频处理方法及装置 | 2020-05-08 | 580 |
数据通讯系统与方法 | 2020-05-11 | 831 |
一种公交传媒移动装置、公交移动传媒系统及方法 | 2020-05-11 | 266 |
一种网络视频点播以及直播的推流方法 | 2020-05-12 | 592 |
多媒体传输系统中管理多媒体资源状态变化的系统和方法 | 2020-05-12 | 16 |
多媒体视频流总结系统及流程 | 2020-05-08 | 353 |
用于为内容传递网络中的推和拉内容请求分配带宽的方法、设备 | 2020-05-12 | 434 |
网元和管理该网元的控制器 | 2020-05-08 | 867 |
一种视频点播的方法和装置 | 2020-05-11 | 306 |
一种基于GB35114标准的视频签名验签测评工具及方法 | 2020-05-11 | 497 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。