;
发布于:
传统的视频存储系统在保存与后续的检索上都存在诸多不便,若是能够搭建一个监控视频云存储服务器便能在很大程度上解决这些问题。本文将会为你介绍搭建这样一个服务器所需工具及具体操作步骤。
用户可以从 Github下载 SDK 代码并编译到自己的 IPC 之中:
IPC-C-SDK 内部工作逻辑如下:
IPC-C-SDK 从 IPC 内部视频、音频编码器获得视频、音频流,并通过增加 TS、PAT、PMT、PES 头,形成TS格式音视频流,并存储于 IPC SoC 内存缓存区中。
当内存缓存区中的音视频流达到一定阈值后,IPC-C-SDK 会自动通过内置S3客户端,将视频内容以对象形式推送到 S3 存储桶中。
得益于 IPC-C-SDK,视频分片得以直接存储到 S3 中,而无需其他音视频码流处理设备或资源。从而使得成本得以有效降低到仅需要 S3 存储和 API 调用成本的程度。实现了成本的最优化。
IPC-C-SDK 使用亚马逊云科技 IAM 进行权限管理。支持 AK+SK 和 AK+SK+Token 的身份验证模式。实际生产环境中,推荐使用 Amazon IoT 进行设备管理,配合IoT Credential Provider 服务,实现物联网设备证书换临时 IAM 身份信息。该方案提供最佳的云上数据安全,支持按照设备证书 ID 管理设备权限,从而确保 IPC 云存视频的安全。其参考架构如下:
S3 视频存储桶提供高达99.999999999%的数据持久。意味着如果以3秒分片保存到 S3,每10000年才会丢失一个3秒的视频分片。从而确保存储视频的安全。
此外,在视频云存时,推荐使用以下格式进行存储:
S3://{桶名称}/{设备证书ID}/{年}/{月}/{日}/{时}/{分}/{秒}.ts
该格式可以提供以下优势:
当视频分片上传到 S3 存储桶中后,用户可以选择使用 AI 技术对视频内容进行分析。例如:检测视频中出现的人脸和相应位置,并将结果保存到 DynamoDB 中,供后续查询使用。
视频数据在上传到 S3 后,会触发S3事件通知。通过云端 Lambda 函数,可以实现抽取视频关键帧,并转换为JPEG格式,发送给AI接口进行分析。
AI 分析的结果会以 JSON 格式,返回给 Lambda 函数,Lambda 函数将分析结果信息存储到 DynamoDB 数据库中,供回看平台检索使用。
得益于以 TS 格式保存的视频分片,云存视频分片可以实现任意时间段内分片连接成整体视频进行回看。因此无需在云端进行二次转码操作。从而降低系统成本。
无服务器的视频回看平台使用开源 Video.js 框架,提供两种回看模式:
相关文章
返回上一级 云存储文章 >>