Files
meetingroom-netscreen/README.md

2.9 KiB
Raw Blame History

会议投屏系统

项目简介

面向32台终端的内网低延迟屏幕广播系统支持网络投屏、硬件接口互通、一键自动化运维。

需求说明

当前会议投屏需求涉及通过视频矩阵系统向32台终端设备进行同步投屏。具体模式可分为以下三类

  1. 模式1单台终端设备作为信号源向其余31台终端设备进行投屏传输。
  2. 模式2主控设备同时向31台终端设备传输本地视频信号并同步接入远程视频会议内容。
  3. 模式3视频会议内容直接投屏至全部32台终端设备的显示界面。

技术说明上述32台终端设备均通过有线网络实现互联互通。

解决方案

参考文档:https://docs.qq.com/flowchart-addon

前置准备仅需配置1次

环境部署Win10服务器 + 32台终端

服务器端(部署 MediaMTX+Python+FFmpeg

  1. 下载并解压以下工具到 D:\ScreenCast 目录(统一路径方便脚本调用):

    • MediaMTXhttps://github.com/bluenviron/mediamtx/releaseswindows-amd64版解压后改名为mediamtx
    • FFmpeghttps://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z解压后改名为ffmpeg
    • Pythonhttps://www.python.org/downloads/windows/安装时勾选「Add Python to PATH」
  2. 安装 Python 依赖(管理员 cmd 执行):

    pip install pyautogui requests subprocess32 psutil
    
  3. 给服务器开启「屏幕录制权限」(设置→隐私和安全性→屏幕录制→允许 Python/CMD

终端端32台Win10

  1. 安装 Python同上仅需执行1次依赖安装

    pip install pyautogui
    
  2. 确保 Chrome/Edge 浏览器安装在默认路径C:\Program Files\Google\Chrome\Application\chrome.exe

核心文件结构统一放在服务器D:\ScreenCast

D:\ScreenCast
├── mediamtx/                # MediaMTX解压目录
│   └── mediamtx.exe
├── ffmpeg/                  # FFmpeg解压目录
│   └── bin/ffmpeg.exe
├── push_screen.py           # 投屏源推流脚本(一键采集)
├── auto_receive.py          # 终端自动打开浏览器脚本
└── manage_server.py         # 运维总控脚本(启动/切换模式/停止)

核心Python脚本

脚本1投屏源推流脚本push_screen.py

功能双击即可采集Win10屏幕自动推流到MediaMTX无需敲命令支持「全屏/指定窗口」投屏,带可视化提示。

脚本2终端自动打开浏览器脚本auto_receive.py

功能双击脚本自动打开Chrome浏览器全屏直接跳转到投屏/会议流页面支持批量部署到32台终端无需手动输入地址。

脚本3运维总控脚本manage_server.py

功能一站式运维启动MediaMTX、切换三种模式、批量控制32台终端、停止所有服务适合管理员操作。