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/06/15 17:36] – ischluff | cdn [2022/07/11 12:09] – andi | ||
---|---|---|---|
Line 1: | Line 1: | ||
= CDN | = CDN | ||
- | Diese Doku beschreibt unser Live-Streaming CDN, wie es seit dem 34C3 existiert. | ||
- | == Architektur | + | < |
+ | |||
+ | Diese Doku beschreibt unser Live-Streaming CDN, wie es seit dem 34C3 existiert. | ||
+ | |||
+ | Das File-CDN wird dagegen auf der Seite [[software: | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | == The Future of Streaming | ||
+ | |||
+ | Um die Redundanz zu erhöhen und das Management zu vereinfachen werden die Streams auf dem CDN über ein verteiltes System verwaltet welches auf Consul aufbaut. | ||
+ | |||
+ | Damit ist es möglich redundante CDN-Master sowie redundante Ingest-Server zu betreiben und trotzdem ein Web-Backend mit allen relevanten Streaming-Infos bereitzustellen. Weiterhin könnte die Streaming-Webseite intelligent auf das Vorhandensein/ | ||
+ | |||
+ | 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 zu v1 | ||
+ | ==== 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. | ||
+ | |||
+ | |||
+ | == Ursprüngliche | ||
Die CDN-Kaskade hat 5 Stufen: Master-Encoder, | Die CDN-Kaskade hat 5 Stufen: Master-Encoder, | ||
Line 136: | Line 172: | ||
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 209: | ||
* 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 238: | ||
Die RTMP-Url für den endpunkt '' | Die RTMP-Url für den endpunkt '' | ||
- | Wichtig: nur streams die mit s oder q beginnen werden automatisch in die verschiedenen formate für den playout transkodiert. | + |