/* Hacken Open Air */ Termin auf morgen verschoben, wurde letztens angefragt, gab...
[stratum0-wiki.git] / Vorträge%2FRecording-Workflow.mw
index e1d8be9..8bc0f9c 100644 (file)
@@ -1,6 +1,48 @@
-Es folgen einige Notizen zum Workflow, den ich ([[Benutzer:Daniel Bohrer|Daniel Bohrer]]) zum Nachbearbeiten von Vortragsmitschnitten verwende.
+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)===
+==== 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/
+
+Nach Installation und Starten von OBS
+# Rechtsklick in das Feld "Szenen" im Hauptfenster und "Szene hinzufügen" wählen. Diese wird z.B. "Vorträge Recording" oder Ähnliches genannt.
+# Rechtsklick in das Feld "Quellen" solange die zuvor erstellte Szene ausgewählt ist. Da für eine Präsentation nur eine Quelle nötig ist, sollte "Hinzufügen" -> "Monitoraufnahme" gewählt werden.
+# Nach Auswahl von "Monitoraufnahme" öffnet sich das Einstellungsfenster. Man wählt den entsprechenden Monitor (im Space dürfte es sowieso nur der Beamer sein) und belässt die restlichen Einstellungen auf Standard. Mit dem Klick auf OK kommt man wieder in das Haupt-Fenster.
+# Man klickt auf den "Einstellungen"-Button und wählt unter "Broadcast Einstellungen" den Modus "Nur Dateiausgabe" und einen dazugehörigen Dateipfad. Außerdem sollten Hotkeys für Start und Stop der Aufnahme zugewiesen 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 ====
+
+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.
+# Mit der Open-Source-Software "'''Audacity'''", runterladbar unter http://audacity.sourceforge.net/ kann die Tonspur außerhalb von OBS aufgenommen werden und im Schnitt hinzugefügt werden. Dazu nach Download, Installation und Start der Anwendung zunächst unter "Bearbeiten" -> "Einstellungen..." -> "Geräte" das verwendete Mikrofon anpassen (z.B. das Space-Mic von Samson).
+
+===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====
+* 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 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.
+
+==== 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
+# Doppelklick auf "Monitoraufnahme" und sicherstellen, dass der richtige Monitor ausgewählt ist
+# Unter "Einstellungen" -> "Video" kontrollieren, ob die korrekte maximale Auflösung bzw. die native Auflösung des aufgenommenen Monitors eingestellt ist
+# Unter "Einstellungen" -> "Audio" kontrollieren, ob unter "Mic./Aux Audiogerät" das Mikrofon ausgewählt ist
+# Präsentation, PDF oder sonstiges Material für den Vortrag auf dem Recording-Monitor öffnen und auf Fullscreen/"Ready-to-Go" schalten
+# 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 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.
@@ -12,21 +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.
 
+=== 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 ==
-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.
+===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===
+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>)
 
-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.
+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.
 
 == Nachbearbeitung ==
-Nachdem Schneiden füge ich mit [http://openshot.org/download/ OpenShot] noch Title und End Screens hinzu. Vorlagen dafür:
-* [[Datei:Recording Title Screen.svg]]
-* [[Datei:Recording End Screen.svg]]
-Die SVGs kann man einfach zum Projekt hinzufügen und dann relativ bequem über das Kontextmenü („Edit (simple)“ bzw „Edit (Inkscape)“) bearbeiten. Nachdem man die Platzhalter in den Vorlagen ersetzt hat, kann man die Screens auf die Timeline ziehen.
+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.
+* [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:
+
+ 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
+
+(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.)
 
-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“).
+Die Recodierung auf eine möglichst kleine Dateigröße lasse ich dann in beiden Fällen einfach YouTube machen… :P
 
-Danach wird das ganze exportiert („File“ → „Export Video“, Profile: „Web“, Target: „YouTube-HD“, Video Profile: „HD 720p 25 fps“, Quality: „High“).
+== Hochladen ==
+…auf das [https://youtube.com/stratum0/ stratum0-YouTube-Profil]. [[Benutzer:Daniel Bohrer|Daniel Bohrer]] hat die Zugangsdaten dafür.
 
-Die Recodierung auf eine möglichst kleine Dateigröße lasse ich dann einfach YouTube machen… :P
+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].
 
 [[Kategorie:Dokumentation]]
This page took 0.036249 seconds and 4 git commands to generate.