Softwarewise haben wir viele Möglichkeiten durch unser vorgeschlagenes Setup. Alles ist kombinierbar und kann untereinander arbeiten und sich oft selbst managen (z.B. in low bandwith Situationen).
Grundlegend
Wir haben mehrere Modis geplant:
Normal
In diesem Mode wird das Video/Audio Signal normal übertragen und der Streamcompanion läuft normal.
Low Bitrate
Das Signal wird angepasst auf eine tiefere Bitrate, damit immer noch ein Okay Stream möglich ist. Streamcompanion kriegt weniger Live-Bildupdates.
Ultra Low Bitrate 1 (Schwarzweiss)
In diesem Mode wird das Bild/Audio nur noch in Schwarzweiss gestreamt um die mindeste an Daten zu verwenden damit man euch noch sehen kann mit Sound. Der Streamcompanion kriegt keine Live-Bildupdates. Es werden keine Emotes abgefragt (falls neue kommen). Allgemein wird auf das nötigste geschalten.
Ultra Low Bitrate 2 (Sound)
In diesem Mode wird nur noch die Audio gestreamt. Der Streamcompanion kriegt keine Live-Bildupdates. Es werden keine Emotes abgefragt (falls neue kommen). Allgemein wird auf das nötigste geschalten.
Client
Signal encoden und senden
Hierbei haben wir zwei Optionen die Signale zu converten. Entweder via ffmpeg, oder gstreamer.
FFmpeg wird sogut wie von allem und jedem verwendet. Egal ob kleiner einzeln Anwender oder YouTube, Twitch, Netflix. Gstreamer ist eine ähnliche alternative dazu. Hier müssen wir testen was wir verwenden wollen und für uns am besten passt.
GPS
Wie bereits im Router Artikel erwähnt, hat der Router eine API, mit welcher wir den aktuellen Standort abfragen können. Diesen können wir verwenden um folgende Sachen z.B. zu machen:
- Automatische Serverprovisionierung
- Automatische Optimierungen bzgl. der Simkarte
- Falls das Handy ausfällt, haben wir ein Backup
- Eigene Maps für die Community mit Delay obv.
Extern
Allgemein würden wir auf Cloudanbieter setzen. Tendenziell AWS.
Dabei würden wir Streamingserver und VMs automatisch, je nach Bedarf starten und stoppen lassen. Das hat den effekt, dass wir sehr kosteneffektiv arbeiten können und keine monatlichen kosten anfallen wie z.B. bei LRT und/oder Speedify.
Panel
Wir würden dir einen Streamcompanion machen welcher auf minimalen Datenverkehr ausgelegt ist, wenns darauf ankommt.
Niklas hat vor langer Zeit mal einen Draft mitten in der Nacht gemacht. Dieser wird natürlich nochmal überarbeitet.
Draft von Niklas
Stand: irgendwann EdelTour 2
- Stream Health Übersicht
- Priorisierte Mod Nachrichten
- Donos und Chat in einer Übersicht
- Einstellungen für die Streaming Unit
Server
https://github.com/bluenviron/mediamtx
https://github.com/zencoder/go-dash
https://github.com/pion/webrtc
https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/what-is-kvswebrtc.html
Stream
Zum Streamen zu Twitch verwenden wir immer noch OBS
https://github.com/obsproject/obs-studio/wiki/launch-parameters