= 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 * relay register wieder an den Start bringen * Hetzner anschreiben * https Konfiguration im ansible finalisieren * Install-Image auf Jessie aktualisieren * Preseed-Skript entsprechend anpassen * ansible checken * nginx-rtmp, (icecast), etc. für Jessie bauen * Wie viel Platz hat relive das letzte jahr gebraucht? * Box von atze anfragen * mal mit equi ueber netzwerk reden * Konzept für Erzeugung von WEBM und Subformate === bis 20.12.2015 * Zertifikate für alle geplanten relays besorgen * Grundinstallation der Relays vornehmen * lb1.het.c3voc.de auf jessie aktualisieren * webseite auf lb1.fem + lb1.het deployen * Plattenplatz auf den 1und1-Kisten erweitern für unsere Anforderungen * live.dus auf jessie neu installieren * Encoding-Tests mit verschiedenen Bandbreiten * CDN Monitoring-Skripte anpassen/überarbeiten * HAProxy multi process stats * lb monitoring client einbinden * HAProxy accesslogs noch ohne ip adressen * HAProxy: »SSLv3 support requested but unavailable.« oO === am 26.12.2015 * 0/0 Einträge aus iptables-Regeln entfernen * icecast_relay_on_demand in group_vars/relays auf 0 setzen * nach TODO imm ansible suchen * passwörter auf den relays noch einmal durchwechseln z.B. icecast * usa in colo deployen: 10ge public, 1ge public, 1ge intern * fempeg in colo deployen: 10ge public, 1ge intern * router vm mit sicherheits patches aktualisieren * usa root passwort auf das keypass pw ändern * subtitles vm auf usa deployen. br-pbl auf 1ge public interface bereits vorhanden === am 27.12.2015 * 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 == Bandbreitenbedarf === Video 2x 1mbit H264 HQ 2x 1mbit WebM ---------------- ~ 5Mbit * 4 = 25Mbit pro edge relay === Audio 2x 128kbit Mp3 2x 96kbit Opus -------------- ~ 0.5 Mbit * 5 = 2,5Mbit === HD 2x 3Mbit H264 (geschätzt) ------------ ~ 6Mbit * 1 = 6Mbit === Icecast 2x 3Mbit Webm 2x 1mbit WebM 2x 128kbit Mp3 2x 96kbit Opus --------------- 6Mbit + 2Mbit + 0.5 * 5 = 43Mbit pro edge relay === Nginx 2x 3Mbit HD 2x 1mbit SD --------------- 6Mbit + 2Mbit * 5 = 40Mbit pro edge relay == Relay register Bandbreitenmessungen 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 == 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?|}}