Savant适配器大全:从RTSP到Kafka的完整数据源支持 Savant适配器大全从RTSP到Kafka的完整数据源支持【免费下载链接】SavantPython Computer Vision Video Analytics Framework With Batteries Included项目地址: https://gitcode.com/gh_mirrors/sa/SavantSavant是一个高性能的计算机视觉和视频分析框架专为Nvidia硬件平台设计。它提供了一套完整的适配器系统让开发者能够轻松连接各种数据源和输出目标构建强大的实时视频处理管道。无论您是处理RTSP摄像头流、本地视频文件还是需要与Kafka等消息队列系统集成Savant都提供了现成的解决方案。什么是Savant适配器Savant适配器是独立的程序运行在单独的Docker容器中通过ZeroMQ与主模块通信。这种解耦架构确保了高可靠性——外部数据源的错误不会传播到处理模块中。适配器主要负责两个核心功能抽象模块与数据源/目的地的关系以及提供容错操作的基础。适配器通过Savant协议传输视频流和元数据该协议基于ZeroMQ和Savant-RS构建支持传输视频帧、流级信息、帧相关元数据以及对象层次结构。 适配器架构概览Savant适配器系统采用灵活的架构设计支持多种通信模式图Savant适配器支持DEALER/ROUTER、REQ/REP和PUB/SUB三种ZeroMQ通信模式适配器支持Unix域套接字和TCP套接字两种网络传输方式。对于本地通信推荐使用Unix域套接字特别是当使用未压缩的帧格式如GigE Vision工业相机或USB相机时。 输入适配器丰富的数据源支持RTSP流适配器RTSP实时流协议是监控摄像头和流媒体服务器的标准协议。Savant提供两种RTSP适配器FFmpeg RTSP适配器- 基于FFmpeg库支持广泛的摄像头和流媒体服务器Retina RTSP适配器- 支持多流RTSP具有RTCP SR同步功能配置示例docker run --rm -it --name source-rtsp-test \ --entrypoint /opt/savant/adapters/gst/sources/rtsp.sh \ -e ZMQ_ENDPOINTdealerconnect:ipc:///tmp/zmq-sockets/input-video.ipc \ -e SOURCE_IDtest \ -e RTSP_URIrtsp://192.168.1.1 \ -v /tmp/zmq-sockets:/tmp/zmq-sockets \ ghcr.io/insight-platform/savant-adapters-gstreamer:latest视频文件适配器支持本地视频文件、视频文件目录和HTTP URL视频源视频文件适配器处理单个或多个视频文件视频循环适配器无限循环播放视频文件适用于测试和演示多流适配器将同一视频文件发送到多个流用于负载测试图像文件适配器处理JPEG或PNG图像文件支持本地单个文件本地目录中的多个文件HTTP URL图像文件USB/CSI摄像头适配器通过V4L2 API支持USB和CSI摄像头兼容MJPEG、原始色彩格式以及H.264/HEVC编码。GigE Vision工业相机适配器专门为工业应用设计的适配器支持以太网GigE Vision工业相机可直接传输未编码的帧实现最低延迟。Kafka-Redis适配器图Kafka-Redis适配器从Kafka读取元数据从Redis获取帧内容这是企业级应用的关键适配器从Kafka读取视频流元数据从Redis获取帧内容。支持动态主题创建和配置管理。 输出适配器灵活的结果处理JSON元数据适配器将接收到的消息写入新行分隔的JSON流文件支持按源ID和块索引进行文件组织。图像文件适配器扩展JSON元数据适配器将图像文件与元数据JSON文件一起写入指定目录。视频文件适配器将视频文件与元数据JSON文件一起写入指定目录支持按EOS消息分割块。显示适配器用于开发目的的可视化适配器需要X服务器和显示器。支持同步流显示适合实时监控。Always-On RTSP适配器图Always-On RTSP适配器架构确保连续流媒体这是最强大的输出适配器之一将视频流广播为RTSP/LL-HLS/WebRTC。即使源停止运行适配器也会继续流式传输静态图像等待源恢复。支持硬件和软件编码。Kafka-Redis输出适配器将视频流元数据发送到Kafka帧内容存储到Redis。支持消息去重和TTL管理。多流Kinesis视频流适配器将视频帧作为视频片段发送到AWS Kinesis视频流专为云原生应用设计。 桥接适配器高级数据处理缓冲区适配器缓冲来自源的消息并发送到模块。当模块无法接受消息时适配器会缓冲消息直到模块准备好。缓冲区满时会丢弃传入消息。缓冲区NG适配器新一代缓冲区适配器使用Rust构建性能更高可扩展性更强支持Python自定义逻辑扩展。路由器适配器将来自多个源的消息路由到多个目的地基于分配的标签进行智能路由。元数据合并适配器将来自多个并行处理管道的元数据合并回单个流中支持开发者定义的Python回调函数。重播适配器记录、重播和重新流式传输视频流适用于视频分析和回放场景。 部署模式与实践建议数据中心模式使用DEALER/ROUTER或REQ/REP套接字对适用于需要可靠处理视频流且可以接受较高延迟的场景。这些对实现了背压机制当达到阈值时会延迟处理。边缘模式使用PUB/SUB套接字对适用于低延迟实时视频处理。这种机制会丢弃SUB部分无法及时处理的包适合处理MJPEG、RAW、JPEG、PNG等独立编码的视频帧。最佳实践建议模块使用绑定模式适配器使用连接模式提供多路复用流的一方通常使用绑定类型当管道或适配器能够实时处理流量时使用PUB/SUB对对于关键任务应用优先使用DEALER/ROUTER对 实际应用场景智能监控系统使用RTSP适配器连接摄像头通过Savant模块进行人员检测和跟踪最后通过Always-On RTSP适配器输出带分析结果的视频流。工业质检流水线使用GigE Vision适配器连接工业相机进行产品缺陷检测通过Kafka-Redis适配器将结果发送到中央分析系统。云端视频分析使用Kafka-Redis适配器从消息队列获取视频流处理后通过多流Kinesis适配器将结果上传到AWS云服务。开发测试环境使用视频循环适配器创建无限测试流通过显示适配器实时查看处理结果使用JSON元数据适配器保存分析结果。 适配器目录结构Savant适配器按技术栈组织在以下目录中adapters/gst/sources/- GStreamer源适配器adapters/gst/sinks/- GStreamer输出适配器adapters/python/sources/- Python源适配器adapters/python/sinks/- Python输出适配器adapters/python/bridge/- Python桥接适配器adapters/ds/sinks/- DeepStream输出适配器 总结Savant的适配器系统提供了一个完整、灵活的生态系统支持从简单的本地文件处理到复杂的分布式云原生应用。无论您需要连接传统RTSP摄像头、工业GigE Vision相机还是与现代消息队列系统集成Savant都提供了现成的解决方案。通过合理的适配器选择和配置您可以构建高性能、可靠的计算机视觉应用充分利用Nvidia硬件的计算能力同时保持系统的灵活性和可扩展性。Savant适配器让视频分析应用的开发变得更加简单高效✨【免费下载链接】SavantPython Computer Vision Video Analytics Framework With Batteries Included项目地址: https://gitcode.com/gh_mirrors/sa/Savant创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考