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:

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

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

Zum weiteren Researchen:

#irlsetup #software