de:docu:overview

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
de:docu:overview [2020/06/01 21:38] andide:docu:overview [2026/07/26 22:17] (aktuell) – external edit 127.0.0.1
Zeile 1: Zeile 1:
-c3voc in a nutshell - Text deutsch+c3voc in a nutshell - Text deutsch
  
 Da wir uns anscheinend alle irgendwie schwer tun lange Texte zu produzieren hier mal ein anderer Ansatz: Dieser Text basiert auf dem Froscon 2015 Vortrag von derpeter und meise. Die Audiospur wurde von Barbara netterweise transkribiert. Der Videomitschnitt ist unter folgenden URLs abrufbar: Da wir uns anscheinend alle irgendwie schwer tun lange Texte zu produzieren hier mal ein anderer Ansatz: Dieser Text basiert auf dem Froscon 2015 Vortrag von derpeter und meise. Die Audiospur wurde von Barbara netterweise transkribiert. Der Videomitschnitt ist unter folgenden URLs abrufbar:
Zeile 33: Zeile 33:
  
  
-== Einführung+## Einführung
  
 Zunächst wird das Team und unsere Arbeitsbereiche vorgestellt: Zunächst wird das Team und unsere Arbeitsbereiche vorgestellt:
  
-=== Team+### Team
  
 In Köln/Bonn bzw. St. Augustin haben derpeter und meise als das FrOSCon Videoteam angefangen. Aus München (Easterhegg 2010) kam Andi dazu und von der Gulasch Programmiernacht (GPN) in Karlsruhe stieß florolf zu uns. Erstes gemeinsames Projekt in dieser Zusammensetzung und bereits unter dem Label //VOC// war die Aufzeichnung der Vortäge beim [[https://de.wikipedia.org/wiki/Chaos_Communication_Camp|CCCamp]] 2011.  In Köln/Bonn bzw. St. Augustin haben derpeter und meise als das FrOSCon Videoteam angefangen. Aus München (Easterhegg 2010) kam Andi dazu und von der Gulasch Programmiernacht (GPN) in Karlsruhe stieß florolf zu uns. Erstes gemeinsames Projekt in dieser Zusammensetzung und bereits unter dem Label //VOC// war die Aufzeichnung der Vortäge beim [[https://de.wikipedia.org/wiki/Chaos_Communication_Camp|CCCamp]] 2011. 
Zeile 48: Zeile 48:
  
  
-=== Arbeitsbereiche+### Arbeitsbereiche
  
 Wir kümmern uns in den Vortragssälen um den ganzen Audio und Videokram, sprich das die Vorträge aufgenommen, gestreamt und der Mitschnitt veröffentlicht wird. Auf großen CCC Events passiert das manchmal auch per DVB-T, DAB, FM, Teletext, DRM, etc. – was man alles so an Broadcasting Technologien findet.  Wir kümmern uns in den Vortragssälen um den ganzen Audio und Videokram, sprich das die Vorträge aufgenommen, gestreamt und der Mitschnitt veröffentlicht wird. Auf großen CCC Events passiert das manchmal auch per DVB-T, DAB, FM, Teletext, DRM, etc. – was man alles so an Broadcasting Technologien findet. 
Zeile 60: Zeile 60:
  
  
-=== Befreundete Projekte+### Befreundete Projekte
  
 Weiter gibt es um uns herum eine ganze Menge Projekte ohne die das alles nicht so schön wäre. Ganz vornen weg media.ccc.de, das ist die Videoplattform von CCC die unsere primäre Publishing Plattform ist. Kommt ursprünglich aus dem CCC Köln ist aber inzwischen im VOC aufgegangen. Weiter gibt es um uns herum eine ganze Menge Projekte ohne die das alles nicht so schön wäre. Ganz vornen weg media.ccc.de, das ist die Videoplattform von CCC die unsere primäre Publishing Plattform ist. Kommt ursprünglich aus dem CCC Köln ist aber inzwischen im VOC aufgegangen.
Zeile 75: Zeile 75:
  
  
-=== Komplexität+### Komplexität
  
 TODO: Bild Wort-Wolke einbinden TODO: Bild Wort-Wolke einbinden
Zeile 81: Zeile 81:
 Um diesen ganzen Kram zusammen zu bauen braucht man eine ganze Menge verschiedene Software. Wie ich gerade sehe ist das auch nicht die letzte Version davon, da fehlen eigentlich noch ein paar Sachen. Auf vieles davon wird Daniel nachher noch einmal eingehen, nur mal so ein Überblick, was man eigentlich, , wir hören oft: "Ach mit meinem Mac ist das ganz einfach, das macht man an und es geht. " Wir brauchen ein bisschen mehr Software.  Um diesen ganzen Kram zusammen zu bauen braucht man eine ganze Menge verschiedene Software. Wie ich gerade sehe ist das auch nicht die letzte Version davon, da fehlen eigentlich noch ein paar Sachen. Auf vieles davon wird Daniel nachher noch einmal eingehen, nur mal so ein Überblick, was man eigentlich, , wir hören oft: "Ach mit meinem Mac ist das ganz einfach, das macht man an und es geht. " Wir brauchen ein bisschen mehr Software. 
  
-=== Signal Flow+### Signal Flow
  
 {{ ::signalpath.png?direct|}} {{ ::signalpath.png?direct|}}
Zeile 93: Zeile 93:
 Dann gibt es das eigentliche VOC, der Raum wo wir alle sitzen, wo wir unser post processing machen und das ganze geht dann einmal als Livestream raus auf der rechten Seite und wird dann noch einmal per FTP usw. veröffentlicht. Was jetzt noch fehlt, das gab es damals noch nicht, es gibt dann noch das Publishing über YouTube, den wir vor einem Jahr hinzugefügt haben. Dann gibt es das eigentliche VOC, der Raum wo wir alle sitzen, wo wir unser post processing machen und das ganze geht dann einmal als Livestream raus auf der rechten Seite und wird dann noch einmal per FTP usw. veröffentlicht. Was jetzt noch fehlt, das gab es damals noch nicht, es gibt dann noch das Publishing über YouTube, den wir vor einem Jahr hinzugefügt haben.
  
-== Hardware+## Hardware
 Nachdem ihr jetzt so grob wisst was wir machen, gehen wir auf die einzelnen Bereiche etwas genauer ein. In diesem Abschnitt geht es zunächst einmal um die verwendeten Geräte, sprich PCs, Kameras, Mixer usw. Nachdem ihr jetzt so grob wisst was wir machen, gehen wir auf die einzelnen Bereiche etwas genauer ein. In diesem Abschnitt geht es zunächst einmal um die verwendeten Geräte, sprich PCs, Kameras, Mixer usw.
  
  
-=== Computer+### Computer
  
 Was nimmt man da eigentlich so an Hardware, wir haben lange herumgeschaut, irgendwie Anforderungen bei Video ist immer viel CPU Leistung und da ein Teil der Hardware in den Sälen steht, möglichst leise Hardware. Auf dem obersten Bild seht ihr unsere Encoder cubes, die stehen hier auch neben jeder Kamera. Das sind recht potente Maschinen die dafür dann aber auch FullHD Video in Echtzeit streamen können. Neu im Grunde sind die Minions, das sind so kleine so große Bricks nennt sich das Produkt glaube ich. Ja, machen CPU-mäßig fast so viel weg wie die großen Encoder, sind vor allem für unsere Master encodings notwendig. Hier war ja jetzt leider wieder alles SD, weil wir noch keinen passenden Videomischer für HD hier hatten. Auf Events wie dem Camp haben wir alles in HD produziert, da werden dann all die Maschinen voll ausgelastet und zeitnah die Releases hinzu bekommen. Ja, und wenn man dann so Streams verteilen will braucht man auch streaming Server. Wir haben da vor zwei Jahren Xeon Maschinen gekauft, mit denen wir mit einem 10 Gb Interface so um die 8K 8000 voll HD Viewer ausliefern können. D.h., da geht schon einiges. Was nimmt man da eigentlich so an Hardware, wir haben lange herumgeschaut, irgendwie Anforderungen bei Video ist immer viel CPU Leistung und da ein Teil der Hardware in den Sälen steht, möglichst leise Hardware. Auf dem obersten Bild seht ihr unsere Encoder cubes, die stehen hier auch neben jeder Kamera. Das sind recht potente Maschinen die dafür dann aber auch FullHD Video in Echtzeit streamen können. Neu im Grunde sind die Minions, das sind so kleine so große Bricks nennt sich das Produkt glaube ich. Ja, machen CPU-mäßig fast so viel weg wie die großen Encoder, sind vor allem für unsere Master encodings notwendig. Hier war ja jetzt leider wieder alles SD, weil wir noch keinen passenden Videomischer für HD hier hatten. Auf Events wie dem Camp haben wir alles in HD produziert, da werden dann all die Maschinen voll ausgelastet und zeitnah die Releases hinzu bekommen. Ja, und wenn man dann so Streams verteilen will braucht man auch streaming Server. Wir haben da vor zwei Jahren Xeon Maschinen gekauft, mit denen wir mit einem 10 Gb Interface so um die 8K 8000 voll HD Viewer ausliefern können. D.h., da geht schon einiges.
  
  
-=== Eventcases+### Eventcases
  
 In den Sälen steht darüber weiterhin natürlich Kamera, haben wir eben schon gesagt, wir haben da momentan eine Panasonic und auf diesem Event ganz neu eine JVC Kamera. Das coole an der JVC Kamera ist, dass die direkt einen IP Stream, Strom erzeugen kann, sodass man sich ein bisschen Encoder Hardware sparen kann. Das ist ja noch sehr experimentell, wir hoffen damit vor allem ein Set-up zusammenzustellen was deutlich günstiger ist um es auch zum Beispiel den kleinen Erfas oder Gruppen die selber so etwas machen wollen, mal so ein Plan auszulegen, hier wenn ihr das und das kauft, das funktioniert zusammen und das ist nicht so unendlich teuer. In den Sälen steht darüber weiterhin natürlich Kamera, haben wir eben schon gesagt, wir haben da momentan eine Panasonic und auf diesem Event ganz neu eine JVC Kamera. Das coole an der JVC Kamera ist, dass die direkt einen IP Stream, Strom erzeugen kann, sodass man sich ein bisschen Encoder Hardware sparen kann. Das ist ja noch sehr experimentell, wir hoffen damit vor allem ein Set-up zusammenzustellen was deutlich günstiger ist um es auch zum Beispiel den kleinen Erfas oder Gruppen die selber so etwas machen wollen, mal so ein Plan auszulegen, hier wenn ihr das und das kauft, das funktioniert zusammen und das ist nicht so unendlich teuer.
Zeile 110: Zeile 110:
  
  
-=== Framegrabber+### Framegrabber
  
 Framegrabben ist eigentlich die Königsdisziplin des ganzen, weil die Leute kommen mit den verschiedensten Notebooks, muss man sagen die Macs sind eigentlich ganz handlich, weil die sich alle gleich verhalten. Linux Desktops verhalten sich generell alle unterschiedlich und Hausanlagen sind dann noch einmal ganz speziell. Solange man nur den Beamer hinten dran steckt, ist alles gut, aber so Anlagen wie hier möchten ganz bestimmte Auflösungen mit ganz bestimmten Herzraten... Framegrabben ist eigentlich die Königsdisziplin des ganzen, weil die Leute kommen mit den verschiedensten Notebooks, muss man sagen die Macs sind eigentlich ganz handlich, weil die sich alle gleich verhalten. Linux Desktops verhalten sich generell alle unterschiedlich und Hausanlagen sind dann noch einmal ganz speziell. Solange man nur den Beamer hinten dran steckt, ist alles gut, aber so Anlagen wie hier möchten ganz bestimmte Auflösungen mit ganz bestimmten Herzraten...
Zeile 116: Zeile 116:
  
  
-=== Video Mischer+### Video Mischer
  
 Die zweite große Frage: wie mischt man eigentlich Videobild? Da gibt es eben den Ansatz Software. Wir haben dieses Jahr auch wieder und auf der FrOSCon bisher immer DVSwitch eingesetzt, das ist ein Open Source Tool, was von der DebConf kommt,  von den Debian Leuten. Eigentlich eine super tolle, super stabile Software, krankt aber daran, dass dabei auf SD Videoschluss ist, da sie auf raw DV Video aufbauen, das gibt es eben nur in SD und wenn man dann zu HD möchte muss man sich eben überlegen, was nehme ich für einen Container. Da bietet sich dann so etwas wie MPEG TS an. Da müssen dann direkt wieder viel mehr CPU darauf geworfen werden. Alles sehr schwierig, deshalb haben wir bisher, wenn wir HD produziert haben auf geliehene kommerzielle Video Switcher zurückgegriffen, das waren bis jetzt immer verschiedene Television Studio Versionen von Black Magic oder von Panasonic die MX100. Das sind schöne Geräte, aber Kosten richtig viel Geld und ist eben für jemanden, der sagt er möchte mal eben ein Video Set-up bauen eigentlich keine Option und für uns auch nicht, bei Black Magic ist eben ein Programm, man hat eine schwarze Box auf dem Tisch und die macht irgendetwas. Weder Firmware noch sonst irgendetwas ist Open Source oder dokumentiert, es gibt da manchmal so ein bisschen API, manchmal aber auch nicht und da möchten wir eigentlich, hoffen wir bald, mit einer Alternative fertig zu sein, kommt dann im Ausblick. Die zweite große Frage: wie mischt man eigentlich Videobild? Da gibt es eben den Ansatz Software. Wir haben dieses Jahr auch wieder und auf der FrOSCon bisher immer DVSwitch eingesetzt, das ist ein Open Source Tool, was von der DebConf kommt,  von den Debian Leuten. Eigentlich eine super tolle, super stabile Software, krankt aber daran, dass dabei auf SD Videoschluss ist, da sie auf raw DV Video aufbauen, das gibt es eben nur in SD und wenn man dann zu HD möchte muss man sich eben überlegen, was nehme ich für einen Container. Da bietet sich dann so etwas wie MPEG TS an. Da müssen dann direkt wieder viel mehr CPU darauf geworfen werden. Alles sehr schwierig, deshalb haben wir bisher, wenn wir HD produziert haben auf geliehene kommerzielle Video Switcher zurückgegriffen, das waren bis jetzt immer verschiedene Television Studio Versionen von Black Magic oder von Panasonic die MX100. Das sind schöne Geräte, aber Kosten richtig viel Geld und ist eben für jemanden, der sagt er möchte mal eben ein Video Set-up bauen eigentlich keine Option und für uns auch nicht, bei Black Magic ist eben ein Programm, man hat eine schwarze Box auf dem Tisch und die macht irgendetwas. Weder Firmware noch sonst irgendetwas ist Open Source oder dokumentiert, es gibt da manchmal so ein bisschen API, manchmal aber auch nicht und da möchten wir eigentlich, hoffen wir bald, mit einer Alternative fertig zu sein, kommt dann im Ausblick.
  
-=== Audio+### Audio
  
 TODO: Folie war beim Froscon Talk noch nicht drin. TODO: Folie war beim Froscon Talk noch nicht drin.
  
  
-== Postprocessing+## Postprocessing
  
 {{ :postpros.png?direct |}} {{ :postpros.png?direct |}}
Zeile 137: Zeile 137:
 Hier sieht man dann noch mal unten am Rand, das sieht man auch direkt welche Worker gerade ein File encoden. In diesem Fall sind das unsere Encoder in der Cloud. Mit HD wurde es langsam schwierig alle Releases auf dem Event zu encoden, man müsste echt viel Rechner hierher schleppen. Deswegen können wir dankenswerterweise im momentan auf einen großen ESX Cluster zugreifen, der im Internet steht, dort nutzen wir gerade sechs VMs mit jeweils zwölf Xeon CPUs und die rechnen dann schön alle Subformate. Leider ist WebM immer noch ein bottle neck, weil das nicht multithreadet, da kann man so viele CPUs gegen werfen wie man will. Das ist auch unser großes Problem, die WebMs dauern immer länger. Hier sieht man dann noch mal unten am Rand, das sieht man auch direkt welche Worker gerade ein File encoden. In diesem Fall sind das unsere Encoder in der Cloud. Mit HD wurde es langsam schwierig alle Releases auf dem Event zu encoden, man müsste echt viel Rechner hierher schleppen. Deswegen können wir dankenswerterweise im momentan auf einen großen ESX Cluster zugreifen, der im Internet steht, dort nutzen wir gerade sechs VMs mit jeweils zwölf Xeon CPUs und die rechnen dann schön alle Subformate. Leider ist WebM immer noch ein bottle neck, weil das nicht multithreadet, da kann man so viele CPUs gegen werfen wie man will. Das ist auch unser großes Problem, die WebMs dauern immer länger.
  
-=== Publishing+### Publishing
  
 Wenn dann alles encodet ist, dann wird es gepublisht: Wie gesagt unsere primäre Plattform ist media.ccc.de, wir publishen mittlerweile aber auch auf YouTube, zum einen weil der Kram sowieso auf YouTube landet und dann lieber von uns mit richtigen Metadaten und richtiger Lizenz, als wenn irgendjemand das macht. Zum anderen aber auch weil viele Leute Endgeräte haben in denen ein YouTube Client eingebaut ist, aber leider kein media.ccc.de Client. Das müssten dann die Anwesenden hier noch ändern und noch ein paar mehr Clients programmieren. So sieht das dann bei media.ccc.de im Backend aus. Die Software dafür ist auch auf Github, könnt ihr euch auch einfach alles selber aufsetzen, naja einfach aber, könnt ihr euch selber aufsetzen. Dort teilt man das ganze in Konferenzen ein und legt dazu Events an. Es hat auch eine API,  wir machen das natürlich nicht von Hand sondern unsere Skripte machen das gegen die API von media.ccc.de und dort hinterlegt man einfach alle Metadaten die man zu einem Talk haben möchte, klickt dann auf publishing und dann sieht das ungefähr so aus. Das sind jetzt, ein Event ist quasi eine Veranstaltung und das sind jetzt quasi alle Veranstaltungen die zu dem Zeitpunkt zu dem ich den Screenshot gemacht habe zuletzt releast wurden. Die Liste ist mittlerweile ziemlich lang und sobald das dadurch ist landet es dann im Frontend und ihr könnt das auf der Webseite anschauen. media.ccc.de generiert dazu direkt auch Torrent Files und ist selber das CDN dahinter, Webseed für die Torrents. Das ganze CDN selber sind drei Server die uns gehören plus eine ganze Menge Uniserver die auf ihren FTP es Platz spenden, dazu wird Daniel glaube ich noch was sagen.  Wenn dann alles encodet ist, dann wird es gepublisht: Wie gesagt unsere primäre Plattform ist media.ccc.de, wir publishen mittlerweile aber auch auf YouTube, zum einen weil der Kram sowieso auf YouTube landet und dann lieber von uns mit richtigen Metadaten und richtiger Lizenz, als wenn irgendjemand das macht. Zum anderen aber auch weil viele Leute Endgeräte haben in denen ein YouTube Client eingebaut ist, aber leider kein media.ccc.de Client. Das müssten dann die Anwesenden hier noch ändern und noch ein paar mehr Clients programmieren. So sieht das dann bei media.ccc.de im Backend aus. Die Software dafür ist auch auf Github, könnt ihr euch auch einfach alles selber aufsetzen, naja einfach aber, könnt ihr euch selber aufsetzen. Dort teilt man das ganze in Konferenzen ein und legt dazu Events an. Es hat auch eine API,  wir machen das natürlich nicht von Hand sondern unsere Skripte machen das gegen die API von media.ccc.de und dort hinterlegt man einfach alle Metadaten die man zu einem Talk haben möchte, klickt dann auf publishing und dann sieht das ungefähr so aus. Das sind jetzt, ein Event ist quasi eine Veranstaltung und das sind jetzt quasi alle Veranstaltungen die zu dem Zeitpunkt zu dem ich den Screenshot gemacht habe zuletzt releast wurden. Die Liste ist mittlerweile ziemlich lang und sobald das dadurch ist landet es dann im Frontend und ihr könnt das auf der Webseite anschauen. media.ccc.de generiert dazu direkt auch Torrent Files und ist selber das CDN dahinter, Webseed für die Torrents. Das ganze CDN selber sind drei Server die uns gehören plus eine ganze Menge Uniserver die auf ihren FTP es Platz spenden, dazu wird Daniel glaube ich noch was sagen. 
  
-== Live streaming+## Live streaming
  
 Gerade im CCC Umfeld ist, sind die Anzahl der Veranstaltungen in den letzten Jahren so dermaßen explodiert, dass man es eigentlich überhaupt nicht mehr schafft auf allen Veranstaltungen vor Ort zu sein, trotzdem gibt es immer wieder Talks die dann doch interessant sind und vielleicht hat man dann zu Hause doch noch Zeit sich ein paar Talks anzuschauen um nicht auf die Releases warten zu müssen und dafür machen wir eigentlich live streaming. Gerade im CCC Umfeld ist, sind die Anzahl der Veranstaltungen in den letzten Jahren so dermaßen explodiert, dass man es eigentlich überhaupt nicht mehr schafft auf allen Veranstaltungen vor Ort zu sein, trotzdem gibt es immer wieder Talks die dann doch interessant sind und vielleicht hat man dann zu Hause doch noch Zeit sich ein paar Talks anzuschauen um nicht auf die Releases warten zu müssen und dafür machen wir eigentlich live streaming.
Zeile 153: Zeile 153:
 HTTP only ist eben gerade für uns auch ganz wichtig, weil die Clients, jeder hat letztendlich mehrere unterschiedliche Devices und HTTP ist eigentlich so das was eigentlich fast alle sprechen und damit ist das für uns auch nicht so, der Support dafür ist deutlich besser am Endgerät. HTTP only ist eben gerade für uns auch ganz wichtig, weil die Clients, jeder hat letztendlich mehrere unterschiedliche Devices und HTTP ist eigentlich so das was eigentlich fast alle sprechen und damit ist das für uns auch nicht so, der Support dafür ist deutlich besser am Endgerät.
  
-=== HLS (h264/aac)+### HLS (h264/aac)
  
 * Encoding stream has the rightTM encoding already * Encoding stream has the rightTM encoding already
Zeile 167: Zeile 167:
  
  
-=== WebM+### WebM
  
 * (single) CPU bound * (single) CPU bound
Zeile 187: Zeile 187:
 Die Frage war wie das eigentlich mit dem thread Parameter ist, den man ffmpeg angeben kann.  ffmpeg muss man dazu sagen ist in gewisser Weise bei bestimmten Optionen sehr penibel an welcher Stelle sie stehen im Kommandaufruf und das Problem war bei WebM, dass nur bestimmte Teile des encoding Prozesses multithreaded sein können. D.h., dass hängt eben auch ganz stark vom Content ab, der da rein kommt und nach unserer Erfahrung bringt das nicht so viel.  man kann das irgendwie setzen, diesen Threadparameter aber in der Regel, in der Regel kann ffmpeg eben doch automatisch schon erkennen wie viel CPUs habe ich eigentlich, nutze ich die dann alle oder nicht. Wir haben auch schon diverse Tests gemacht um wirklich perfekten, boah jetzt threaded der wie bei h264 über alle möglichen Kerne. Ja, das geht bei WebM leider nicht so schön.  die libvpx ist da nicht so toll. Wir verwenden da auch letztendlich VP8 für die Livestreams, aktuell ist ja VP9, aber die Implementierung dafür ist bei weitem nicht production ready und für uns nutzbar. Wir hatten  auch in letzter Zeit Erfahrungen gesammelt mit entsprechender Hardwareencoder die WebM teilweise in Hardware encoden, aber die Ergebnisse davon waren auch eher ernüchternd.  nicht nur dass die Qualität geringer ist, auch das Handling, wie man damit der CPU spricht ist nicht so optimal. Die Frage war wie das eigentlich mit dem thread Parameter ist, den man ffmpeg angeben kann.  ffmpeg muss man dazu sagen ist in gewisser Weise bei bestimmten Optionen sehr penibel an welcher Stelle sie stehen im Kommandaufruf und das Problem war bei WebM, dass nur bestimmte Teile des encoding Prozesses multithreaded sein können. D.h., dass hängt eben auch ganz stark vom Content ab, der da rein kommt und nach unserer Erfahrung bringt das nicht so viel.  man kann das irgendwie setzen, diesen Threadparameter aber in der Regel, in der Regel kann ffmpeg eben doch automatisch schon erkennen wie viel CPUs habe ich eigentlich, nutze ich die dann alle oder nicht. Wir haben auch schon diverse Tests gemacht um wirklich perfekten, boah jetzt threaded der wie bei h264 über alle möglichen Kerne. Ja, das geht bei WebM leider nicht so schön.  die libvpx ist da nicht so toll. Wir verwenden da auch letztendlich VP8 für die Livestreams, aktuell ist ja VP9, aber die Implementierung dafür ist bei weitem nicht production ready und für uns nutzbar. Wir hatten  auch in letzter Zeit Erfahrungen gesammelt mit entsprechender Hardwareencoder die WebM teilweise in Hardware encoden, aber die Ergebnisse davon waren auch eher ernüchternd.  nicht nur dass die Qualität geringer ist, auch das Handling, wie man damit der CPU spricht ist nicht so optimal.
  
-=== CDN-Streaming+### CDN-Streaming
  
  unser Setup, was ich gerade vorgestellt habe, zusammen mit dem haproxy, nginx RTMP und Icecast das scalt auch in großen Installationen wie jetzt zum Beispiel auf dem Chaos Communication Congress. Das ist eine klassische CDN Infrastruktur. Diese roten Punkte sind letztendlich sogenannte Master-Server wo keine Clients darauf connecten und damit verteilt man erst einmal eine breite Anzahl an Streams. Die entsprechenden grünen Blubbel hier sind edge relays wo letztendlich wirklich die Clients darauf connecten. Sieht man das? Ja sieht man.   unser Setup, was ich gerade vorgestellt habe, zusammen mit dem haproxy, nginx RTMP und Icecast das scalt auch in großen Installationen wie jetzt zum Beispiel auf dem Chaos Communication Congress. Das ist eine klassische CDN Infrastruktur. Diese roten Punkte sind letztendlich sogenannte Master-Server wo keine Clients darauf connecten und damit verteilt man erst einmal eine breite Anzahl an Streams. Die entsprechenden grünen Blubbel hier sind edge relays wo letztendlich wirklich die Clients darauf connecten. Sieht man das? Ja sieht man. 
Zeile 195: Zeile 195:
  
  
-=== ReLive+### ReLive
  
 Bei ReLive ist das schon wieder etwas anders. Es kommt darauf an wie viel Speicher meine Kisten so haben, damit nicht permanent von der Platte gelesen werden muss, aber dazu  kann ich gleich nochmal etwas sagen. Bei ReLive ist das schon wieder etwas anders. Es kommt darauf an wie viel Speicher meine Kisten so haben, damit nicht permanent von der Platte gelesen werden muss, aber dazu  kann ich gleich nochmal etwas sagen.
Zeile 206: Zeile 206:
  
  
-== Operation+## Operation
  
 Eine ganze Menge Kisten, ihr habt das jetzt am CDN gesehen für das Post Processing usw. brauchen wir sehr viele Server, sehr viele Informationen und wir wollen eben auch auf dem Event nicht völlig am Rad drehen und dafür haben wir uns ein paar Sachen gebaut, unter anderem einen Notification Bot für das IRC.  sehr viele Sachen organisatorisch laufen bei uns über das IRC ab und dafür haben wir uns "viri" gebaut der auf MQTT-Basis funktioniert und da gibt es eben unterschiedliche Consumer, Provider.  Eine ganze Menge Kisten, ihr habt das jetzt am CDN gesehen für das Post Processing usw. brauchen wir sehr viele Server, sehr viele Informationen und wir wollen eben auch auf dem Event nicht völlig am Rad drehen und dafür haben wir uns ein paar Sachen gebaut, unter anderem einen Notification Bot für das IRC.  sehr viele Sachen organisatorisch laufen bei uns über das IRC ab und dafür haben wir uns "viri" gebaut der auf MQTT-Basis funktioniert und da gibt es eben unterschiedliche Consumer, Provider. 
Zeile 216: Zeile 216:
  
  
-=== Monitoring+### Monitoring
  
 Je mehr Kisten man hat umso weniger will man da manuell schauen was geht da eigentlich gerade ab. Wir setzen darauf Icinga und auf Graphite. Kann man sich schöne lustige Graphen zusammen malen. Wer da Interesse hat an den Configs usw. kommt auf uns zu. Je mehr Kisten man hat umso weniger will man da manuell schauen was geht da eigentlich gerade ab. Wir setzen darauf Icinga und auf Graphite. Kann man sich schöne lustige Graphen zusammen malen. Wer da Interesse hat an den Configs usw. kommt auf uns zu.
  
-== Zukunft/WiP+## Zukunft/WiP
  
 Full HD Video mischen ist ein Herausforderung: Es gibt ein - zwei Open Source Lösungen die sich dem Problem schon gewidmet haben. Allerdings ist es bei Video immer, das macht man dann so an und dann sieht das irgendwie toll aus und dann guckt man am Ende des Tages noch einmal rein und stellt fest, dass es Audio leider komplett asynchron gelaufen ist und da gibt es dann auch so Effekte, die ich technisch gar nicht so richtig erklären kann.  es ist nicht damit getan das Audio zu verschieben sondern, die Zeitvorstellungen verschiedener Audio und Videoquellen sind einfach unterschiedlich. Es gibt da, Quarze sind unterschiedlich schnell, Timestamps sind, manche Leute haben da andere Vorstellung was ein Timestamp denn sein könnte und das führt eben bei allem was wir uns bisher angeschaut haben eigentlich dazu, dass man es, man könnte das eben nach jedem Tag neu starten, am besten alle Geräte und dann hätte man die Chance, dass es irgendwie geil ist.  Full HD Video mischen ist ein Herausforderung: Es gibt ein - zwei Open Source Lösungen die sich dem Problem schon gewidmet haben. Allerdings ist es bei Video immer, das macht man dann so an und dann sieht das irgendwie toll aus und dann guckt man am Ende des Tages noch einmal rein und stellt fest, dass es Audio leider komplett asynchron gelaufen ist und da gibt es dann auch so Effekte, die ich technisch gar nicht so richtig erklären kann.  es ist nicht damit getan das Audio zu verschieben sondern, die Zeitvorstellungen verschiedener Audio und Videoquellen sind einfach unterschiedlich. Es gibt da, Quarze sind unterschiedlich schnell, Timestamps sind, manche Leute haben da andere Vorstellung was ein Timestamp denn sein könnte und das führt eben bei allem was wir uns bisher angeschaut haben eigentlich dazu, dass man es, man könnte das eben nach jedem Tag neu starten, am besten alle Geräte und dann hätte man die Chance, dass es irgendwie geil ist. 
  
-=== Voctomix+### Voctomix
  
 Aber letztendlich haben wir nichts gefunden, was funktioniert und dann hat sich einer aus unserem Team netterweise an den Rechner gesetzt und angefangen voctomix zu programmieren, das ist jetzt noch der Arbeitstitel, ob die Anwendung hinterher so heißen wird. Aber letztendlich haben wir nichts gefunden, was funktioniert und dann hat sich einer aus unserem Team netterweise an den Rechner gesetzt und angefangen voctomix zu programmieren, das ist jetzt noch der Arbeitstitel, ob die Anwendung hinterher so heißen wird.
Zeile 235: Zeile 235:
  
  
-=== HDMI2USB.tv+### HDMI2USB.tv
  
 Das leidige Problem des framegrabben hatte ich auch eben beschrieben, alle Framegrabber die es gibt sind komplett closed Hard- und closed Software und auch da gibt es aus der Richtung der TimVideos-Leute: Das hdmi2usb Projekt. Ich erzähle jetzt nur was man mir darüber gesagt wurde, richtig Ahnung habe ich davon nicht. Der Entwickler sitzt auch dort oben. Da ist eben auch die Idee auf einem FPGA Board, wenn ich es richtig verstanden habe mittlerweile sogar Opernhardware ist, HDMI in und out selber zu machen inklusive der Kommunikation mit dem Beamer.  das was man so unter, wenn man im Videobereich unterwegs ist, EDID. EDID ist letztendlich eine I2C-Geschichte worüber sich Beamer, Laptop und was man sonst noch so dazwischen steckt unterhalten und das muss man eben mal in die eigene Hand bekommen, weil diese ganzen Kisten die man kaufen kann funktionieren einfach nicht. Das leidige Problem des framegrabben hatte ich auch eben beschrieben, alle Framegrabber die es gibt sind komplett closed Hard- und closed Software und auch da gibt es aus der Richtung der TimVideos-Leute: Das hdmi2usb Projekt. Ich erzähle jetzt nur was man mir darüber gesagt wurde, richtig Ahnung habe ich davon nicht. Der Entwickler sitzt auch dort oben. Da ist eben auch die Idee auf einem FPGA Board, wenn ich es richtig verstanden habe mittlerweile sogar Opernhardware ist, HDMI in und out selber zu machen inklusive der Kommunikation mit dem Beamer.  das was man so unter, wenn man im Videobereich unterwegs ist, EDID. EDID ist letztendlich eine I2C-Geschichte worüber sich Beamer, Laptop und was man sonst noch so dazwischen steckt unterhalten und das muss man eben mal in die eigene Hand bekommen, weil diese ganzen Kisten die man kaufen kann funktionieren einfach nicht.
Zeile 242: Zeile 242:
  
  
-== Q&A+## Q&A
  
 Das ist zweimal, die Streams haben eine deutlich geringere Qualität vom Encoding Profil her und eine geringere Bandbreite als die finalen Releases, der Stream hat wie Daniel eben gesagt hat so um die 3 MBit und ist eben ein streaming Profil. Die Release Files haben, was haben die, ich weiß es gar nicht auswendig, eine deutlich höhere Qualität. Das ist auch ein Grund warum wir diese Streamdumps nicht so gern mögen, weil die Streamdumps sehen einfach schlechter aus als die finalen recordings, sie spielen nicht auf allen Geräten, weil die Profile eben für Streams ausgelegt sind und nicht für Player. Das was wir als Releases releasen funktioniert unserer Erfahrung nach auf so ziemlich allem was irgendwie h264 abspielen kann, das ist bei Streams nicht immer genauso. Das ist zweimal, die Streams haben eine deutlich geringere Qualität vom Encoding Profil her und eine geringere Bandbreite als die finalen Releases, der Stream hat wie Daniel eben gesagt hat so um die 3 MBit und ist eben ein streaming Profil. Die Release Files haben, was haben die, ich weiß es gar nicht auswendig, eine deutlich höhere Qualität. Das ist auch ein Grund warum wir diese Streamdumps nicht so gern mögen, weil die Streamdumps sehen einfach schlechter aus als die finalen recordings, sie spielen nicht auf allen Geräten, weil die Profile eben für Streams ausgelegt sind und nicht für Player. Das was wir als Releases releasen funktioniert unserer Erfahrung nach auf so ziemlich allem was irgendwie h264 abspielen kann, das ist bei Streams nicht immer genauso.
  
  
-== Kontakt und URLs+## Kontakt und URLs
  
 * https://c3voc.de ist unsere Webseite, unter https://c3voc.de/wiki findet ihr unser Wiki. Da ist, das Wiki ist aufgeteilt in öffentlich und privaten Bereich, das geht da weniger darum dass wir Leuten die Information vorenthalten wollen, als dass da dann auch zum Beispiel auf Events auch einmal Configs oder Passwörter temporär stehen. Sprich, wenn ihr da irgendwo merkt ihr steht vor einer Wand, dass eine Information dir haben wollt, die ihr haben wollt, die nicht da ist, dann ist das vermutlich keine Absicht. Einfach eine Mail schreiben.  * https://c3voc.de ist unsere Webseite, unter https://c3voc.de/wiki findet ihr unser Wiki. Da ist, das Wiki ist aufgeteilt in öffentlich und privaten Bereich, das geht da weniger darum dass wir Leuten die Information vorenthalten wollen, als dass da dann auch zum Beispiel auf Events auch einmal Configs oder Passwörter temporär stehen. Sprich, wenn ihr da irgendwo merkt ihr steht vor einer Wand, dass eine Information dir haben wollt, die ihr haben wollt, die nicht da ist, dann ist das vermutlich keine Absicht. Einfach eine Mail schreiben. 
  • de/docu/overview.1591047528.txt.gz
  • Zuletzt geändert: 2020/06/01 21:38
  • von andi