DeadSFU: dead-simple broadcasting and video transmission.
- Feature List
- Quick Install
- Quick Start: OBS / FTL ingress
- Quick Start: Browser Ingress
- Getting Support
- Email Newsletter
- Contributing
- Getting Latest Updates
- Compile From Source
- DeadSFU Thanks
- Dead-Simple Usage: Meticulously crafted for ease-of-use, scalability, and performance.
- Large Scale WebRTC Broadcasting: SFUs can be easily cascaded to create clusters of hundreds of servers.
- Cloud Native Docker: Ready to go Docker images for cloud-native broadcasting clusters.
- Auto Scaling Compatible: HTTP signalling is compatible with most cluster-autoscaling methods.
- OBS Broadcasting: Send from OBS to DeadSFU for doing WebRTC broadcasting.
- Browser Viewer: Browser viewer enables watching broadcasts.
- Simple Ingress HTTPS Signalling: WHIP compatible: Send an Offer-SDP, get an Answer-SDP, and you're publishing!
- Simple Egress HTTPS Signalling: WHIP-like: Send an Offer-SDP, get an Answer-SDP, and you're receiving!
- Designed For Fault Tolerance: Single-peer-ingress design for practical large-scale fault-tolerant containerized broadcasting.
- Kubernetes/Docker capable: Designed for Kubernetes or Swarm broadcasting clusters.
- HTTP load balancer compatible: Designed standard HTTP load balancer compatibility on egress.
- Dead-simple Install: Use a one-liner curl & untar command to prepare to broadcast.
- No Runtime Dependencies: DeadSFU is a single binary that you can run locally or in production with a single command.
Don't see a feature on this list? Check the issue track to see if your feature is there, if not open a new issue. We need your input to make our roadmap, and we'd love to hear from you.
Linux Intel/AMD64
curl -sL https://github.com/x186k/deadsfu/releases/latest/download/deadsfu-linux-amd64.tar.gz | tar xvz
Linux ARM64
curl -sL https://github.com/x186k/deadsfu/releases/latest/download/deadsfu-linux-arm64.tar.gz | tar xvz
macOS Intel CPU
curl -sL https://github.com/x186k/deadsfu/releases/latest/download/deadsfu-darwin-amd64.tar.gz | tar xvz
macOS Apple CPU
curl -sL https://github.com/x186k/deadsfu/releases/latest/download/deadsfu-darwin-arm64.tar.gz | tar xvz
Docker Pull
docker pull x186k/deadsfu
Windows
curl https://github.com/x186k/deadsfu/releases/latest/download/deadsfu-windows-amd64.zip -sLo tmp && tar -xvf tmp && del tmp
Remove the --ftl-key args if you are not using OBS/FTL.
Linux/macOS
./deadsfu --http :8080 --html internal --ftl-key 123-abc
Windows
.\\deadsfu --http :8080 --html internal --ftl-key 123-abc
Docker Host Networking (recommended) Only Works on Linux
docker run --name deadsfu --pull always --network host x186k/deadsfu --http :8080 --html internal --ftl-key 123-abc
Host networking can ease WebRTC connecting in difficult environments. The SFU can share the true host IP addresses.
Docker Forwarded Ports (Mac,Win,Linux)
docker run --name deadsfu --pull always -p 8080:8080 -p 8084:8084/udp -p 8084:8084/tcp x186k/deadsfu --http :8080 --html internal --ftl-key 123-abc
Author's email is cameron@cameronelliott.com
Slack link: Slack Invite Link
If you have an idea to share, please post it on the Github discussions board.
If you have found a bug, please file an issue on Github issues
If you have suggestions or ideas, please submit an issue or create a discussion. Your ideas are wanted!
You can update by simply re-running the curl
and tar
commands again as in the install directions.
For Docker, simply re-pull the latest image.
The deadsfu repo includes git submodules.
So, use the --recursive
flag when checking out. Git submodules.
You need a version of Go greater than 1.16, we recommend 1.17 or later.
Clone the main repo:
git clone --recursive https://github.com/x186k/deadsfu
Change dir:
cd deadsfu
Build with Go:
go build .
- Sean Dubois Creator of Pion
- Luis Orlando Pion help code
- Juliusz Chroboczek Pion help and code
- Matt Holt Creator of Caddy
- Francis Lavoie Caddy maintainer
- Alex Williams Louper founder, inspiration.
- Sayan Bhattacharya Louper developer.
- Charles Surett Early user.
- Alex Peder Project supporter.
- Akash Early user.