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
Last revisionBoth sides next revision
32c3:cdn [2015/12/30 21:35] – [Media Köln] meiseevents:32c3:cdn [2017/06/21 10:41] – ToDo checked: passwörter auf den relays noch einmal durchwechseln z.B. icecast 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>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