协同工作之屏幕共享Screego

ScreegoGitHub 上一款用 Golang 开发的开源的屏幕共享工具,支持多用户,基于 WebRTC 进行安全传输,并集成了 TURN 服务,可通过 Docker 或二进制文件快速完成安装,拥有更低延迟、更高质量的屏幕共享体验。

使用起来非常简单,只要通过创建一个房间就可以进行屏幕的共享了,可以选择共享的内容。包括屏幕共享、应用共享和 chrome 标签页共享三种模式。

将当前房间的链接发送给他人,他人就可以加入进这个房间,从而进行多人的屏幕共享,可以先体验下官方的 Demo 预览:app.screego.net

安装

在 docker 注册表中搜索 screego ,只有一个 screego/server,我选择的版本是 amd64-1.1.1

端口

直接用的默认值

环境

因为我用的 frps ,所以 SCREEGO_EXTERNAL_IP 填的是 vps 的公网 IP 地址。

运行

在浏览器中输入 http://群晖IP:5050 就能看到主界面了

但是在 http 协议下是不能共享的

在控制面板中设置反向代理服务,就可以在浏览器中输入刚才反代的域名,通过 https 来访问了

NAT 只能选择 STUN

TURN 一直是灰的,先不管了,点 CREATE ROOM 进房间

点击 Start Presentation 可以自主选择共享的内容

把屏幕2上 potplayer 正在播放的电影共享了出来

Android 手机和另一台 Win10 电脑,都正常接收到了串流。感觉上手机端的延时要小的多

软件本身不能调整方向,只能利用手机的旋转

除了用电影测试实时性,也用文档和代码测试了清晰度,自己感受一下

网页还可以放大

总结

  1. 支持简单的用户验证,但是我们没进行这方面的设置,有兴趣的自己研究下文档
  2. 传输的实时图像没有丢帧,图像清晰、流畅,而且延时非常低
  3. 如果你安装了浏览器插件 WebRTC Control,务必要停用
  4. 关于 STUNTURN 不是太明白,有空了再研究

如果能共享音频就可以远程看电影了,期待着 Screego 的不断完善。

参考文档

screego 官网
地址:https://screego.net/#/

screego/server: screen sharing for developers
地址:https://github.com/screego/server

Screego:便捷的共享你的屏幕-荒岛
地址:https://lala.im/7430.html

screego 安装配置教程:一款简单易用的屏幕共享工具 - 简书
地址:https://www.jianshu.com/p/3a2c01577c7c

STUN, TURN, ICE介绍-阿里云开发者社区
地址:https://developer.aliyun.com/article/243540