最近收到不少需求是对全景拼接视频做存储,实现按时间线回溯。今天分享下我们的视频压缩存储产品的实现过程。
目标需求
接入多路视频,并且做压缩存储,制作自己的播放器,对视频进行暗水印处理。
监控视频的压缩存储是一种将监控摄像头捕捉到的视频数据进行压缩以节省存储空间的方法。
一 视频接入
能够多协议适配接⼊各类前端设备/视频平台、通过标准化转换后以GB/T28181协议向上级共享⾳视频数据的软硬⼀体机产品,打通安防⾳视频协议栈和互联⽹应⽤协议栈,向其提供视频应⽤能⼒。
二 视频压缩
2.1 压缩需求和目标
明确我们压缩视频大小以减小文件大小,目标是将普通的h264 和h265 文件空间需求压缩到以前的4分之一,基本保留视频的质量和清晰度,支持的容器格式为:
支持多种视频格式(如MP4、AVI等)
支持多种压缩比例(如1:1、1:2等)
支持视频压缩设置(如压缩比例、压缩质量等)
2.2 配置界面
Web端,可以使用图形界面或交互式界面来展示视频压缩的选项和设置。
实现视频压缩功能:在软件中,我们使用适当的算法和技术来实现视频压缩功能。常见的视频压缩算法包括基于变换的压缩(如DCT-based变换)和基于深度学习的压缩(如卷积神经网络)。
测试和优化:在完成视频压缩功能后,进行测试和优化。使用视频压缩测试工具来评估压缩效果,并根据测试结果进行优化和改进。在评估结束后,接入正式软件进行压缩流程。
三、使用差分和神经网络进行数据压缩
3.1 数据差分计算
测试环境,将环境数据融入基础架构中,计算基础环境和光影的效果,将视频按照差分计算,积分变换计算来确定压缩的比例,是否能达到4分之一的压缩效果,确定视频伸缩比例和压缩参数。
3.2 数据准备和处理
数据准备:准备大量的视频数据集。这些数据集应该包含不同大小和质量的视频,以便训练深度学习模型。其中可以
数据预处理:对视频数据进行预处理,包括裁剪、缩放、归一化等操作,以提高模型的训练效果。
模型选择:选择适合视频压缩的深度学习模型,如卷积神经网络(CNN)或循环神经网络(RNN)。这些模型可以通过学习视频特征和模式来进行视频压缩。
模型训练:使用准备好的视频数据集来训练深度学习模型。在训练过程中,您需要设置训练参数,如学习率、优化算法等。
模型评估:使用测试集来评估模型的性能。评估指标可以包括压缩后的视频大小、压缩质量、压缩比例等。
模型优化:根据评估结果,对模型进行优化和改进。这可能包括调整模型架构、调整学习参数、增加训练数据等。
软件测试:根据训练好的深度学习模型,开发视频压缩软件。使用深度学习框架(PyTorch)来构建和训练模型,并将其集成到压缩软件中。
四、水印处理
进行亮度拉普拉斯变换和傅里叶变换,进行暗水印处理,在关键帧图像中插入暗水印,普通播放器可以播放,使用我们自己的播放器可以释放出暗水印,以防止视频被篡改。因其中涉及到AI识别和算法压缩,其中图像叠加为傅里叶变换加入水印,流程变为:
五、软件播放
播放软件为我们自己的播放器,可以为客户端和web浏览器端双播放方式。客户端模式使用cuda 硬件解码,cuda比例放大技术,将压缩的视频扩展到我们需要的分辨率。其中包含智能检索模式。
客户端模式
B/S 浏览器播放
智能检索模式
六、监控视频压缩存储的客户价值
监控视频的压缩存储对于客户来说具有以下几个价值:
节省成本:通过使用视频压缩存储技术,客户可以减少对存储设备的需求,降低存储成本。较小的视频文件大小也意味着更少的带宽使用和网络传输费用。
提高效率:压缩存储可以提高监控系统的数据处理和传输效率。较小的视频文件大小意味着更快的数据传输速度,使得实时监控和紧急事件响应更加高效。
方便管理:通过减少存储空间的占用,压缩存储使得监控数据的存储和管理更加方便。这包括简化备份和恢复过程、减少存储设备的数量和减少数据迁移所需的时间和资源。
提高安全性:监控视频的压缩存储可以帮助保护客户的隐私和安全。较小的视频文件大小减少了数据泄露和滥用的风险。此外,压缩存储还可以与其他安全措施结合使用,如数据加密和访问权限控制,提供更高级别的保护。
扩展性和灵活性:通过压缩存储,客户可以更好地扩展其监控系统,以适应不断增长的存储需求。较小的视频文件大小也使得远程访问和共享更加便捷,提供了更大的灵活性和可操作性。
综上所述,监控视频的压缩存储为客户提供了节省成本、提高效率、方便管理、提高安全性以及扩展性和灵活性等客户价值,使得监控系统更加经济高效和可靠。