最近想做一个副机远程yolo检测并远程控制主机所捕获画面的事,试了下以下几种方式,记录一下
1.双机obs+ndi插件
实现很简单,但仅限于画面传输,副机没法远程控制主机
需要下载:
obs32.0版本往上
DistroAV:https://github.com/DistroAV/DistroAV/releases/tag/6.2.1
NDI 6 Runtime:https://ndi.link/NDIRedistV6
原理为主副机在一个局域网内,主机通过obs捕获画面后然后在【工具-DistroAV NDI 设置】打开
勾选主输出,也可以修改NDI源的名字,点击确定保存
副机添加NDI来源
双机打开设置,选择主机的NDI源,即可捕获主机画面
2.NDI tool
操作很简单,而且可以通过主机开启KVM让副机进行远程控制,但是部分游戏感觉对这种方式有检测,副机只能操控非游戏的应用
下载地址:NDI – Take Control Of Your Connections – Download Now
打开软件后主机选择【Screen Capture】
右键小托盘图标打开KVM功能
此时在副机打开【Webcam】,如果能看到主机的NDI源就代表成功了
再在副机打开【Studio Monitor】,右键选择NDI源即可捕获主机的全屏画面
点击左上角KVM按钮即可开启控制主机屏幕
坑点:主机开启ScreenCapture后即打开NDI源后,首次副机可以搜索到NDI源,但是后续断开再重新搜索就找不到了,双机确实是连接的同一个wifi在局域网内。
3.sunshine+moonlight
体验不错但是有坑,主机安装sunshine,副机安装moonlight
下载地址:
sunshine:Sunshine | LizardByte
moonlight:https://github.com/moonlight-stream/moonlight-qt/releases
安装完成后主机打开sunshine后创建账号密码即可进入后台
副机打开moonlight后开始自动搜索局域网里的设备
点击主机设备弹出pin码,主机后台网页中输入对应pin码即可配对成功。
坑点:因为是处于局域网内的主副机,所以我觉得即使串流一些非3d游戏应该也没什么问题,但是实际当我用冒险岛来进行测试时会发现启动串流后游戏会跟抽帧一样一卡一卡的。无论是moonlight中设置为720p30帧码率0.5mbps还是设置成1080p120帧码率30mbps都是一样的卡顿效果,任务管理器里观察主副机的收发带宽也才3-4mbps,而我用网易UU远程时开原画画质都能勉强玩一下三角洲,此时收发带宽是40mbps上下,这说明moonlight的卡顿很明显是不正常的。后来在ai的帮助下把路由器后台的2.4G和5G信号合并选项关闭,双机都选择连接5G信号的wifi后就没有卡顿了