All Projects → x186k → deadsfu

x186k / deadsfu

Licence: MIT license
Dead-simple WebRTC broadcasting. From the browser, or your application. Cloud-native and scalable.

Programming Languages

go
31211 projects - #10 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects
SCSS
7915 projects
Makefile
30231 projects

Projects that are alternatives of or similar to deadsfu

Laravel Echo Server
Socket.io server for Laravel Echo
Stars: ✭ 2,487 (+10713.04%)
Mutual labels:  real-time, broadcasting
ripple
Simple shared surface streaming application
Stars: ✭ 17 (-26.09%)
Mutual labels:  real-time, low-latency
soketi
Just another simple, fast, and resilient open-source WebSockets server. 📣
Stars: ✭ 2,202 (+9473.91%)
Mutual labels:  real-time, broadcasting
python-rtmixer
🎤 Reliable low-latency audio playback and recording with Python 🐍
Stars: ✭ 44 (+91.3%)
Mutual labels:  real-time, low-latency
Linux
XanMod: Linux kernel source code tree
Stars: ✭ 310 (+1247.83%)
Mutual labels:  real-time, low-latency
Restoring-Extremely-Dark-Images-In-Real-Time
The project is the official implementation of our CVPR 2021 paper, "Restoring Extremely Dark Images in Real Time"
Stars: ✭ 79 (+243.48%)
Mutual labels:  real-time, low-latency
Werk
High-throughput / low-latency C++ application framework
Stars: ✭ 30 (+30.43%)
Mutual labels:  real-time, low-latency
Xpedite
A non-sampling profiler purpose built to measure and optimize performance of ultra low latency/real time systems
Stars: ✭ 89 (+286.96%)
Mutual labels:  real-time, low-latency
Gcc Nmf
Real-time GCC-NMF Blind Speech Separation and Enhancement
Stars: ✭ 231 (+904.35%)
Mutual labels:  real-time, low-latency
mini-async-log-c
Mini async log C port. Now with C++ wrappers.
Stars: ✭ 69 (+200%)
Mutual labels:  low-latency
protocol
Livepeer protocol
Stars: ✭ 136 (+491.3%)
Mutual labels:  livestreaming
Aresdb
A GPU-powered real-time analytics storage and query engine.
Stars: ✭ 2,814 (+12134.78%)
Mutual labels:  real-time
SPSC Queue
A highly optimized single producer single consumer message queue C++ template
Stars: ✭ 185 (+704.35%)
Mutual labels:  low-latency
reactor-aeron
A reactive driver for Aeron transport (https://github.com/real-logic/aeron)
Stars: ✭ 43 (+86.96%)
Mutual labels:  low-latency
Plotoptix
Data visualisation in Python based on OptiX 7.2 ray tracing framework.
Stars: ✭ 252 (+995.65%)
Mutual labels:  real-time
dxram
A distributed in-memory key-value storage for billions of small objects.
Stars: ✭ 25 (+8.7%)
Mutual labels:  low-latency
Rtm3d
The official PyTorch Implementation of RTM3D and KM3D for Monocular 3D Object Detection
Stars: ✭ 244 (+960.87%)
Mutual labels:  real-time
Covid19 Tracker Cli
A curl-based command line tracker for Novel Coronavirus or COVID-19 pandemic. It Supports terminal for linux and macos, command prompt for windows, and termux for android with real-time updates.
Stars: ✭ 244 (+960.87%)
Mutual labels:  real-time
youtube-livestream-android-app
Livestream to your youtube channel by using this android app. Made using Youtube's live streaming API
Stars: ✭ 18 (-21.74%)
Mutual labels:  livestreaming
overscan
A live coding environment for live streaming video
Stars: ✭ 36 (+56.52%)
Mutual labels:  broadcasting

Dead-simple Scalable WebRTC Broadcasting

DeadSFU: dead-simple broadcasting and video transmission.

HTML tutorial

Quick Links

Feature List

  • 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.

Quick Install

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

Quick Start: OBS / FTL ingress

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

Quick Start: Browser Ingress

Not Yet, file an issue for help

Getting Support

Author's email is [email protected]

Slack link: Slack Invite Link

Email Newsletter

Get the email newletter.

Contributing

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!

Getting Latest Updates

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.

Compile From Source

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 .

DeadSFU Thanks

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].