Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
32c3:cdn [2015/12/30 21:35] – [Media Köln] meiseevents:32c3:cdn [2017/06/21 10:41] (current) – ToDo checked: usa root passwort auf das keypass pw ändern derpeter
Line 1: Line 1:
 += 32C3 - Streaming CDN
 +
 +== Eckdaten
 +
 +* nginx → HLS, icecast → webm, opus, mp3
 +* HTTPS support auf allen Edge-Relays
 +* 2x haproxy für Loadbalancing und Webseite
 +* Relive in HD
 +* fempeg als Media mirror
 +
 +[[https://c3voc.de/32c3/register|Relay register]]
 +[[https://nyx.n621.de/~florolf/fud/32c3-streams.jpg|Transcoding]]
 +
 +== Fails
 +
 +* missed ''proxy_ignore_headers   Cache-Control;'' on master servers
 +* icecast soft limit for ''max open files'' was overwritten by init script
 +* not enough bandwith calculated (fnord news show drops)
 +* Mail ''Passwords in pad?''
 +* disk space on media mirrors (fempeg)
 +* m3u8 gziped on chaching server
 +
 +== Hardware-Anforderungen
 +
 +* 2 CPU-Cores (mit AES-NI Support)
 +* mind. 2GB Ram
 +* mind. 100GB Festplatte
 +* Netzwerk:
 +** 1x GBit Netzwerkinterface mit IPv4 und IPv6 Konnektivität
 +** am besten ohne Firewall, zur Not mit freischaltung für Ports: 22 (SSH), 80 (HTTP), 443 (HTTPS), 1935 (RTMP), 8000 (Icecast)
 +
 +== Installer-Image
 +
 +http://c3voc.de/share/32c3/relay/
 +
 +== Checkliste und Meilensteine
 +
 +=== bis 01.12.2015
 +
 +* <todo @meise #meise:2015-11-28>relay register wieder an den Start bringen</todo>
 +* <todo @florolf #meise:2015-11-22 #florolf:2015-11-22>Hetzner anschreiben</todo>
 +* <todo #meise:2015-12-09>https Konfiguration im ansible finalisieren</todo>
 +* <todo #florolf:2015-12-01>Install-Image auf Jessie aktualisieren</todo>
 +  * <todo #florolf:2015-12-01>Preseed-Skript entsprechend anpassen</todo>
 +  * <todo #derpeter:2017-06-21>ansible checken</todo>
 +* <todo #florolf:2015-12-01>nginx-rtmp, (icecast), etc. für Jessie bauen</todo>
 +* <todo #derpeter:2017-06-21>Wie viel Platz hat relive das letzte jahr gebraucht?</todo>
 +* <todo @meise #meise:2015-11-28>Box von atze anfragen</todo>
 +* <todo @florolf #derpeter:2017-06-21>mal mit equi ueber netzwerk reden</todo>
 +* <todo #derpeter:2017-06-21>Konzept für Erzeugung von WEBM und Subformate</todo>
 +
 +
 +
 +=== bis 20.12.2015
 +
 +* <todo #meise:2015-12-26>Zertifikate für alle geplanten relays besorgen</todo>
 +* <todo #meise:2015-12-26>Grundinstallation der Relays vornehmen</todo>
 +* <todo #meise:2015-12-05>lb1.het.c3voc.de auf jessie aktualisieren</todo>
 +* <todo #meise:2015-12-10>webseite auf lb1.fem + lb1.het deployen</todo>
 +* <todo #meise:2015-12-07>Plattenplatz auf den 1und1-Kisten erweitern für unsere Anforderungen</todo>
 +* <todo #meise:2015-12-26>live.dus auf jessie neu installieren</todo>
 +* <todo @ischluff #derpeter:2017-06-21>Encoding-Tests mit verschiedenen Bandbreiten</todo>
 +* <todo @ischluff #derpeter:2017-06-21>CDN Monitoring-Skripte anpassen/überarbeiten</todo>
 +* <todo #meise:2015-12-10>HAProxy multi process stats</todo>
 +* <todo #meise:2015-12-10>lb monitoring client einbinden</todo>
 +* <todo #derpeter:2017-06-21>HAProxy accesslogs noch ohne ip adressen</todo>
 +* <todo #derpeter:2017-06-21>HAProxy: »SSLv3 support requested but unavailable.« oO</todo>
 +
 +
 +=== am 26.12.2015
 +* <todo #meise:2015-12-27>0/0 Einträge aus iptables-Regeln entfernen</todo>
 +* <todo #meise:2015-12-27>icecast_relay_on_demand in group_vars/relays auf 0 setzen</todo>
 +* <todo #derpeter:2017-06-21>nach TODO imm ansible suchen</todo>
 +* <todo #derpeter:2017-06-21>passwörter auf den relays noch einmal durchwechseln z.B. icecast</todo>
 +* <todo #meise:2015-12-26>usa in colo deployen: 10ge public, 1ge public, 1ge intern</todo>
 +* <todo #meise:2015-12-26>fempeg in colo deployen: 10ge public, 1ge intern</todo>
 +* <todo #meise:2015-12-26>router vm mit sicherheits patches aktualisieren</todo>
 +* <todo #derpeter:2017-06-21>usa root passwort auf das keypass pw ändern</todo>
 +* <todo #meise:2015-12-26>subtitles vm auf usa deployen. br-pbl auf 1ge public interface bereits vorhanden</todo>
 +
 +=== am 27.12.2015
 +* <todo #meise:2015-12-29>fempeg zertifikat für mirror.32c3.c3voc.de erstellen und hinterlegen, dns record setzen und mirror zum mb hinzufügen, rsync von www-data aktivieren</todo>
 +
 +== Bandbreitenbedarf 
 +
 +=== Video
 +<code>
 +2x   1mbit H264 HQ
 +2x   1mbit WebM
 +   ----------------
 +     ~ 5Mbit * 4 = 25Mbit pro edge relay
 +</code>
 +
 +=== Audio
 +
 +<code>
 +2x 128kbit Mp3
 +2x 96kbit  Opus
 +  --------------
 +   ~ 0.5 Mbit * 5 = 2,5Mbit
 +</code>
 +
 +=== HD
 +
 +<code>
 +2x 3Mbit H264 (geschätzt)
 +   ------------
 +   ~ 6Mbit * 1 = 6Mbit
 +</code>
 +
 +
 +=== Icecast
 +
 +<code>
 +2x 3Mbit   Webm
 +2x 1mbit   WebM
 +2x 128kbit Mp3
 +2x 96kbit  Opus
 +   ---------------
 +   6Mbit + 2Mbit + 0.5 * 5 = 43Mbit pro edge relay
 +</code>
 +
 +=== Nginx
 +
 +<code>
 +2x 3Mbit   HD
 +2x 1mbit   SD
 +   ---------------
 +   6Mbit + 2Mbit * 5 = 40Mbit pro edge relay   
 +</code>
 +== Relay register Bandbreitenmessungen
 +
 +<code>
 +ruby measure_bw.rb 31.172.30.138 195.54.164.164 46.4.3.195 141.24.40.53 217.160.107.68 74.208.155.193 5.9.196.94
 +</code>
 +
 +== Stats
 +
 +=== Audio listeners
 +
 +{{:32c3:cdn:32c3_music_listener.png?600|}}
 +
 +=== Edges
 +
 +{{:32c3:cdn:32c3_edge_relays.png?600|}}
 +
 +
 +{{:32c3:cdn:32c3_edge_relays_max_bw.png?600|}}
 +
 +
 +=== Relive
 +
 +{{:32c3:cdn:32c3_relive_usage.png?600|}}
 +
 +
 +== Master
 +
 +{{:32c3:cdn:32c3_master_rx.png?600|}}
 +
 +{{:32c3:cdn:32c3_master_tx.png?600|}}
 +
 +=== Viewer
 +
 +{{:32c3:cdn:32c3_viewers_per_transport.png?600|}}
 +
 +{{:32c3:cdn:32c3_viewers_per_quality.png?600|}}
 +
 +{{:32c3:cdn:32c3_viewers_per_hall.png?600|}}
 +
 +=== Media Köln
 +
 +{{:32c3:cdn:32c3_media_koeln_if_eth1-week.png|}}
 +
 +{{:32c3:cdn:32c3_media_koeln_diskstats_throughput-week.png?|}}
 +
 +{{:32c3:cdn:32c3_media_koeln_diskstats_utilization-week.png?|}}
 +
 +{{:32c3:cdn:32c3_media_koeln_if_eth1-week.png?|}}
 +
 +{{:32c3:cdn:32c3_media_koeln_if_eth1-year.png?|}}
 +
 +{{:32c3:cdn:32c3_media_koeln_memory-week.png?|}}
  
  • events/32c3/cdn.txt
  • Last modified: 2017/06/21 10:41
  • by derpeter