Skip to content

shigde/sfu

Repository files navigation

Shig Instance

!!Attention!!

I'm currently doing a refactoring to make the code more readable. The Main branch is currently broken. The latest (running) version is available in branch: https://github.com/shigde/sfu/tree/running-main-v1


Shig is a federated service designed to distribute and replicate live streams among Fediverse instances. It's built upon the WHIP/WHEP approach for both inbound and outbound streams. Through an ActivityPub integration, Shig can follow other Fediverse services and receive updates on live stream activities.

"live-stream"

Features

Feature Develop State Release
Endpoints
WHIP/WHEP (Lobby) finish
WHIP/WHEP (Instances) testing
WHIP/WHEP (Static Files) develop
Mute/Unmute testing
WebRTC to RTMP develop
WebRTC to HLS planned
Bandwidth Estimation
Receiver/Sender Reports planned
Simulcast planned
FEC planned
Activity Pub
Fallow PeerTube finish
Fallow Channel finish
Fallow Shig Instance planned
Fallow Remote PeerTube testing
OAuth between Services planned
Deployment
Docker planned

Develop States: planed | develop | testing | finish

Documentaion

Quick Start

Run Shig Instance

make run

Run with some Data

Normally, the SFU (Shig instance) listens for data from other Fediverse instances. However, to facilitate development, you could start the SFU with an included SQLite database. Run inside the SFU project

mv shig-dev.db shig.db

Now you can start the SFU with some data.

Build

make build

Build Docker Container for Shig Instance

make build-container

Build with Docker

make docker-build

Build Docker Container for Shig Instance

make docker-build-container

Build Shig CLT

export DOCKER_DEFAULT_PLATFORM=linux/amd64
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp shig-builder make build-clt-linux

Monitoring

Requirement

please install grafana loki docker plugin

docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions

Start Develop Monitoring

make monitor

Funded by

Logo of the German Ministry for Education and Research            Logo of the Prototype Fund            Logo of the Open Knowledge Foundation Germany

Releases

No releases published

Packages

No packages published

Languages