一种基于虚拟摄像头、NDI、OBS以及yolo的多机视觉目标检测方案
一种基于虚拟摄像头、NDI、OBS以及yolo的多机视觉目标检测方案
绪论
近来为了实现某种实时展示效果,笔者希望通过一套方案实现在两台主机上分别运行仿真平台以及视觉深度学习算法。透过对当下较为流行的几种方案的调研,笔者最后决定了采用OBS采集并透过NDI协议在局域网内进行广播,再将NDI推到虚拟摄像头上透过yolo进行目标检测的方案。
该方案使用的工具
- obs studio 29.1.0
- obs-ndi
- ndi tools
- yolo v5
- 同一网域内的两台主机
方案大致工作管线
主机1(运行仿真平台)
仿真平台 -> obs studio -> ndi广播
主机2(运行预测算法)
ndi广播 -> ndi tools -> 虚拟摄像头 -> yolo
方案实现
在主机1上正确安装并配置 obs studio
在官网正确安装 obs studio 并正确配置

准备好用于推流的内容

在主机1上正确安装并配置 obs-ndi
从https://github.com/obs-ndi/obs-ndi上下载并安装,注意runtime和obs-ndi插件都要安装
正确安装之后按理可在 obs 的 tools 中找到ndi广播的选项

设置从 ndi 上进行广播

在同一网域内的主机2上正确安装并配置 ndi tools
从 https://ndi.video/tools/ndi-tools/ 即可下载ndi tools

打开之后选择 webcam

选择用于推送的 ndi

可以看到画面预览

接下来将虚拟摄像头作为物理摄像头启动yolo即可,将source修改为ndi使用的虚拟摄像头,因设备而异
python detect.py --weights yolov5s.pt --source 0
可以看到yolo已经正常运作


总结
这种方案主要适用于快速部署一个多主机的视觉检测展示,可以将yolo换成其他的目标检测模型。如果网域在一定程度上低延迟,实时交互是可以做到的。
一种基于虚拟摄像头、NDI、OBS以及yolo的多机视觉目标检测方案的更多相关文章
- 基于Intel OpenVINO的搭建及应用,包含分类,目标检测,及分割,超分辨
PART I: 搭建环境OPENVINO+Tensorflow1.12.0 I: l_openvino_toolkit_p_2019.1.094 第一步常规安装参考链接:https://docs.op ...
- vivi虚拟摄像头驱动程序
一.vivi虚拟摄像头驱动 基于V4L2(video for linux 2)摄像头驱动程序,我们减去不需要的ioctl_fops的函数,只增加ioctl函数增加的必要的摄像头流查询等函数: #inc ...
- V4L2(二)虚拟摄像头驱动vivi深入分析【转】
转自:http://www.cnblogs.com/tureno/articles/6694463.html 转载于: http://blog.csdn.net/lizuobin2/article/d ...
- tmpfs:一种基于内存的文件系统
tmpfs是一种基于内存的文件系统, tmpfs有时候使用rm(物理内存),有时候使用swap(磁盘一块区域).根据实际情况进行分配. rm:物理内存.real memery的简称? 真实内存就是电脑 ...
- 一种基于Qt的可伸缩的全异步C/S架构服务器实现(流浪小狗,六篇,附下载地址)
本文向大家介绍一种基于Qt的伸缩TCP服务实现.该实现针对C/S客户端-服务集群应用需求而搭建.连接监听.数据传输.数据处理均在独立的线程池中进行,根据特定任务不同,可安排负责监听.传输.处理的线程数 ...
- 一种基于Qt的可伸缩的全异步C/S架构server实现(一) 综述
本文向大家介绍一种基于Qt的伸缩TCP服务实现.该实现针对C/Sclient-服务集群应用需求而搭建. 连接监听.传输数据.数据处理均在独立的线程池中进行,依据特定任务不同,可安排负责监听.传输.处理 ...
- macOS平台下虚拟摄像头的研发总结
一.背景介绍 虚拟摄像头,顾名思义,就是利用软件技术虚拟出一个摄像头硬件设备供用户使用.当我们需要对视频图像进行处理再输出时,虚拟摄像头就具备非常大的价值了.关于如何在Windwos上实现一个虚拟设备 ...
- HAProxy详解(三):基于虚拟主机的HAProxy负载均衡系统配置实例【转】
一.基于虚拟主机的HAProxy负载均衡系统配置实例 1.通过HAProxy的ACL规则配置虚拟主机: 下面将通过HAProxy的ACL功能配置一套基于虚拟主机的负载均衡系统.这里操作系统环境为:Ce ...
- 【原创】Apache和基于虚拟主机的Tomcat集群方案
最近建设了北京某政府机构的网站,网站前段使用Apache做负载均衡,后端使用Tomcat做的集群,基于虚拟主机的方式访问,并且实现了静态资源和动态资源的分离. 开始的建设方案有两种,一种是使用apac ...
- 虚拟摄像头vivi的测试(二)
(前一部分的基础操作来源于作者:LingXiaokai 的 Ubuntu 9.10 下如何使用笔记本摄像头以及虚拟摄像头vivi的测试) 自己仅对实际操作中需要注意的点进行阐述 一.先在Ubuntu ...
随机推荐
- 推荐一个C#轻量级矢量图形库
推荐一个轻量级矢量图形库,可用于生成 PDF.SVG.PNG等. 01 项目简介 VectSharp 是一个功能强大的 C# 库,专门用于创建矢量图形,包括文本,不依赖任何第三方,支持跨平台运行,包括 ...
- Qt音视频开发44-本地摄像头推流(支持分辨率/帧率等设置/实时性极高)
一.前言 本地摄像头推流和本地桌面推流类似,无非就是采集的设备源头换成了本地摄像头设备而不是桌面,其他代码完全一样.采集本地摄像头实时视频要注意的是如果设置分辨率和帧率,一定要是设备本身就支持的,如果 ...
- Qt编写地图综合应用14-离线地图下载
一.前言 网上其实有很多各种各样的离线地图下载器,大部分都是要收费的,免费的要么是限制了下载的瓦片数量或者级别,要么是下载的瓦片图打上了水印,看起来很难看,由于经常需要用到离线地图,摆脱这个限制,特意 ...
- springboot的yml文件中如何配置redis?
springboot的yml文件中如何配置redis? 解决方法: spring: #redis配置 redis: database: 0 timeout: 0 # Redis服务器地址 host: ...
- 搞懂现代Web端即时通讯技术一文就够:WebSocket、socket.io、SSE
本文引用自" 豆米博客"的<JS实时通信三把斧>系列文章,有优化和改动. 1.引言 有关Web端即时通讯技术的文章我已整理过很多篇,阅读过的读者可能都很熟悉,早期的We ...
- Python学习(四)——配套《PyTorch深度学习实战》
1. Python中字符串的相加和相乘 在Python中,字符串可以通过加号(+)进行相加(连接),也可以通过乘号(*)进行相乘(重复).以下是这两种操作的详细说明和示例: 字符串的相加(连接) 字符 ...
- Appium_iOS自动化测试之Appium Log
Xcode WebDriverAgentRunner配置参考: https://www.cnblogs.com/dreamhighqiu/p/11023363.html 1 ...
- 2024年终总结:5000 Star,10w 下载量,这是我交出的开源答卷
你好,我是 Kagol,个人公众号:前端开源星球. 2024年,我做前端开发工作满10年啦! 这10年我一直在开发前线,做过电商项目.广告平台.项目管理系统等业务,目前主要专注于前端组件库建设和开源社 ...
- ids4-startup
https://stackoverflow.com/questions/28418360/jwt-json-web-token-audience-aud-versus-client-id-whats- ...
- 一篇解决编译原理大作业,基于Flex、Bison设计编译器(含语法分析树和符号表)
1.工具简单介绍 Flex 和 Bison 是编译器开发中常用的两个工具,分别用于生成词法分析器和语法分析器.它们通常一起使用,共同完成源代码的词法分析和语法分析工作. Flex: Flex通过读取一 ...