Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| cdn [2020/07/02 20:51] – andi | cdn [2022/04/27 21:58] – [Repo Links] andi | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| = CDN | = CDN | ||
| - | Diese Doku beschreibt unser Live-Streaming CDN, wie es seit dem 34C3 existiert. Anfang 2020 wurde das Verteilen der Transcoder-Prozesse automatisiert, | ||
| + | < | ||
| + | |||
| + | Diese Doku beschreibt unser Live-Streaming CDN, wie es seit dem 34C3 existiert. | ||
| + | |||
| + | Das File-CDN wird dagegen auf der Seite [[software: | ||
| + | </ | ||
| == Architektur | == Architektur | ||
| Die CDN-Kaskade hat 5 Stufen: Master-Encoder, | Die CDN-Kaskade hat 5 Stufen: Master-Encoder, | ||
| Line 136: | Line 141: | ||
| 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 178: | ||
| * 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 211: | Line 207: | ||
| Die RTMP-Url für den endpunkt '' | Die RTMP-Url für den endpunkt '' | ||
| - | Wichtig: nur streams | + | |
| + | == The Future of Streaming? | ||
| + | Um die Redundanz zu erhöhen und das Management zu vereinfachen ist geplant die Streams auf dem CDN zukünftig über ein verteiltes System zu managen welches auf consul aufbaut. | ||
| + | |||
| + | Damit wäre es möglich redundante CDN-Master sowie redundante Ingest-Server zu betreiben und trotzdem ein Web-Backend | ||
| + | |||
| + | 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: | ||
| + | |||
| + | === Änderungen zum Jetzt-Stand | ||
| + | ==== 1. Kein Fanout auf dem Master-Relay mehr | ||
| + | Transcoder pushen direkt die fertig gemuxten Client-Streams auf 1-N Master-Relays. Damit brauchen die Transcoder potentiell etwas mehr Bandbreite, dafür wird der Prozess vereinfacht weil der Master Format-unabhängig verteilen kann. | ||
| + | |||
| + | Weiterhin kann damit die Latenz um mindestens ein Keyframe-Intervall (3s), vermutlich sogar mehr gesenkt werden. | ||
| + | |||
| + | ==== 2. Keine WebM-Icecast Streams mehr | ||
| + | Um die Zahl der gepushten Streams zu reduzieren (siehe 1) werden die alten Icecast-Streams abgeschaltet. Seit 2 Jahren sind diese nicht mehr default in der Streaming-Webseite. Als Vorbereitung hierzu wurde Frühling 2020 der Legacy-Tab entfernt. | ||
| + | |||
| + | Audio-Only Streams über Icecast bleiben aber vermutlich erhalten genauso wie das interne Relaying über Icecast. | ||
| + | |||