揭秘!SpireCV如何实现低延时推流、视频保存!

引言

视频推流是指将实时的音视频数据通过网络传输到服务器或其他终端设备的过程。

在无人机上则是通过搭载摄像头或录像设备,通过无线网络将实时拍摄到的视频数据传输到地面站或其他终端设备,使操作人员能够实时监视无人机所处位置的环境,并在远程地点观看无人机飞行状态和所拍摄到的实时画面。

这在无人机遥感监测、应急救援、安防监控等领域具有非常重要应用价值。作为一个专为智能无人系统打造的边缘实时感知SDKSpireCV已实现并开源了这部分算法

图1 SpireCV视频推流功能演示

如何使用视频推流功能?

推流功能使用SpireCV的视频推流类sv::VideoStreamer把输出图像/叠加的识别结果推流到网络上,主要实现代码如下:

复制代码
// 实例化视频推流类sv::VideoStreamersv::VideoStreamer streamer;// 初始化 推流分辨率(640, 480),端口号8554,比特率2Mbstreamer.setup(cv::Size(640, 480), 8554, 2);while (1)  // 在循环中 推流 图像img{  // 将img推流到 地址:rtsp://ip:8554/live  streamer.stream(img);}

拉流功能使用SpireView软件实现,具体操作可参考阿木实验室官网SpireCV开发者套件的。

**注:**使用该功能之前需要提前部署好SpireCV的sdk。

视频推流实现原理

视频数据的原始体积是非常大的,以720P分辨率、60赫兹帧率的视频流为例,其一秒钟就将产生1.3GB以上的数据。如此体积的数据量无法直接在网络进行传输,需要借助于视频编解码技术。该技术可分为软件编解码、硬件编解码两种方式:

1)软件编解码:其优势在于灵活性、低成本和可定制性,能够适应不同的视频编码格式和算法,并且不需要额外的硬件设备,可以根据需求进行定制和扩展。然而,软件编解码的劣势是性能受限于CPU的计算能力和资源消耗较大。

2)硬件编解码:其利用专门的硬件芯片进行视频数据的压缩和解压缩,具有高效性、节能和兼容性等优势。通过专用硬件的加速处理,能够实现实时编解码和低延时推流,同时更加高效地利用硬件资源,降低能耗。此外,硬件编解码器通常支持各种常见的视频编码格式,可以与不同设备和平台兼容。

鉴于无人机对低延时推流、画面高质量的需求,SpireCV首先采用硬件编解码的方式实现图像流的编码,其次使用RTSP协议实现图像流在网络中的传输。

RTSP是 TCP/IP 协议体系中的一个应用层协议,该协议定义了一对多应用程序如何有效地通过 IP 网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。

视频保存

SpireCV同时也提供了视频保存的功能,同样使用硬件编码器实现,不额外占用机载计算机的CPU资源。保存实时视频到本地,同步保存检测、跟踪信息,视频(.avi)与信息(.svj)是分离的,具有如下优点:

1)离线回放时可以叠加实际检测、跟踪结果,方便定位问题。

2)保留了原始视频,方面持续补充数据集,不断改进检测、跟踪性能。

视频保存功能的具体实现与上述推流功能类似,详情请参考amovlab官网SpireCV开发者套件的wiki。

图2 SpireView播放本地保存的视频文件演示

相关推荐
Linguwen12 小时前
外贸GEO01|GEO是什么?生成式引擎优化,AI时代的新流量密码
人工智能
物质波波波12 小时前
WS-RPE:面向边缘物理AI实时特征值计算的硬件工作窃取调度器与冗余PE激活架构
人工智能·fpga开发·架构·系统架构·硬件架构
起个名字好难啊这也被占用了12 小时前
LangGraphjs可中断可恢复的AI工作流
人工智能·ai编程
@Mr_LiuYang12 小时前
状态栏动态上下文信息追加到Agent --《深入理解 AI Agent :设计原理与工程实践》实验2-8
人工智能·大模型·动态上下文·状态栏信息追加
码流怪侠13 小时前
用 WiFi 信号数人头:howmanypeoplearearound 项目深度解析
后端·开源·github
碳基猿13 小时前
新媒体运营的终局:从“内容创作”走向“运营系统竞争”
人工智能·新媒体运营·产品运营·新媒体矩阵·多账号管理·矩阵分发·矩阵运营方法论
阿里云大数据AI技术13 小时前
阿里云 EMR Daft AI Function:用 DataFrame 表达式搞定大模型调用与多模态向量化
人工智能·spark
jerryinwuhan13 小时前
鱼苗投放检测系统设计
人工智能
阿里云大数据AI技术13 小时前
官宣|Apache Fluss 毕业成为顶级项目,湖流一体开启 Agentic Lake 全面实时化时代
人工智能·flink
敲代码的玉米C13 小时前
测试一直在写你的真实数据根
前端·人工智能·架构