# TG Live Game Stream Service Mac 摄像头/屏幕推流到 Cloudflare Stream 的脚本工具。 ## 前置要求 ### 安装 FFmpeg ```bash brew install ffmpeg ``` ### 获取推流地址 1. 打开 `tg-live-game-web` 前端 2. 进入 **Cloudflare Stream → 直播管理** 3. 点击 **创建直播** 4. 获取 **RTMPS 推流地址** 和 **推流密钥** ## 快速开始 ### 1. 配置推流参数 ```bash # 复制配置文件 cp config/stream.env.example config/stream.env # 编辑配置,填入推流密钥 vim config/stream.env ``` ### 2. 查看可用设备 ```bash chmod +x scripts/*.sh ./scripts/list-devices.sh ``` 输出示例: ``` [AVFoundation indev @ 0x...] [0] FaceTime HD Camera [AVFoundation indev @ 0x...] [1] Capture screen 0 [AVFoundation indev @ 0x...] [0] MacBook Pro Microphone ``` ### 3. 开始推流 **摄像头推流:** ```bash ./scripts/stream-camera.sh ``` **屏幕推流:** ```bash ./scripts/stream-screen.sh ``` ### 4. 停止推流 按 `Ctrl+C` 或运行: ```bash ./scripts/stop-stream.sh ``` ## 配置说明 | 参数 | 说明 | 推荐值 | |------|------|--------| | `RTMP_URL` | 推流地址 | `rtmps://live.cloudflare.com:443/live` | | `STREAM_KEY` | 推流密钥 | 从 Cloudflare 获取 | | `VIDEO_DEVICE` | 摄像头编号 | `0` | | `AUDIO_DEVICE` | 麦克风编号 | `0` | | `RESOLUTION` | 分辨率 | `1280x720` | | `FPS` | 帧率 | `30` | | `BITRATE` | 视频码率 | `2500k` | ## 推荐码率 | 分辨率 | 帧率 | 推荐码率 | |--------|------|----------| | 720p (1280x720) | 30fps | 2500k | | 720p (1280x720) | 60fps | 3500k | | 1080p (1920x1080) | 30fps | 4500k | | 1080p (1920x1080) | 60fps | 6000k | ## 常见问题 ### 权限问题 首次运行时,macOS 会提示授权摄像头和麦克风访问,请点击允许。 如果没有提示,可以在 **系统偏好设置 → 安全性与隐私 → 隐私 → 摄像头/麦克风** 中手动授权终端。 ### 推流失败 1. 检查网络连接 2. 确认推流密钥正确 3. 确认 Cloudflare Stream 服务已开通 4. 查看 FFmpeg 错误输出 ### 画面卡顿 - 降低分辨率或码率 - 检查网络上传带宽 - 关闭其他占用网络的应用 ## 文件结构 ``` tg-live-game-stream-service/ ├── scripts/ │ ├── list-devices.sh # 列出可用设备 │ ├── stream-camera.sh # 摄像头推流 │ ├── stream-screen.sh # 屏幕推流 │ └── stop-stream.sh # 停止推流 ├── config/ │ ├── stream.env.example # 配置模板 │ └── stream.env # 实际配置(需创建) └── README.md ```