写点什么

构建安防视频云存,和传统安防视频业务的烦恼说再见!

  • 2021 年 12 月 25 日
  • 本文字数:3153 字

    阅读完需:约 10 分钟

构建安防视频云存,和传统安防视频业务的烦恼说再见!



安防视频云存业务特点与面临挑战


传统视频数据因为缺乏元数据索引,因此在无法确定精确的事件发生时间时,无法快速有效的定位视频信息,需要大量人力对存量视频信息进行检索。由此引入巨大的人力成本,并需要更多时间完成视频检索。


此外,传统安防视频具有以下特点:


  • 使用 RTMP/RTSP 协议实现视频流收流。


  • 需要海量、可靠的视频存储。


  • 仅在有事件发生,并需要了解现实情况时才进行回看。


  • 回看框架需要确保 7*24 可用,在需要时可以快速访问从而实现回看功能。


以上特点意味着:


  • 需要在云端或本地部署额外的软/硬件资源,实现视频流接收,引入额外成本。


  • 传统的本地视频存储受限于单一副本,存在单点故障导致的视频丢失风险。固定的本地存储容量,使得增加摄像头数量时需要配套考虑存储设施容量规划和部署方案,使得项目周期变长,项目规划更加复杂。


  • 回看框架访问频率不高,但 7*24 可用意味着即使没有回看需求的时间段内,仍然需要支付对应的系统运行成本。


针对以上困难和特点,我们针对 IPC 视频云存成本优化场景,开发了可以植入到 IPC 内部的视频切片云存 SDK,并利用亚马逊云科技提供的云上托管服务构建视频检索、回看平台,从而降低回看平台基础运行成本,实现回看成本与累积回看时长相关,在不使用回看平台时,几乎无需支付平台运行成本,而当有人访问时又可以快速提供服务。



📢 想要了解更多亚马逊云科技最新技术发布和实践创新,敬请关注在上海、北京、深圳三地举办的 2021 亚马逊云科技中国峰会!点击图片报名吧~


解决方案架构与主要功能模块


系统架构图:



主要功能模块:


  • IPC C SDK


植入到 IPC 内部的 SDK,用于实现视频分片和封装,将可以直接回看的视频分片存储到 Amazon S3 存储桶中。并通过 IAM 权限管理,实现 IPC 上传权限的管理,从而确保各 IPC 视频上传权限相互独立。


利用 SDK 直接将视频上传至 Amazon S3 存储桶,从而摆脱本地或云端视频流转存所需的资源,实现云存成本与存储视频累计时长相关。


  • Amazon S3 视频存储桶


用于存储 IPC 视频分片信息,支持使用 Amazon S3 对象标签和生命周期管理功能,实现视频分片保存周期管理和视频存储成本优化。


同时,利用 Amazon S3 每个前缀提供 3500 PUT 和 5500 GET 请求的性能,利用前缀命名规则,实现云存空间性能自动扩展,从而实现使用统一的框架支持从几个到数以百万计的 IPC 设备。


  • 对视频抽帧并调用 AI 接口和 DynamoDB 元数据存储


针对传统 IPC 视频存储难以检索的情况,引入云上 AI 服务,实现智能视频分析,并根据视频内容,生成相应元数据信息,并保存在 DynamoDB 之中。用户可以选择使用 DynamoDB 中信息,对视频内容进行检索,从而快速定位到所需的视频片段和对应时间,进而有效提升视频检索效率,缩短视频检索所需时间。


  • AI 服务


亚马逊云科技提供了丰富的 AI 服务可以用于视频分析与检索。目前支持的主要 AI 服务可以参考以下解决方案:

https://www.amazonaws.cn/solutions/ipc-ai-saas-solution/


由于 AI 服务部分内容较多,限于篇幅,该解决方案另行刊文作详细介绍。敬请期待。


  • 无服务器架构构建回放平台


为了切实降低回看平台运行成本,特别是没有回看请求时的成本,本解决方案采用了云原生的无服务器架构。具有无用户使用时,成本极低,收到请求时支持秒级快速启动,自动扩展,统一系统架构支持几个到数以百万计的用户同时访问。


IPC-C-SDK


用户可以从 Github 下载 SDK 代码并编译到自己的 IPC 之中:

https://github.com/aws-samples/ipc-h264-hls-c-sdk/


IPC-C-SDK 内部工作逻辑如下:



IPC-C-SDK 从 IPC 内部视频、音频编码器获得视频、音频流,并通过增加 TS、PAT、PMT、PES 头,形成 TS 格式音视频流,并存储于 IPC SoC 内存缓存区中。


当内存缓存区中的音视频流达到一定阈值后,IPC-C-SDK 会自动通过内置 Amazon S3 客户端,将视频内容以对象形式推送到 Amazon S3 存储桶中。


得益于 IPC-C-SDK,视频分片得以直接存储到 Amazon S3 中,而无需其他音视频码流处理设备或资源。从而使得成本得以有效降低到仅需要 Amazon S3 存储和 API 调用成本的程度。实现了成本的最优化。


IPC-C-SDK 使用亚马逊云科技 IAM 进行权限管理。支持 AK+SK 和 AK+SK+Token 的身份验证模式。实际生产环境中,推荐使用 Amazon IoT 进行设备管理,配合 IoT Credential Provider 服务,实现物联网设备证书换临时 IAM 身份信息。该方案提供最佳的云上数据安全性,支持按照设备证书 ID 管理设备权限,从而确保 IPC 云存视频的安全性。其参考架构如下:



用户可以参考以下文档:

https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html


Amazon S3 视频存储桶


Amazon S3 视频存储桶提供高达 99.999999999%的数据持久性。意味着如果以 3 秒分片保存到 Amazon S3,每 10000 年才会丢失一个 3 秒的视频分片。从而确保存储视频的安全性。


此外,在视频云存时,推荐使用以下格式进行存储:

S3://{桶名称}/{设备证书 ID}

/{年}/{月}/{日}/{时}/{分}/{秒}.ts


该格式可以提供以下优势:


  • 确保数据存储和访问安全


利用设备证书 ID 作为第一级前缀,实现各个 IPC 设备之间的权限相互独立与隔离。即每个摄像头均只能访问自己证书 ID 前缀之下的视频分片。通过 IAM 角色配置,更加可以实现限制 IPC 设备仅能够进行上传操作,而无法下载视频分片,从而确保视频云存安全性。


  • 性能自动扩展


由于各个 IPC 分别属于不同的前缀之下,亚马逊云科技为每个 Amazon S3 前缀提供每秒 3500 PUT 和 5500 GET 请求的性能,因此当 IPC 摄像头数量增加时,Amazon S3 将自动优化并提供对应性能的处理能力。从而实现使用统一架构支持从几个到数以百万计 IPC 设备的能力。


视频抽帧并调用 AI 接口将结果存储到 DynamoDB 中


当视频分片上传到 Amazon S3 存储桶中后,用户可以选择使用 AI 技术对视频内容进行分析。例如:检测视频中出现的人脸和相应位置,并将结果保存到 DynamoDB 中,供后续查询使用。


视频数据在上传到 Amazon S3 后,会触发 Amazon S3 事件通知。通过云端 Lambda 函数,可以实现抽取视频关键帧,并转换为 JPEG 格式,发送给 AI 接口进行分析。


AI 分析的结果会以 JSON 格式,返回给 Lambda 函数,Lambda 函数将分析结果信息存储到 DynamoDB 数据库中,供回看平台检索使用。


无服务器架构构建视频回看平台


得益于以 TS 格式保存的视频分片,云存视频分片可以实现任意时间段内分片连接成整体视频进行回看。因此无需在云端进行二次转码操作。从而降低系统成本。


无服务器的视频回看平台使用开源 Video.js 框架,提供两种回看模式:


  • 近实时回看(延迟 6-20 秒,取决于网络和客户端配置情况)


在近实时回看模式下,客户端通过 API Gateway HTTP API 请求 m3u8 播放列表,Lambda 函数检查 Amazon S3 桶中存储的分片,并将 2 分钟之内,最后上传的 3 个视频分片返回给客户端。通过滚动更新 m3u8 返回分片清单,实现近实时的查看视频内容。


  • 指定时间段回看


客户端通过 API Gateway HTTP API 请求 m3u8 播放列表,并提供回看时间段的开始、截止时间。Lambda 函数检查 Amazon S3 桶中存储的分片,并将指定时间段内的视频分片按照顺序添加到 m3u8 播放列表中返回给客户端,从而实现制定时间段的视频回看功能。


指定时间段回看支持通过检索 DynamoDB 中存储的视频元数据,获取所需回看的时间段范围,将结果返回给客户端进行回看。


您可以通过以下链接在亚马逊云科技的环境中一键部署回看框架。框架中的回看应用带有示例视频供您参考。


https://console.aws.amazon.com/cloudformation/home?#/stacks/create/template?stackName=IPC-H264-HLS&templateURL=https://aws-gcr-solutions.s3.amazonaws.com/ipc-c-sdk/v1.0.0/ipc-h264-hls-c-sdk.template



📢 7 月 21-7 月 22 号,上海世博中心,2021 亚马逊云科技中国峰会——上海站强势登陆!没有报名的你,还不赶快点击上方卡片,速速报名!成功报名参会的 Builders 也要记得准时参会哦~


本篇作者


李挚

亚马逊云科技 解决方案架构师

徐高伟

亚马逊云科技 创新解决方案架构师

陈海云

亚马逊云科技 UI / UX 开发人员

李智勤

亚马逊云科技 物联网原型架构师


用户头像

还未添加个人签名 2019.09.17 加入

还未添加个人简介

评论

发布
暂无评论
构建安防视频云存,和传统安防视频业务的烦恼说再见!