Vorträge/Recording-Workflow: Unterschied zwischen den Versionen

Aus Stratum 0
Wechseln zu:Navigation, Suche
K (Audio: ffmpeg-syntax aus dem block rausgezogen)
K (History: wurde damals gleich wieder zurück verschoben, siehe https://stratum0.org/mediawiki/index.php?title=Vortr%C3%A4ge/Recording-Workflow/alt&action=history)
 
Zeile 151: Zeile 151:
  
 
== History ==
 
== History ==
* 2014 wurde der alte Inhalt dieser Seite nach [[Vorträge/Recording-Workflow/alt]] verschoben.
 
 
* 2020 wurde der alte Inhalt dieser Seite nach [[Vorträge/Recording-Workflow/alt2020]] verschhoben.
 
* 2020 wurde der alte Inhalt dieser Seite nach [[Vorträge/Recording-Workflow/alt2020]] verschhoben.

Aktuelle Version vom 16. Februar 2020, 20:28 Uhr

Am Anfang – Januar 2012, zwei Wochen nach Einzug in Space 1.0 – war ein grütziger Beamer (Epson EMP3000, "Die Kanone", 640x480), ein DV-Camcorder und ein Daniel Bohrer der sich drum gekümmert hat, dass wir auch heute noch auf Aufzeichnungen zurückblicken können von einem Haufen an Entitäten, die ihr Wissen teilen wollten.

Später – ab 2014 und zum Anfang des Space 2.0 – kam dann Sintox dazu und hat zum Einen durch ein Crowdfunding für besseres Audio-Aufnahme-Equipment gesorgt, andererseits auch einen Workflow für OBS eingeführt. Dies hat zu einer wesentlichen Verbesserung bei Audio- und Bildqualität geführt, brachte aber als neues Problem mit, dass der Präsentationsrechner auch aufzeichnen musste. Bei uns zeigen jedoch häufig auch Entitäten Dinge von ihren eigenen Endgeräten, die Benutzung eines Präsentationsrechners skalierte nicht lang.

Im Sommer 2015 gab es auf dem Chaos Communication Camp einen Workshop zu Vortragsaufzeichnung in Hackerspaces, wo wir uns mit anderen Spaces kurzgeschlossen haben. Unmittelbar ist daraus zwar nichts hervorgegangen, aber mittelfristig darauf aufbauend haben wir versucht, ein wenig beim VOC abzugucken.

Seit einigen Jahren werden die Aufzeichnungen größtenteils von larsan durchgeführt.

Der aktuelle Standardworkflow wird auf dieser Seite beschrieben, dazu Verworfenes erwähnt, Probleme aufgeführt und Pläne für die Zukunft vorgestellt.

Aktueller Workflow

An einem Vortragsabend wird zunächst der Chillraum ein Speakersessel neben der Leinwand positioniert und die Spacekiste ins Debian gebooted.

Aufnahme

Audio

  • In Speakernähe wird ein Laptop (Herbert) mit einem der Samson Meteor Mikrofone (auf Schaumstoff aufgestellt) aufgebaut, die Aufnahme erfolgt in Audacity.

Screencapture

  • Vom Speakerendgerät geht ein HDMI-Kabel zunächst zu einem HDMI-Splitter, von dort zum Einen via HDMI zum Verstärker und weiter zum Beamer, zum Anderen in den HDMI-Input einer Android-TV-Box
  • Die Android-TV-Box macht effektiv nichts anderes als das HDMI-Signal durchzuschleifen, hat aber den Vorteil, dass sie durchgehend ein definiertes HDMI-Signal am Output erzeugt, auch wenn der Speakerlaptop gerade abgezogen wurde. Zudem fungiert sie als Scaler mit niedriger Latenz.
  • Das Outputsignal von der Android-TV-Box geht dann via HDMI-Kabel in eine Blackmagic DeckLink Mini Recorder PCIe-Karte in der Spacekiste.
  • Auf der Spacekiste liegt ein ffmpeg in das Support für die DeckLink-Karte mit einkompiliert wurde.
  • Theoretisch kann hiermit direkt der Input weggeschrieben werden. Aus historischen Gründen nimmt das Signal aber derzeit noch einen Extraweg über einen nginx mit rtmp-plugin (ebenfalls auf der Spacekiste, startet automatisch) und wird erst danach weggespeichert, dafür kann das wegspeichern überall im Netzwerk passieren.
    • rtmp-Statusseite: http://192.168.178.185:8080/stat
    • ffmpeg-Einzeiler auf der Spacekiste um den Decklink-Input wegzustreamen:
      • ffmpeg_voc -v verbose -f decklink -i 'DeckLink Mini Recorder' -an -c:v libx264 -pix_fmt yuv420p -preset veryfast -crf 25 -f flv rtmp://192.168.178.185:1935/stream/input
    • ffmpeg-Einzeiler auf beliebiger Maschine im Spacenetz um den rtmp-Stream wegzuspeichern:
      • ffmpeg -i rtmp://192.168.178.185:1935/stream/input -acodec copy -vcodec copy ~/file.mkv
  • Ebenso kann der Stream zur Kontrolle mit beliebigen Videoplayern direkt angezeigt werden, z.B. vlc: <rtmp://192.168.178.185:1935/stream/input

Kameras

  • Eine Speakercam haben wir derzeit noch nicht, das liegt an mehreren Gründen, zum Einen saßen die Vortragenden früher meist mit im Publikum, das hat sich erst in jüngster Zeit zu einem Speakersessel neben der Leinwand, dem Großteil des Publikums gegenübersitzend, geändert, zum Anderen fehlt eine ausreichend lichtstarke Kamera. Dazu kommt der Aufwand, das nachzubearbeiten/reinzuschneiden. Im Ideallfall würde während des Vortrags schon fertig gemischt werden.
  • Als Detailkamera (z.B. zum Zeigen von Hardware) haben wir bisher verschiedene Lösungen gehabt, entweder einen Panasonic HC-V520 Camcoder, oder Androidtelefone mit rtmp-streaming Apps (Streamlabs, RTMP Camera, BitStream,…), relevante Szenen werden dann im Nachhinein mit ins Video geschnitten. Beispiel: Drahflows 3D-Display
  • Eine Raumkamera hatten wir kurzfristig, derzeit nicht mehr. Hat bei A/V-Sync unterstützt, ist aber aufgrund der beengten Verhältnisse nicht für ein Streamingsetup geeignet, man würde ständig Entitäten sehen.

Nachbearbeitung

Audio

In Audacity wird die Audioaufzeichnung nachbearbeitet, in drei Schritten:

  • Störgeräusche
    • Dazu die Anzeige der Aufnahme auf "Spectrogram" stellen (im Dropdown über "Mute" und "Solo") und danach im gleich Dropdown bei den Spectrogram Settings die "Window Size" auf "32768 most narrowband" stellen.
    • Aus bisher noch unbekannten Gründen, gibt es bei einigen Aufnahmen ein Störsignal bei jedem Vielfachen von 1000Hz, diese können leicht mit einem Nyquist-Befehl schmalbandig rausgeschnitten werden
      • (notch2 (notch2 (notch2 (notch2 (notch2 (notch2 s 6000 800) 5000 400) 4000 200) 3000 100) 2000 60) 1000 30)
  • Rauschen
    • eine stille Stelle markieren, "Effect->Noise reduction->Get Noise Profile" auswählen, dann die ganze Aufnahme markieren, "Effect->Noise reduction->OK", meist nehme ich 4-6 dB bei 4-6 Sensitivity, manchmal zwei Durchläufe an mit verschiedenen Noise Profiles.
  • Kompressor
    • Es empfiehlt sich, die Aufnahme einmal durch einen Kompressor zu jagen, das schränkt zwar den Dynamikumfang ein, aber nicht alle, die sich die Aufnahme ansehen, werden dies in einer ruhigen Umgebung tun und so werden z.B. auch die Nachfragen aus dem Publikum hörbar.
    • rohieb hatte im alten Setup folgende Settings für den Kompressor genutzt:
   Threshold: -34 dB
   Noise Floor: -40 dB
   Ratio: 10:1
   Attack Time: 0.1 s
   Release Time: 1 s

In ffmpeg-Syntax ist das: -af 'compand=attacks=0:points=-80/-80|-35/-3.5|0/-1'

Video

  • In früheren Aufzeichnungssetups hatten wir noch Probleme mit abreißenden Aufzeichnungen, wenn Speaker das Kabel aus ihrem Laptop zogen, entsprechend kaputte Videos konnten meist dadurch repariert werden, indem sie einmal durch ffmpeg geschoben wurden
    • ffmpeg -i input.mkv -acodec copy -vcodec copy output.mkv
  • Manchmal wird vergessen, redshift auszuschalten. Wenn es sich dabei um statisches Redshift handelt, das nicht über die Vortragsdauer shifted, lässt sich das im nächsten Schritt, während des Schnitts z.B. mittels einer 3-Punkt-Balance korrigieren

Titlescreens

  • Die Anfangs- und Endfolie werden aus den im Wiki angegebenen Titeln erzeugt. Rohieb hat da ein Script für geschrieben.
  • Manche Titel müssen manuell nachbearbeitet werden, z.B. weil sie zu lang sind, oder weil Sonderzeichen eingefügt werden sollen, die das Script nicht überträgt. Hierfür empfiehlt sich Inkscape. .svg-Features, die von Inkscape nicht in der GUI abgebildet werden (z.B. durchgestrichener Text), können im XML-Editor eingefügt werden, Inkscape rendert sie meist korrekt.
  • Da nicht alle Schnittprogramme .svgs besonders gut rendern, werden sie noch kurz zu .png exportiert:
    • for i in *.svg; do inkscape -z -e $i.png $i; done

Schnitt

  • Derzeit ausschließlich in Kdenlive
    • Kdenlive Voreinstellungen: 1080p30, Clip-Länge: 4s
  • Zunächst werden alle Dateien in ein Projekt geworfen, die Audio- und Videospuren werden hier miteinander synchronisiert.
  • Danach wird für jeden Vortrag des Vortragsabends die Projektdatei kopiert und dann je Projekt:
    • alles rausgeschmissen, was nicht mehr benötigt wird
    • Audio und Video auf Vortragsanfangszeitpunkt und Endzeitpunkt (meist nach Applaus) getrimmt
    • fade-in und fade-out fürs Audio eingefügt
    • Titlescreens eingefügt (Endscreen halb überlappend mit Videoende)
    • Bei Bedarf Kamerabild an benötigten Stellen reingeschnitten

Rendering

  • MP4(H264/AAC)

Veröffentlichung

  • Die fertigen Aufzeichnungen werden dann als unlisted auf den Stratum 0 Youtube-Channel hochgeladen, darauf haben Daniel Bohrer und larsan Zugriff.
  • Der Link wird zur Endkontrolle den Vortragenden geschickt. Falls es doch nicht veröffentlicht werden soll, oder falls z.B. noch Dinge überblendet werden sollen.

Freischalten

Wenn alles okay ist wird das Video im Idealfall

Ausprobiert/Verworfen

Voctomix

Beim Versuch, sich einiges beim VOC abzugucken, haben wir natürlich auch voctomix ausprobiert. Es trifft aber einfach nicht unseren usecase:

  • Für mehrtägige Veranstaltungen lohnt es sich in das Setup und die Konfiguration Zeit und Aufwand zu stecken, um es sauber aufzubauen, bei unseren kurzen Vorträgen einmal im Monat ist die Wahrscheinlichkeit hoch, dass irgendwer seit den letzten Vorträgen ein HDMI-Kabel umgesteckt hat, etc.
  • Es passiert häufig, dass bei uns Dinge direkt in der shell gezeigt werden und da man bei uns, im Gegensatz zu den meisten Congressvorträgen, auch das Tippen hören kann und nicht nur was die Speaker gerade sagen, haben wir viel höhere Anforderungen an A/V-Sync als z.B. das VOC für Congresstalks. Zuviel A/V-Desync ist einfach unangenehm zu schauen/hören. Und nahezu perfekter A/V-Sync lässt sich derzeit nur durch ein sehr gut darauf optimiertes System, oder eben durch manuelle Synchronisation der Inputs in der Nachbearbeitung erreichen.

Audioaufzeichnungspi

Eine Zeit lang wurde auf einem BananaPi mit einem der USB-Mikrofone Audio aufgezeichnet. Idee war, ein portables (bei Bedarf auch akkubetriebenes) Setup zu haben, das neben lokaler Aufzeichnung das Audio auch über WLAN wegstreamt, damit es irgendwo anders, z.B. in einem OBS direkt mit reingemischt werden konnte. Hat sich aber nicht durchgesetzt, bzw. nie so richtig funktioniert und der zusätzliche Aufbauaufwand war es einfach nicht wert.

Raumkamera

Permanent verkabelte Kameras in einen Hackerspace zu hängen funktioniert einfach nicht. Aus guten Gründen. D.h. man müsste sie jedes Mal wieder aufbauen/ausrichten/anstöpseln etc. Dafür war der Nutzen bisher einfach nicht groß genug. Eine Idee war, unter Annahme von Livestreamingbedingungen, das Kamerabild mit entsprechenden Filtern zu verblurren, sodass zwischen Vorträgen der Stream darauf schalten kann und Zuschauer sehen, dass sich gerade was tut (Leute Plätze wechseln etc.) aber keine Entitäten unfreiwillig live ins Internet gestreamt werden.


Probleme/Limitierungen

HDCP

Manche Endgeräte wollen mehr Crypto, als für sie gut ist (subjektiv betrachtet meist Apple-Geräte). Der noname HDMI-Splitter hilft da meist schon ganz gut, aber es kommt immer noch mal wieder ein Laptop, mit dem es Probleme gibt. Stabil ist das Setup nicht. Aber selbst das VOC greift wohl in Extremfällen auf eine Digital->Analog->Digital-Kette zurück, wenn sonst nichts hilft.

Audio

  • Wir nehmen derzeit nicht direkt die Speaker, sonder mehr den Raum, aber recht nah am Speaker auf. Hat den Vorteil, dass wir die Speaker nicht verkabeln müssen und Publikumsfragen in der Aufzeichnung direkt verständlich sind, andererseits wird auch alles andere aus dem Publikum mit aufgezeichnet.
  • Speaker Sessel-Mikros und Live Audio Mischen könnte die Situation verbessern

Video

  • Manche Geräte geben komische Formate aus. z.B. lieber 1080i60 statt 1080p30. Das muss rechtzeitig bemerkt und behoben werden.
  • Redshift fällt während eines Vortrags meist nicht auf, aber extrem beim Anschauen einer Aufzeichnung.
  • Kaputte Aufzeichnung
    • Wenn die Videoaufzeichnung hoffnungslos kaputt ist (aber Audio vorhanden) kann sie mit einiges an manuellem Aufwand halbwegs gerettet werden, sofern der Vortrag mit Folien gehalten wurde, und zwar indem die Folien manuell eingefügt werden. Wurde schon bei 1-2 Vorträgen gemacht. Eine Raumkamera hilft hier natürlich ungemein.

Laserpointer

    • Wenn zum Zeigen auf einer Slide nicht die Maus, sondern ein Laserpointer genutzt wird, landet davon nichts in der Aufzeichnung, ein Informationskanal fehlt.
    • Es gibt OpenCV-Projekte zum Tracken von Laserpointern, Implementierungsversuche wurden bisher nicht unternommen, zudem edge-case.

Pläne/Optionen/Wünsche

Speakercam

Auch für analoge Vorträge wichtig. Sollte auch bei nichtoptimalen Lichtbedingungen ein gutes Bild liefern.

Detailcam

Irgendwas, hauptsache besser als was wir akutell haben. Z.B. ein moderneres Android-Endgerät, oder eine Actioncam mit 1080p-Output.

Mikrofone

  • Funk-Lavaliermikrofone
  • Raummikrofone

Livestreaming/OBS

Um irgendwann unsere Vorträge live streamen zu können, brauchen wir mindestens eine Lösung, bei der alle Medien halbwegs synchron live gemischt werden.


Vorhandene Hardware

  • Beamer: Sony VPL PHZ10
  • A/V-Receiver Onyko TY-NR636
  • Spacekiste als Aufzeichnungsrecher
  • Zidoo X8 Android TV Box
    • HDMI-IN + HDMI-OUT
    • USB3, GBit Eth, 32GB µSD
    • rooted
  • Audio
    • Rode Videomic (Klinke)
    • 2* Samson Meteor Mic (USB)
  • Kamera
    • Panasonic V520
      • zeichnet 1080p50? auf
      • Mini-HDMI-Out (nur 720p)
      • Kann prinzipiell über WLAN streamen
  • noname HDMI-Splitter
  • Stative
    • Mikrofonständer: K&M 210/2
    • Kamerastativ: Manfrotto 190XProB mit 496RC2 Kugelkopf
    • 2 Ministative

History