资讯详情

资讯详情

扫一次码,把手机变成第二块屏:跑通 Deskreen 屏幕共享

扫一次码把手机变成第二块屏跑通 Deskreen 屏幕共享【免费下载链接】deskreenDeskreen turns any device with a web browser into a secondary screen for your computer. ⭐️ Star to support our work!项目地址: https://gitcode.com/gh_mirrors/de/deskreenDeskreen 屏幕共享是一款开源的 Electron 应用在电脑上装一个主机端任何带浏览器的设备——手机、平板、笔记本——打开一个网页就能实时看到你的屏幕。视频流走 WebRTC 设备间直传看的人不装客户端也不依赖公网中转服务器。先跑起来环境要求nodev23和pnpmv10.20.0装好后按下面步骤走git clone https://gitcode.com/gh_mirrors/de/deskreen cd deskreen pnpm i cd src/client-viewer pnpm i cd ../.. pnpm clean pnpm build pnpm start跑通后你会看到主窗口进入「连接 → 选择 → 确认」三步流程手机上扫一下窗口里的二维码主机端弹出确认框点 Allow选要共享的屏幕或应用窗口手机浏览器里就开始出画面了。先拿到这个正反馈再往下看原理。Deskreen 屏幕共享是怎么干活的打个比方它相当于一台架在你电脑上的路由器——只负责让两边见上面、互换门牌号视频本身不经过它。落到技术上应用内嵌了一个 Koa socket.io 的本地信令服务器监听 3131 端口被占用时自动回退到 3132同局域网的设备打开网页后连上它按 URL 里的 roomID 进同一个房间。屏幕画面则是 Electron 的desktopCapturer在主机端抓屏再用 simple-peer 建立的 WebRTC 点对点连接直接推给浏览器端播放信令服务器不参与视频传输。本地信令服务器Koa socket.io 起在0.0.0.0同时托管观看端页面按 roomID 把设备路由进房间屏幕捕获服务枚举桌面里的屏幕和应用窗口两类信源供你选择共享对象并监听窗口关闭事件共享会话管理每个连入设备对应一个 SharingSession驱动未连接 → 已连接 → 共享中的状态流转观看端主视图手机打开的那个 React 页面负责连信令、交换 SDP 握手信号、播放视频流三个你大概率会用的场景把手机变第二屏多屏工作流写代码或做设计时让手机或平板当辅助屏放代码对照、参考资料或聊天窗口。主机端停在连接步骤手机扫窗口里的二维码主机端收到请求后点 Allow 放行在选择步骤挑一整块屏幕或某个应用窗口确认开始共享踩坑提醒两端必须在同一个局域网。手机开热点时电脑也要连上这个热点否则二维码里的 IP 不可达。给教室或会议室投屏这是浏览器屏幕共享工具最典型的用法讲的人共享屏幕听众任意设备打开链接就能看到免安装。主机端开始共享后把窗口里显示的http://IP:端口/roomID链接发到群里听众用手机、平板或备用笔记本打开链接网络一般的会议室里把观看端画质从 100% 调到 60% 或 40% 更稳效果预期链接里的 roomID 只在主机端运行期间有效关掉应用所有观看端都会断开。远程看着同事的屏幕排问题办公室里做技术支持或结对排障时让当事人在自己电脑上跑主机端你用自己设备打开链接盯着看不用凑到人家工位旁边。被支持方启动 Deskreen 并扫码/给你链接你打开链接实时看到对方屏幕需要时让对方换共享对象比如切到出问题的应用窗口踩坑提醒主机端可以随时主动断开某个设备对方会立刻收到断开提示所以看着看是有边界的。调一调让它更顺手3131 端口被占了怎么办信令服务器默认主端口 3131、备用端口 3132定义在 src/common/config.ts。两个都被占时它会随机挑一个空闲端口。你不用改端口直接以应用窗口里显示的二维码和链接为准即可里面带的就是实际端口。画质卡顿时自动画质是怎么降的观看端工具栏提供 Auto 和 25% 到 100% 的固定档位。选 Auto 时帧差比较逻辑 每秒把当前视频帧缩到 1/8 尺寸用 pixelmatch 和上一帧比像素连续 3 帧以上差异达到 10% 就降到半画质画面稳定后再升回去。想手动锁码率主机端会改写 WebRTC SDP 里的带宽行// ... const bitrateLine bAS:${bitrate}; // 在 SDP 的 m 媒体行之后插入或替换该行多网卡机器二维码里的 IP 不对有线 WiFi 双网卡时默认选的网卡可能不是你想要的。启动时加--ip指定网卡 IP 就行macOS / Windows / Linux 的启动命令在 README 里有现成示例比如 Linux 下./Deskreen\ CE-*.AppImage --ip 192.168.1.100往深里走定制主机端界面主机端 UI 是一套 React 组件设置面板在 SettingsOverlay三步引导流程在src/renderer/src/components/StepsOfStepper/下。想换外观或加设置项从 renderer 层入手详见对应源码。新增一种语言项目用 i18next13 个语言的翻译文件放在 src/common/locales/观看端另有一份。加语言基本就是补一个目录加一个 JSON详见对应源码。上生产之前看看这几点信令服务器监听0.0.0.0局域网内任何设备都能访问如果要跨网段使用前面套一层反向代理做 TLS 终结别把 3131 裸暴露到公网房间状态存在内存里MemoryStore应用重启后房间状态清零超过 7 天不活跃的房间每小时轮询自动清理抓屏依赖系统的屏幕录制权限macOS 首次启动会弹授权Linux 的 Wayland 会话下屏幕捕获能力受限源码里有专门检测视频流是设备间 WebRTC 直传主机端要承担编码开销多设备同时观看时留意 CPU 占用主机端是单点它一关所有观看端立即断开长时间无人看守的共享要心里有数这个项目现阶段最适合局域网内的个人多屏和演示场景。想试就照第一节跑一遍有想实现的功能先去项目 issues 里搜一搜没有就提一个聊聊你的场景。【免费下载链接】deskreenDeskreen turns any device with a web browser into a secondary screen for your computer. ⭐️ Star to support our work!项目地址: https://gitcode.com/gh_mirrors/de/deskreen创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →