# TestShareScreen **Repository Path**: lig/test-share-screen ## Basic Information - **Project Name**: TestShareScreen - **Description**: 屏幕分享测试程序 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-27 - **Last Updated**: 2026-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 局域网 4K 屏幕共享系统操作说明书 本项目是一款基于 .NET 8、Direct3D 11 和 FFmpeg 的高性能局域网屏幕共享工具,支持 4K 60FPS 低延迟传输。 ## 1. 环境准备 (重要) 在运行程序之前,**必须**完成以下步骤,否则程序将无法启动或报错: 1. **安装运行时**: 确保电脑已安装 .NET 8 Desktop Runtime。 2. **配置 FFmpeg 核心库** (关键步骤!): * 本程序依赖 FFmpeg 的动态链接库 (`.dll`)。 * **请务必下载 Shared 版本,不要下载 Static 或 Essentials 版本!** * 下载地址: [gyan.dev/ffmpeg/builds/](https://www.gyan.dev/ffmpeg/builds/) * 在页面中找到 **"release builds"** 部分。 * 点击下载包含 **"shared"** 字样的链接,例如: `ffmpeg-7.1-full_build-shared.7z`。 * 解压下载的压缩包,进入 `bin` 文件夹。 * 确认该文件夹内包含 `avcodec-*.dll`, `avutil-*.dll`, `swscale-*.dll` 等文件(而不是只有 .exe)。 * 将这些 `.dll` 文件全部复制到本程序的运行目录中(即 `TestShareScreen.exe` 同级目录)。 ## 2. 界面参数说明 程序启动后,您将看到如下参数设置选项: ### 2.1 角色 (Role) * **发送端**: 选择此角色将捕获当前电脑的屏幕画面,编码并通过网络发送。 * **接收端**: 选择此角色将接收网络上的视频流,并解码渲染到当前窗口。 ### 2.2 组播 IP (Multicast IP) * **说明**: 用于组播通信的虚拟 IP 地址。发送端和接收端必须设置**完全相同**的 IP 才能互通。 * **默认值**: `239.0.0.1` * **推荐范围**: `224.0.0.0` ~ `239.255.255.255`。建议保持默认,除非网络中有冲突。 ### 2.3 端口 (Port) * **说明**: 网络通信端口。发送端和接收端必须设置**完全相同**的端口。 * **默认值**: `5000` * **注意**: 确保该端口未被其他程序占用,且防火墙允许 UDP 通信。 ### 2.4 码率 (Bitrate) * **说明**: 视频编码的比特率,单位为 bps (bits per second)。码率决定了画质清晰度和网络带宽占用。 * **设置建议**: * **1080p 60FPS**: 建议 `5000000` (5 Mbps) ~ `10000000` (10 Mbps)。 * **2K / 1440p**: 建议 `15000000` (15 Mbps)。 * **4K 60FPS**: 建议 `20000000` (20 Mbps) ~ `50000000` (50 Mbps)。 * **注意**: * **接收端无需设置此项**(该输入框在选择“接收端”时会自动禁用)。 * 过高的码率需要千兆有线网络支持,Wi-Fi 环境下建议适当降低码率以减少卡顿。 ## 3. 操作步骤 ### 步骤一:启动发送端 (Presenter) 1. 在演示电脑上运行程序。 2. “角色”选择 **“发送端”**。 3. 确认 **组播 IP** 和 **端口** (通常保持默认即可)。 4. 根据屏幕分辨率设置 **码率** (例如 4K 屏建议 20000000)。 5. 点击 **“开始”** 按钮。 * *此时状态栏应显示“发送速率: xx.xx Mbps”。* ### 步骤二:启动接收端 (Audience) 1. 在观看电脑上运行程序。 2. “角色”选择 **“接收端”**。 3. 输入与发送端**完全一致**的 **组播 IP** 和 **端口**。 4. 点击 **“开始”** 按钮。 * *稍等片刻,窗口黑色区域应出现发送端的屏幕画面。* * *状态栏应显示“接收速率: xx.xx Mbps”。* ## 4. 常见问题排查 (FAQ) ### Q1: 点击开始后报错 "DllNotFoundException" 或程序直接崩溃 * **原因**: 未正确放置 FFmpeg 的 DLL 文件。 * **解决**: 请重新阅读第 1 节“环境准备”,确保所有 `.dll` 文件都在 exe 同级目录下。 ### Q2: 接收端一直是黑屏,没有画面 * **原因 1**: Windows 防火墙拦截了 UDP 通信。 * **解决**: 在发送端和接收端电脑上,允许本程序通过防火墙(或者暂时关闭防火墙进行测试)。 * **原因 2**: IP 或端口不一致。 * **解决**: 仔细核对两端的 IP 和端口设置。 * **原因 3**: 网络环境不支持组播。 * **解决**: 部分公司网络交换机可能会拦截组播包,尝试直连或咨询网管。 ### Q3: 画面卡顿、花屏或马赛克严重 * **原因**: 网络丢包或带宽不足。 * **解决**: * 尽量使用 **有线网络** 连接。 * 如果必须使用 Wi-Fi,请连接 5GHz 频段。 * 在发送端 **降低码率** (例如从 20Mbps 降至 10Mbps)。 ### Q4: 画面延迟很大 * **原因**: 主要是网络传输延迟或编解码缓冲。 * **解决**: 本程序已针对低延迟优化(使用 NVENC 低延迟预设),主要受网络抖动影响。尝试改善网络环境。