/* Talks am Freitag, 14. September 2018, ab 19:00 */
[stratum0-wiki.git] / Vorträge%2FRecording-Workflow.mw
index 637510a..b851701 100644 (file)
@@ -1,8 +1,8 @@
-Es folgt der erneuerte Workflow anlässlich der wiederaufgenommenen Vorträge, den [[Benutzer:Sintox|Sintox]] auf Basis des Templates von [[Benutzer:Daniel Bohrer|Daniel Bohrer]] erstellt hat (der Linux-bezogene Workflow entstammt ausschließlich der Feder von [[Benutzer:Daniel Bohrer|Daniel Bohrer]]).
+Es folgt der erneuerte Workflow anlässlich der wiederaufgenommenen Vorträge, den [[Benutzer:Sintox|Sintox]] auf Basis des Templates von [[Benutzer:Daniel Bohrer|Daniel Bohrer]] erstellt hat (der Linux-bezogene Workflow entstammt ausschließlich der Feder von [[Benutzer:Daniel Bohrer|Daniel Bohrer]]). Zu unterscheiden ist hier einmal, ob nur der Bildschirm mit den Folien aufgenommen werden soll (Screen Capture, z.B. mit Open Broadcaster Software), oder die phyische Projektion des Beamers (z.B. mittels Camcorder oder Smartphone).
 
 == Aufnehmen ==
 ===Mit Open Broadcaster Software (Windows)===
 
 == Aufnehmen ==
 ===Mit Open Broadcaster Software (Windows)===
-'''Videoaufnahme'''
+==== Videoaufnahme ====
 
 Zur Aufnahme der Präsentation (egal ob von PDF-Dateien oder von Präsentations-Dateien) wird die Open-Source-Software "'''Open Broadcaster Software'''" (OBS) empfohlen: https://obsproject.com/
 
 
 Zur Aufnahme der Präsentation (egal ob von PDF-Dateien oder von Präsentations-Dateien) wird die Open-Source-Software "'''Open Broadcaster Software'''" (OBS) empfohlen: https://obsproject.com/
 
@@ -14,7 +14,7 @@ Nach Installation und Starten von OBS
 
 Startet man nun eine Präsentation (PDF oder Präsentation in LibreOffice Impress, Powerpoint etc.), kann  über die zugewiesenen Hotkeys die Aufnahme gestartet werden. 
 
 
 Startet man nun eine Präsentation (PDF oder Präsentation in LibreOffice Impress, Powerpoint etc.), kann  über die zugewiesenen Hotkeys die Aufnahme gestartet werden. 
 
-'''Ton-Aufnahme'''
+==== Ton-Aufnahme ====
 
 Um die Stimme des jeweiligen Vortragenden in die Video-Spur schneiden zu können, gibt es mehrere Methoden der Sound-Aufnahme:
 # Man kann die interne Audio-Aufnahme-Funktion von OBS nutzen. Um diese zu aktivieren: Im OBS-Haupt-Fenster auf den "Einstellungen"-Button klicken und im folgenden Menü unter "Audio" sowohl das Desktop Audiogerät (für den Fall, dass man z.B. ein Video mit Ton zeigen möchte) auswählen, welches meist die interne Soundkarte des Computers ist, als auch das Mic./AUX-Audiogerät, z.B. das USB-Space-Mikro von Samson, auswählen.
 
 Um die Stimme des jeweiligen Vortragenden in die Video-Spur schneiden zu können, gibt es mehrere Methoden der Sound-Aufnahme:
 # Man kann die interne Audio-Aufnahme-Funktion von OBS nutzen. Um diese zu aktivieren: Im OBS-Haupt-Fenster auf den "Einstellungen"-Button klicken und im folgenden Menü unter "Audio" sowohl das Desktop Audiogerät (für den Fall, dass man z.B. ein Video mit Ton zeigen möchte) auswählen, welches meist die interne Soundkarte des Computers ist, als auch das Mic./AUX-Audiogerät, z.B. das USB-Space-Mikro von Samson, auswählen.
@@ -23,15 +23,13 @@ Um die Stimme des jeweiligen Vortragenden in die Video-Spur schneiden zu können
 ===Mit Spacekiste (Open Broadcaster Software)===
 Sollte das individuelle Einrichten der Software für das Recording auf den einzelnen Rechnern zu viele Umstände machen, habe ich auf der Spacekiste ebenfalls '''Open Broadcaster Software (Windows)''' installiert und vorkonfiguriert:
 
 ===Mit Spacekiste (Open Broadcaster Software)===
 Sollte das individuelle Einrichten der Software für das Recording auf den einzelnen Rechnern zu viele Umstände machen, habe ich auf der Spacekiste ebenfalls '''Open Broadcaster Software (Windows)''' installiert und vorkonfiguriert:
 
-==Vorkonfiguration==
+====Vorkonfiguration====
 * Aufnahme-Art: Der vorkonfigurierte Aufnahme-Modus ist die Aufnahme des gesamten Monitors. Dadurch kann jede Art der Präsentation die auf der Spacekiste läuft problemlos aufgenommen werden ohne erst ein Fenster für die Aufnahme auswählen zu müssen. Gegebenenfalls muss, wenn der Beamer angeschlossen wurde, nach einem Doppelklick auf "Monitoraufnahme" im OBS-Fenster noch der Beamer-Monitor als Recording-Monitor ausgewählt werden.
 * Aufnahme-Art: Der vorkonfigurierte Aufnahme-Modus ist die Aufnahme des gesamten Monitors. Dadurch kann jede Art der Präsentation die auf der Spacekiste läuft problemlos aufgenommen werden ohne erst ein Fenster für die Aufnahme auswählen zu müssen. Gegebenenfalls muss, wenn der Beamer angeschlossen wurde, nach einem Doppelklick auf "Monitoraufnahme" im OBS-Fenster noch der Beamer-Monitor als Recording-Monitor ausgewählt werden.
-* Audio-Aufnahme: Der OBS-Client der Spacekiste wurde auf die Verwendung und Aufnahme des von [[Benutzer:Sintox|Sintox]] zur Verfügung gestellten Mikrofons "Rode Videomic" eingestellt. Nach dem Start der Aufnahme werden Monitor und Audio gleichzeitig aufgenommen. Der Vortragende sollte sich das Mikrofon in etwa 10 cm Entfernung vor das Gesicht halten (als würde er interviewt werden), um den optimalen Ton zu erhalten.
+* Audio-Aufnahme: Der OBS-Client der Spacekiste wurde auf die Verwendung des über Crowdfunding finanzierten Mikrofons "Rode Videomic" konfiguriert. Nach dem Start der Aufnahme werden Monitor und Audio gleichzeitig aufgenommen. Die vortragende Entität sollte sich das Mikrofon in etwa 10 cm Entfernung vor das Gesicht halten (als würde sie interviewt werden), um den optimalen Ton zu erhalten. Dazu steht seit kurzem auch ein Mikrofon-Stativ zur Verfügung.
 * Aufnahme-Hotkeys: Die (+)-Taste auf dem Nummernblock startet die Aufnahme, während die (-)-Taste auf dem Nummernblock die Aufnahme beendet.
 * Speicherort: Die Videos werden auf der Data-Festplatte im Ordner "Vortraege Recording" gespeichert.
 
 * Aufnahme-Hotkeys: Die (+)-Taste auf dem Nummernblock startet die Aufnahme, während die (-)-Taste auf dem Nummernblock die Aufnahme beendet.
 * Speicherort: Die Videos werden auf der Data-Festplatte im Ordner "Vortraege Recording" gespeichert.
 
-==Workflow==
-Es empfiehlt sich, den Workflow einmal zu testen und sich das Ergebnis-Video anzuschauen um sicherzustellen, das Video und Ton korrekt aufgenommen werden, bevor der erste Vortrag beginnt.
-
+==== Workflow ====
 # Rode Videomic mit Verlängerungskabel an den Mikrofon-Anschluss an der Rückseite der Spacekiste anschließen
 # Open Broadcaster Software vom Desktop der Spacekiste aus starten
 # Szene "Stratum0 Recording" und darin die Quelle "Monitoraufnahme" im OBS-Fenster auswählen
 # Rode Videomic mit Verlängerungskabel an den Mikrofon-Anschluss an der Rückseite der Spacekiste anschließen
 # Open Broadcaster Software vom Desktop der Spacekiste aus starten
 # Szene "Stratum0 Recording" und darin die Quelle "Monitoraufnahme" im OBS-Fenster auswählen
@@ -42,8 +40,9 @@ Es empfiehlt sich, den Workflow einmal zu testen und sich das Ergebnis-Video anz
 # Der Vortragende/die Vortragende nimmt das Mikrofon in die Hand und drückt entweder selbst die (+)-Taste auf dem Nummernblock bzw. jemand anderes drückt die Taste und der Vortrag kann beginnen.
 # Nach dem Vortrag die Aufnahme durch Betätigen der (-)-Taste auf dem Nummernblock beenden
 
 # Der Vortragende/die Vortragende nimmt das Mikrofon in die Hand und drückt entweder selbst die (+)-Taste auf dem Nummernblock bzw. jemand anderes drückt die Taste und der Vortrag kann beginnen.
 # Nach dem Vortrag die Aufnahme durch Betätigen der (-)-Taste auf dem Nummernblock beenden
 
-'''Achtung!'''Sollte der Vortrag auf einem anderen Rechner stattfinden (z.B. ein Terminal-Recording auf einem Linux-Rechner) soll bitte trotzdem gleichzeitig die Open Broadcaster Aufnahme gestartet werden, damit die Ton-Spur der OBS-Aufnahme über die Monitor-Aufnahme des anderen Rechners geschnitten werden kann.
-===Linux===
+'''Achtung!''' Sollte der Vortrag auf einem anderen Rechner stattfinden (z.B. ein Terminal-Recording auf einem Linux-Rechner) soll bitte trotzdem gleichzeitig die Open Broadcaster Aufnahme gestartet werden, damit die Ton-Spur der OBS-Aufnahme über die Monitor-Aufnahme des anderen Rechners geschnitten werden kann.
+
+===Linux mit DV-Camcorder===
 Mit {{Benutzer|Neo Bechstein|Neos}} DV-Camcorder auf der Spacekiste über Firewire. Wenn die Kamera eingesteckt wird, sollte sie sich als <tt>/dev/fw1</tt> melden, die GUID kann man aus dem Kernel-Log (<tt>dmesg</tt>, <tt>/var/log/kern.log</tt>) entnehmen. Aufnehmen geht ganz einfach dann mit dvgrab:
  dvgrab -noavc -fraw dateinamenspräfix
 dvgrab splittet dann den Stream in Dateien mit bis zu 1 GB, das Präfix bestimmt, wie die Dateien heißen. Es empfiehlt sich also etwas im Format <tt>talks-YYYY-MM-DD</tt> zu nehmen.
 Mit {{Benutzer|Neo Bechstein|Neos}} DV-Camcorder auf der Spacekiste über Firewire. Wenn die Kamera eingesteckt wird, sollte sie sich als <tt>/dev/fw1</tt> melden, die GUID kann man aus dem Kernel-Log (<tt>dmesg</tt>, <tt>/var/log/kern.log</tt>) entnehmen. Aufnehmen geht ganz einfach dann mit dvgrab:
  dvgrab -noavc -fraw dateinamenspräfix
 dvgrab splittet dann den Stream in Dateien mit bis zu 1 GB, das Präfix bestimmt, wie die Dateien heißen. Es empfiehlt sich also etwas im Format <tt>talks-YYYY-MM-DD</tt> zu nehmen.
@@ -55,31 +54,75 @@ Zum Justieren der Kamera (ich stelle sie meist auf den Stapel mit Filamentrollen
 
 Zum Beenden der Aufnahme einfach dvgrab mit Ctrl-C beenden.
 
 
 Zum Beenden der Aufnahme einfach dvgrab mit Ctrl-C beenden.
 
+=== Smartphone ===
+[[Benutzer:Daniel Bohrer|Daniel Bohrer]] benutzt sein Galaxy Nexus mit Android zum Aufnehmen der Beamer-Projektion. Die Kamera kann natives 1080p, der Sound ist mittelmäßig, aber meist noch gut zu verstehen, wenn die präsentierende Entität direkt vor dem Smartphone auf dem Sofa sitzt.
+
+Die Stock-Kamera-App hat einen unschönen Bug (oder Feature?) und versucht bei dunklen Szenen öfters mal zu refokussieren. Das schlägt sich dann mehrmals pro Minute in temporär unscharfem Bild nieder. Mit alternativen Kamera-Apps, wie z.B. Open Camera ([https://f-droid.org/repository/browse/?fdid=net.sourceforge.opencamera FDroid], [http://play.google.com/store/apps/details?id=net.sourceforge.opencamera Play Store]), lässt sich das Fokusverhalten auf »Manuell« umstellen, sodass das nicht mehr passiert.
+
+Zu beachten ist, dass ausreichend Speicherplatz auf dem Smartphone vorhanden sein muss. Eine Stunde in 1080p führt etwa zu 4 GB an Daten. Falls der Speicher während der Aufnahme voll läuft, kann die entsprechende Datei nicht mehr so einfach gelesen werden (bei MP4 stehen Metainformationen über verwendeten Codec, etc., am Ende der Datei und das fehlt dann…) Abhilfe kann manchmal [https://github.com/ponchio/untrunc untrunc] schaffen.
+
+Open Camera hat zwar auch eine Option, um nach einer bestimmten Zeit eine neue Datei anzufangen und die Aufnahme fortzusetzen, dabei entstehen aber unschöne Pausen (in denen anscheinend die Datei auf das Speichermedium geschrieben wird). Es empfiehlt sich hier, nach jedem Talk einmal kurz manuell eine neue Aufnahme zu starten.
+
 == Schneiden ==
 ===Windows===
 Unter Windows gibt es verschiedene Schnittprogramme, sowohl kostenpflichtig (z.B. Adobe Premiere) oder auch kostenlos (z.B. Jahshaka). Je nach persönlichen Präferenzen sollte ein solches Programm ausgewählt werden und im Programm Video- und Ton-Spur übereinander gelegt werden.
 
 ===Linux===
 == Schneiden ==
 ===Windows===
 Unter Windows gibt es verschiedene Schnittprogramme, sowohl kostenpflichtig (z.B. Adobe Premiere) oder auch kostenlos (z.B. Jahshaka). Je nach persönlichen Präferenzen sollte ein solches Programm ausgewählt werden und im Programm Video- und Ton-Spur übereinander gelegt werden.
 
 ===Linux===
-Zum Schneiden der Videos verwende ich [http://www.avidemux.org/admWiki/doku.php Avidemux]. Einfach mit den A- und B-Markern den gewünschten Bereich auswählen und unter einem neuen Namen speichern. Das ganze funktioniert auch ohne Recodieren, wenn man die Marker nur an Keyframes platziert (mit den Doppelpfeil-Buttons auf der Toolbar) und als Video- und Audiocodec „Copy“ auswählt.
+Bei [[Benutzer:Daniel Bohrer|Daniel Bohrer]] passiert das alles mit OpenShot, siehe Abschnitt [[#Nachbearbeitung]].
+
+== Audionachbearbeitung ==
+Bei schlechten Tonverhältnissen (z.B. Aufnahme vom Smartphone) kann die Dynamik durch Kompression verbessert werden. In Audacity geht das mit dem Compressor-Filter. Beispielhafte Einstellungen:
+* Threshold: -34 dB
+* Noise Floor: -40 dB
+* Ratio: 10:1
+* Attack Time: 0.1 s
+* Release Time: 1 s
+
+(In ffmpeg-Syntax ist das: <tt>-af 'compand=attacks=0:points=-80/-80|-35/-3.5|0/-1'</tt>)
+
+In Audacity können auch mehrere Aufnahmen übereinander gelegt werden, so kann ein guter Mittelweg zwischen Speaker-Mikrofon und Raumschall (z.B. für Fragen) gefunden werden.
 
 
-Avidemux hat im Moment noch Probleme mit Dateien, die B-Frames enthalten. Wenn es beim Laden der Datei fragt, wähle ich den frame-genauen Modus, um präzise schneiden zu können.
 == Nachbearbeitung ==
 == Nachbearbeitung ==
-Die folgenden Schritte der Nachbearbeitung können sowohl bei Linux- als auch bei Windows-Schnittprogrammen durchgeführt werden:
+Die folgenden Schritte der Nachbearbeitung können sowohl bei Linux- als auch bei Windows-Schnittprogrammen durchgeführt werden. [[Benutzer:Daniel Bohrer|Daniel Bohrer]] benutzt dafür [http://openshot.org OpenShot] oder [http://kdenlive.org Kdenlive].
 
 Nachdem Schneiden fügt man mit seinem Schneideprogramm folgende Title- und End-Screens hinzu. In diese Templates sollten sowohl das Vortrags-Thema als auch der Name des Vortragenden eingefügt werden. Dies ist mit verbreiteten Bildbearbeitungsprogrammen wie Gimp oder Photoshop möglich.
 
 Nachdem Schneiden fügt man mit seinem Schneideprogramm folgende Title- und End-Screens hinzu. In diese Templates sollten sowohl das Vortrags-Thema als auch der Name des Vortragenden eingefügt werden. Dies ist mit verbreiteten Bildbearbeitungsprogrammen wie Gimp oder Photoshop möglich.
-* [[:Datei:Recording Title Screen.svg]]
-* [[:Datei:Recording End Screen.svg]]
+* [https://gitli.stratum0.org/stratum0/talk-recordings/raw/master/Recording_Title_Screen.svg Recording Title Screen.svg]
+* [https://gitli.stratum0.org/stratum0/talk-recordings/raw/master/Recording_Title_Screen_without_subtitle.svg Recording Title Screen without subtitle.svg]
+* [https://gitli.stratum0.org/stratum0/talk-recordings/raw/master/Recording_End_Screen.svg Recording End Screen.svg]
+
+Zusätzlich füge ich Überblendungen zwischen dem Title Screen und dem Vortrag sowie dem Vortrag und dem End Screen hinzu (in OpenShot: Rechtsklick auf die entsprechenden Abschnitte in der Timeline, im Untermenü „Fade“; in Kdenlive: Transistion „Dissolve“ und Effects „Fade in/out“ für Audio, „Fade to/from Black“ für Video).
+
+=== Rendering ===
+==== OpenShot ====
+OpenShot bietet vorkonfigurierte Youtube-Profile an („File“ → „Export Video“, Profile: „Web“, Target: „YouTube-HD“, Video Profile: „HD 720p 25 fps“, Quality: „High“).
+
+==== melt ====
+Weil H.264-Rendering auf [[Benutzer:Daniel Bohrer|Daniel Bohrer]]s Laptop so lange dauert, wird das über Nacht gemacht. Schön wär es, wenn der Rechner danach von selbst schlafen gehen würde. Mit grafischen Programmen wie OpenShot ist das nicht so einfach machbar.
+
+OpenShot kann Projekte aber als XML-Dateien exportieren, die mit dem Konsolen-Tool <tt>[http://www.mltframework.org melt]</tt> gerendert werden können. Alle Überblendungen, Schnitte, etc. sind dabei in der XML-Datei vorhanden und werden von <tt>melt</tt> anhand der Quelldateien in eine fertige Video-Datei umgesetzt. Eine typischer Aufruf sieht dann wie folgt aus:
+
+ time melt kasa-blind-sql-inject.mlt -progress -consumer avformat:kasa-blind-sql-inject.mp4  properties=melt-avformat-youtube.preset; sudo pm-suspend
 
 
+Das Preset unter <tt>melt-avformat-youtube.preset</tt> legt die Parameter für den Export fest:
 
 
-Zusätzlich füge ich Überblendungen zwischen dem Title Screen und dem Vortrag sowie dem Vortrag und dem End Screen hinzu (Rechtsklick auf die entsprechenden Abschnitte in der Timeline, im Untermenü „Fade“).
+ mlt_profile=atsc_720p_25
+ f=mp4
+ acodec=aac
+ ab=192k
+ ar=48000
+ channels=2
+ vcodec=libx264
+ vb=8M
+ pix_fmt=yuv420p
+ meta.preset.note=preset for Stratum 0 talk recordings, encoded for fast upload to YouTube
 
 
-Danach wird das ganze exportiert („File“ → „Export Video“, Profile: „Web“, Target: „YouTube-HD“, Video Profile: „HD 720p 25 fps“, Quality: „High“).
+(Eine Unschönheit dabei: referenzierten Quelldateien werden in der XML-Datei mit absoluten Pfaden referenziert. Für Archivierung bietet sich einmal Suchen & Ersetzen im Texteditor an, <tt>melt</tt> kann nämlich auch mit relativen Pfaden arbeiten.)
 
 
-Die Recodierung auf eine möglichst kleine Dateigröße lasse ich dann einfach YouTube machen… :P
+Die Recodierung auf eine möglichst kleine Dateigröße lasse ich dann in beiden Fällen einfach YouTube machen… :P
 
 == Hochladen ==
 …auf das [https://youtube.com/stratum0/ stratum0-YouTube-Profil]. [[Benutzer:Daniel Bohrer|Daniel Bohrer]] hat die Zugangsdaten dafür.
 
 
 == Hochladen ==
 …auf das [https://youtube.com/stratum0/ stratum0-YouTube-Profil]. [[Benutzer:Daniel Bohrer|Daniel Bohrer]] hat die Zugangsdaten dafür.
 
-Nachdem YouTube das Video vollständig gerendert hat, lade ich es nochmal herunter und mirrore es auf meinem Server unter [https://rohieb.name/stuff/stratum0/recordings].
+Nachdem YouTube das Video vollständig gerendert hat, lade ich es nochmal herunter und mirrore es unter [https://stratum0.org/recordings].
 
 [[Kategorie:Dokumentation]]
 
 [[Kategorie:Dokumentation]]
This page took 0.030686 seconds and 4 git commands to generate.