# 会议投屏系统 ## 项目简介 面向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 目录(统一路径方便脚本调用): - MediaMTX:`https://github.com/bluenviron/mediamtx/releases`(windows-amd64版,解压后改名为mediamtx) - FFmpeg:`https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z`(解压后改名为ffmpeg) - Python:`https://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台终端、停止所有服务),适合管理员操作。