
Broadcast Box是一款基于WebRTC技术的广播工具,旨在实现亚秒级延迟的音视频广播。它设计简洁易用且易于修改,展示了广播领域的前沿技术,支持多视角直播、最新视频编解码及P2P传输,让任何人都能轻松开展低延迟广播。
采用WebRTC替代传统RTMP和HLS协议,实现最快的广播体验,延迟可低至亚秒级,满足实时互动需求。
通过WebRTC支持最新视频编解码器(如AV1),在相同视频质量下可减少50%的带宽需求,提升传输效率。
WebRTC允许在同一会话中上传多个视频流,支持多摄像头视角广播或实时互动视频体验,丰富直播内容形式。
广播者可上传不同质量级别的视频流,无需服务器承担高昂转码成本,同时为观众提供适配体验,平衡成本与质量。
支持OBS等专业广播软件或直接通过浏览器开播,无需复杂的比特率和编解码器配置,新手也能一键启动直播,降低使用门槛。
无需公网IP或端口转发即可广播视频,通过WebRTC的NAT穿越技术,用户可在本地运行OBS并分享视频至全球;也支持P2P拉取其他广播者流,实现亚秒级联流。
适用于需要低延迟实时互动的广播场景,包括:
可直接使用公共实例:b.siobud.com,无需本地部署。
使用OBS广播
打开OBS,进入设置 > 流,配置以下参数:
https://b.siobud.com/api/whip;本地部署填写http://<你的IP>:8080/api/whip(可选)优化延迟至亚秒级:
x264,调谐为zerolatency(零延迟)点击开始推流即可启动广播。
使用GStreamer(命令行)
通过示例脚本广播测试源或摄像头/麦克风输入:
shell# 测试源广播 ./examples/gstreamer-broadcast.nu http://localhost:8080/api/whip testStream1 # 摄像头源广播(需连接摄像头) ./examples/gstreamer-broadcast.nu http://localhost:8080/api/whip testStream1 v4l2
依赖:需安装gstreamer-1.0及good,bad,ugly插件和gst-plugins-rs。
广播内容通过以下方式访问:
StreamTest,公共实例播放地址为https://b.siobud.com/StreamTest;本地实例为http://<你的IP>:8080/StreamTest本地环境(macOS/Windows Docker)
因Docker桌面版运行在NAT环境,需启用UDP复用:
shelldocker run -e UDP_MUX_PORT=8080 -e NAT_1_TO_1_IP=127.0.0.1 -p 8080:8080 -p 8080:8080/udp seaduboi/broadcast-box
访问地址:http://localhost:8080
云服务器(AWS等)
需使用--net=host模式以支持随机UDP端口监听:
shelldocker run --net=host -e INCLUDE_PUBLIC_IP_IN_NAT_1_TO_1_IP=yes seaduboi/broadcast-box
提供自动HTTPS(Let's Encrypt)和自动更新(Watchtower),适合VPS/云服务器快速部署:
shellexport URL=my-server.com
shelldocker-compose up -d
后端可通过以下环境变量自定义配置:
| 环境变量 | 说明 |
|---|---|
DISABLE_STATUS | 禁用状态API |
DISABLE_FRONTEND | 禁用前端服务,仅启用REST API和WebRTC |
HTTP_ADDRESS | HTTP服务器地址 |
NETWORK_TEST_ON_START | 设置为"true"时,启动时检查网络连接性 |
ENABLE_HTTP_REDIRECT | 将HTTP流量重定向到HTTPS |
SSL_CERT | SSL证书路径(使用内置HTTP服务器时) |
SSL_KEY | SSL密钥路径(使用内置HTTP服务器时) |
NAT_1_TO_1_IP | 声明非本地IP(如公网IP),多IP用` |
INCLUDE_PUBLIC_IP_IN_NAT_1_TO_1_IP | 自动配置公网IP到NAT_1_TO_1_IP |
INTERFACE_FILTER | 仅使用指定网络接口进行UDP流量 |
NAT_ICE_CANDIDATE_TYPE | NAT ICE候选类型,默认NAT_1_TO_1_IP覆盖,设为srflx则追加IP |
STUN_SERVERS | STUN服务器列表,用` |
INCLUDE_LOOPBACK_CANDIDATE | 启用回环地址WebRTC流量监听(默认禁用) |
UDP_MUX_PORT_WHEP | WHEP流量的UDP复用端口 |
UDP_MUX_PORT_WHIP | WHIP流量的UDP复用端口 |
UDP_MUX_PORT | 所有UDP流量的复用端口(默认随机端口) |
TCP_MUX_ADDRESS | 通过TCP提供WebRTC流量的地址 |
TCP_MUX_FORCE | 仅通过TCP提供WebRTC流量 |
APPEND_CANDIDATE | 追加ICE代理未生成的候选(NAT_1_TO_1_IP的替代方案,效果较差) |
Docker环境下,Broadcast Box默认启动网络测试,验证WebRTC流量是否可正常建立,若配置错误则服务不启动。
测试启用提示:
consoleNETWORK_TEST_ON_START is enabled. If the test fails Broadcast Box will exit. See the README.md for how to debug or disable NETWORK_TEST_ON_START
测试通过:
consoleNetwork Test passed. Have fun using Broadcast Box
测试失败:
consoleNetwork Test failed. Network Test client reported nothing in 30 seconds Please see the README and join Discord for help
禁用测试:设置环境变量NETWORK_TEST_ON_START=false。
后端暴露以下核心端点:
/api/whip:启动WHIP会话(通过WebRTC广播视频)/api/whep:启动WHEP会话(通过WebRTC播放视频)/api/status:查看所有活动WHIP流状态(可通过DISABLE_STATUS禁用)您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务