Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revisionLast revisionBoth sides next revision | ||
cdn [2020/03/17 14:31] – [CDN] ischluff | cdn [2024/01/29 00:19] – ischluff | ||
---|---|---|---|
Line 1: | Line 1: | ||
= CDN | = CDN | ||
- | Diese Doku beschreibt unser Live-Streaming CDN, wie es seit dem 34C3 existiert. | ||
- | == Architektur | + | < |
- | Die CDN-Kaskade hat 5 Stufen: Master-Encoder, | + | This documentation describes our Livestreaming CDN as of 2024. |
+ | |||
+ | The File-CDN for media.ccc.de is described on [[software: | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | == The Future of Streaming | ||
+ | |||
+ | For redundancy and ease of use the CDN is managed by a distributed system built on consul. | ||
+ | |||
+ | Damit ist es möglich redundante | ||
+ | |||
+ | Ein weiterer Vorteil des angedachten Setups sind deutlich geringere Latenz durch den fehlenden Fanout, sowie deutlich schnellere Stream-Restarts durch aktive Benachrichtigung der Transcoder. | ||
+ | |||
+ | === Übersicht | ||
+ | {{drawio> | ||
+ | |||
+ | ==== Repo Links | ||
+ | * Stream-api, Upload-Proxy, | ||
+ | * rtmp-auth daemon: https:// | ||
+ | * Transcoding-Script: | ||
+ | |||
+ | == Architecture | ||
+ | The CDN-Cascade has 6 stages: Master-Encoder, Ingest, Transcoder, Fanout, Master-Relays | ||
{{: | {{: | ||
=== 1. Master-Encoder | === 1. Master-Encoder | ||
+ | The master stream encoding is created near the stage on the encoder PC running voctomix or on with other videoencoder for third party streams. | ||
+ | The master encoding contains a 1080p25 video signal. | ||
Das Master-Encoding entsteht auf dem encoder-cube im Saal aus dem Ausgabesignal des Voctomix. Das Master-Encoding enthält den Mix als 1080p25 in h264 sowie die Slides als 1080p5 in h264 mit bis zu drei Audiospuren in AAC (Native, Translated, Translated-2). Wahlweise können die Übersetzerspuren sowie die Slide-Spur weggelassen werden. Alle Spuren werden in einem Matroska-Container verpackt. | Das Master-Encoding entsteht auf dem encoder-cube im Saal aus dem Ausgabesignal des Voctomix. Das Master-Encoding enthält den Mix als 1080p25 in h264 sowie die Slides als 1080p5 in h264 mit bis zu drei Audiospuren in AAC (Native, Translated, Translated-2). Wahlweise können die Übersetzerspuren sowie die Slide-Spur weggelassen werden. Alle Spuren werden in einem Matroska-Container verpackt. | ||
Line 136: | Line 161: | ||
Die endgültigen Stream-URLs für einen Beispielstream sX sind dann wie folgt: | Die endgültigen Stream-URLs für einen Beispielstream sX sind dann wie folgt: | ||
- | MPEG-DASH (Multi-Qualität + Multi-Lang) | + | MPEG-DASH (VPx Multi-Qualität + Multi-Lang) |
* http:// | * http:// | ||
- | HLS (Multi-Qualität + Multi-Lang) | + | HLS (h.264 Multi-Qualität + Multi-Lang) |
- | * http:// | + | * http:// |
- | * http://cdn.c3voc.de/ | + | |
- | VPx-HD: | + | Moar HLS |
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | Legacy | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
- | VPx-SD: | + | Legacy |
* http:// | * http:// | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
- | VPx-Slides: | + | Legacy |
* http:// | * http:// | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
- | |||
- | h264-HD: | ||
- | * http:// | ||
- | * http:// | ||
- | * http:// | ||
- | |||
- | h264-SD: | ||
- | * http:// | ||
- | * http:// | ||
- | * http:// | ||
- | |||
- | h264-Slides: | ||
- | * http:// | ||
- | * http:// | ||
- | * http:// | ||
Audio-MP3: | Audio-MP3: | ||
Line 182: | Line 198: | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
- | |||
== Loadbalancer | == Loadbalancer | ||
- | Neben den Transport- und Edge-Relays gibt es noch zwei Loadbalancer: | + | Neben den Transport- und Edge-Relays gibt es noch drei Loadbalancer: |
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
- | Diese sind sowohl für die Domains '' | + | Diese sind sowohl für die Domains '' |
=== streaming.media.ccc.de | === streaming.media.ccc.de | ||
Line 202: | Line 218: | ||
== RTMP Ingest | == RTMP Ingest | ||
Für Spezialanwendungen (z.B. Cam-Only Streaming im Fritz-Studio) existieren die RTMP-Endpunkte '' | Für Spezialanwendungen (z.B. Cam-Only Streaming im Fritz-Studio) existieren die RTMP-Endpunkte '' | ||
- | Die Push-Targets lauten '' | + | Die Push-Targets lauten '' |
Achtung: Aufgrund der langen rtmp-Timeouts in ffmpeg kann es bis zu 40 Sekunden dauern, bis die Streams auftauchen und weitere 30 Sekunden, bis alle Formate zur Verfügung stehen. Keine Ungeduld. | Achtung: Aufgrund der langen rtmp-Timeouts in ffmpeg kann es bis zu 40 Sekunden dauern, bis die Streams auftauchen und weitere 30 Sekunden, bis alle Formate zur Verfügung stehen. Keine Ungeduld. | ||
+ | |||
+ | === Dynamische endpunkte mit rtmp-auth | ||
+ | RTMP Endpunkte können unter https:// | ||
+ | |||
+ | Die RTMP-Url für den endpunkt '' | ||
+ | |||
+ |