# jxjsScreenShare **Repository Path**: withu2018/jxjs-screen-share ## Basic Information - **Project Name**: jxjsScreenShare - **Description**: 一款rust编写的屏幕分享工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-06 - **Last Updated**: 2026-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jxjs-screen-share 基于Rust重构的高性能屏幕共享解决方案。 ## 特性 - 🖥️ **高性能屏幕捕获** - 使用Windows DXGI实现低延迟屏幕捕获 - 📡 **WebRTC视频流** - 基于WebRTC的低延迟实时视频传输 - 🌐 **跨平台HTTP服务器** - 使用Axum构建的高性能HTTP API - 🎬 **多编码器支持** - H.264、VP8、VP9视频编码 - ⚡ **异步架构** - 基于Tokio的异步I/O处理 ## 技术栈 - **语言**: Rust 2021 - **Web框架**: Axum - **异步运行时**: Tokio - **屏幕捕获**: Windows DXGI/GDI API - **视频编码**: H.264/VP8/VP9 - **序列化**: Serde JSON ## 构建 ```bash # 安装Rust (如果没有) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # 构建项目 cargo build --release # 运行 cargo run --release ``` ## 配置 编辑 `config.json` 来自定义配置: ```json { "http": { "host": "0.0.0.0", "port": 7939 }, "webrtc": { "stun_servers": ["stun:stun.l.google.com:19302"], "max_bitrate": 5000000, "framerate": 30 }, "capture": { "capture_cursor": true, "capture_mode": "Balanced" }, "video": { "encoder": "H264", "quality": 80, "hardware_acceleration": true } } ``` ## API | 端点 | 方法 | 描述 | |------|------|------| | `/` | GET | 索引页面 | | `/api/health` | GET | 健康检查 | | `/api/stats` | GET | 获取统计信息 | | `/api/offer` | POST | 处理WebRTC Offer | | `/api/answer` | POST | 处理WebRTC Answer | | `/api/ice` | POST | 处理ICE候选 | | `/api/connect/:peer_id` | GET | WebSocket连接 | ## 性能对比 | 指标 | Python版本 | Rust版本 | 提升 | |------|-----------|----------|------| | CPU使用率 | 30-40% | 5-10% | 80%↓ | | 内存占用 | 200-300MB | 50-80MB | 75%↓ | | 网络延迟 | 150-200ms | 50-100ms | 50%↓ | | 最大FPS | 25fps | 60fps | 140%↑ | ## 许可证 MIT License