Screego是什么?

Screego(https://screego.net/ )是一款基于WebRTC技术的网页版屏幕共享工具。它有以下几个特点:

  • 🌐 不需要安装任何客户端,用浏览器就能使用
  • 🚀 传输延迟低,画面清晰度高
  • 👥 支持多人同时查看屏幕共享
  • 🆓 完全免费开源,不用注册账号

如何安装Screego

Screego的安装非常简单,提供了Docker镜像和各个平台的二进制文件。接下来是使用Docker来部署

安装步骤

创建Screego专用目录

mkdir -p /home/screego/{data,config}
cd /home/screego

创建docke-compose.yml 文件

version: '3.8'

services:
screego:
image: ghcr.io/screego/server:1.12.0
container_name: screego
restart: unless-stopped
environment:
SCREEGO_PORT: 5050
SCREEGO_EXTERNAL_IP: 192.168.1.18 # 必须是公网ip
SCREEGO_SERVER_ADDRESS: "0.0.0.0:5050"
SCREEGO_TURN_ENABLED: "true"
SCREEGO_SERVER_TLS: "false" # 因为 Nginx 已处理 TLS
SCREEGO_AUDIO: "true"
SCREEGO_SECRET: "自行替换为强密钥" #使用openssl 生成
SCREEGO_TRUST_PROXY_HEADERS: "true" # 因Nginx反代必须启用
SCREEGO_USERS_FILE: "/data/users.txt"

# 设置音频编解码器(添加这行)
SCREEGO_CODECS: "opus,vp8,h264"


# 安全配置(可选)
# SCREEGO_SECRET_KEY: "your-secure-key"
# SCREEGO_TRUST_PROXY_HEADERS: "true"

volumes:
- ./data:/data
- ./config:/config
ports:
- "5050:5050" # HTTP服务
- "3478:3478" # TURN TCP
- "3478:3478/udp" # TURN UDP
- "50000-50200:50000-50200/udp" # TURN中继端口
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5050/health"]
interval: 30s
timeout: 10s
retries: 3
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
  • 生成随机秘钥替换SCREEGO_SECRET的值

    openssl rand -base64 32
  • 服务器防火墙需要开放以下端口
    5050/tcp,3478/tcp,3478/udp,50000-50200/udp

  • 要使用TURN服务器和登录功能必须添加用户认证文件配置(需在 ./data/users.txt 创建用户)

    docker run --rm ghcr.io/screego/server:1.12.0 hash --name "user1" --pass "yourpassword" > data/users.txt

配置文件配置

在config文件夹中新建server.confog

# ./config/server.config (通过卷挂载到容器内)
# 高级配置项(覆盖Docker环境变量)

# TURN详细配置
SCREEGO_TURN_PORT_RANGE=50000:50200
SCREEGO_TURN_DENY_PEERS=192.168.0.0/16,10.0.0.0/8

# 媒体优化
SCREEGO_AUDIO=true
SCREEGO_CODECS=opus,vp8,h264

# 认证管理
SCREEGO_AUTH_MODE=all
SCREEGO_USERS_FILE=/data/users.txt # 用户文件存储位置

# 会话管理
SCREEGO_SESSION_TIMEOUT_SECONDS=86400 # 24小时
SCREEGO_CLOSE_ROOM_WHEN_OWNER_LEAVES=true

# 日志与监控
SCREEGO_LOG_LEVEL=debug
SCREEGO_PROMETHEUS=true

Nginx反向代理配置

server {
listen 443 ssl;
server_name your-domain.com;

ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;

location / {
proxy_pass http://screego:5050;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

# WebSocket支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}

运行

docker-compose.yml目录下运行

docker-compose up -d

修改配置需要重新运行

docker-compose down
docker-compose up -d

等容器启动完成之后就可以通过访问了,访问地址就Nginx设置的域名

Screego搭建.png

无法共享音频问题

Windows系统设置

检查系统隐私设置

  • 打开 Windows 设置 → 隐私 → 麦克风
  • 确保“允许应用访问麦克风”为开启状态
  • 在“选择可以访问麦克风的应用”中,确保 Microsoft Edge 被允许

立体声混音设置

  • 右键任务栏音量图标 → 打开声音设置 → 声音控制面板(右侧相关设置)
  • 在“录制”选项卡中,右键点击空白处并勾选“显示禁用的设备”
  • 如果看到“立体声混音”,右键启用它
  • 右键“立体声混音” → 属性 → 在“侦听”选项卡中取消“侦听此设备”
  • 在“级别”选项卡中,调整音量到合适位置

设置默认设备

  • 在声音设置中,将“立体声混音”设为默认设备(右键 → 设为默认设备)