WebM- und MP4-Videoloops für Websites optimieren

Kurz als Merkhilfe für mich selbst, vielleicht aber auch für andere nützlich: Wenn ich kurze Videoloops auf einer Website einsetze, kodiere ich aus der Quelldatei in der Regel drei Versionen, damit das Ganze möglichst kompatibel zu vielen Browsern bleibt (wie auch hier kurz beschrieben): MP4 (AVC/H.264), OGV und WebM.

Doch selbst wenn man im Editor die Schnittstelle ideal setzt und der Loop, der nur aus einer Einstellung besteht, an sich absolut flüssig und ohne verräterischen Ruckler läuft, heißt das noch nicht, dass das auch für die aus dem Rohclip kodierte Webversion gilt. Gerade bei WebM kann es mit falschen Einstellungen zu deutlichen Blockartefakten kommen, die am Ende des Videoclips so stark sind, dass es sofort auffällt, wenn der Loop relativ artefaktfrei wieder von vorn anfängt.

Für WebM kann ich nach ausgiebiger Suche und reichlich Testerei folgende Settings mit dem Kommandozeilen-Tool ffmpeg empfehlen:

ffmpeg -i quelldatei.mov -framerate 25 -c:v libvpx-vp9 -b:v 0 -pix_fmt yuv420p -crf 40 -cpu-used 1 -tile-columns 2 -threads 8 -row-mt 1 -vf scale=850:478 zieldatei.webm

Fundstelle: .webm blocky in initial frames, terrible for looping :(

Aus einer ursprünglichen Beispiel-Quelldatei (Full HD, 6 Sekunden, Apple ProRes, keine Tonspuren) mit einer Größe von ca. 29 Megabyte wird der Clip mit den obigen Settings und dem VP9-Codec auf 210 Kilobyte reduziert. Die finale WebM-Videodatei hat eine Größe von 850 x 478 Pixel (16:9), bei der an keiner Stelle die für Loops problematischen Blockartefakte auftreten:

Vermutlich wird dieses WebM-Beispielvideo auf vielen mobilen Endgeräten nicht angezeigt.

Die einzelnen Parameter werden hier recht anschaulich erklärt. Ein Constant Rate Factor (CRF) von 40 scheint mir ein guter Kompromiss zwischen Qualität und tolerabler Größe zu sein. Kleinere Faktoren ergeben eine bessere Qualität, dafür aber größere Dateien. Ein CRF-Maximalwert von 63 würde das Video auf 34 Kilobyte quetschen, aber die visuelle Qualität wäre indiskutabel. Oder Kunst.

Für die MP4-Version nutze ich in der Regel ffmpeg mit diesen Parametern:

ffmpeg -i quelldatei.mov -vcodec h264 -vb 400k -pix_fmt yuv420p -vf scale=850:478 zieldatei.mp4

Vermutlich wird dieses MP4-Beispielvideo auf vielen mobilen Endgeräten nicht angezeigt.

Wegen der gewählten Bitrate von 400 KBit/s ist die MP4-Variante mit 222 Kilobytes von vergleichbarer Qualität. Bei Bildern ohne komplexe Hintergründe und mit wenig Bewegung reichen 200 KBit/s völlig aus.

Unser Workflow beim Schnitt der TV-Dokumentation „Good bye, fish and chips?“ mit FCPX

Bevor Markus Böhnisch und ich für unseren ersten gemeinsamen TV-Dokumentarfilm zur Kamera greifen konnten, hatten wir uns zuvor ein paar Gedanken zu technischen Abläufen gemacht. Wir mussten uns darüber klar werden, wie wir das vermutlich schnell auf mehrere hundert Gigabyte anwachsende Video-Rohmaterial archivieren, sichten und sortieren — und wie wir den entstehenden Film gemeinsam auch getrennt voneinander im Schnittprogramm bearbeiten können.

Rohmaterial-HDD und Schnitt-SSD am Apple MacBook Pro

Der etwa halbstündige Film war für insgesamt zwölf Drehtage kalkuliert, die sich über mehrere Wochen verteilten. Für den anschließenden Schnitt hatten wir zehn Tage eingeplant, die wir aus organisatorischen Gründen auf zwei Blöcke verteilen mussten.

Gedreht haben wir mit zwei Sony FS5-Kameras, die wir zuvor aufeinander abgestimmt haben. Geschnitten haben wir den Film mit der Software Final Cut Pro X (FCPX) auf zwei Notebooks, eines davon mit fehlerhafter Tastatur. Die finale Tonmischung und Farbkorrekturen wurden von unserer Auftraggeberin übernommen.

FCPX-Timeline des fertigen Films.

Gemäß der technischen Richtlinien (PDF) unserer Auftraggeberin sollte der Film im HD Format 1080i/25 angeliefert werden (und nicht in Ultra HD). Daher haben wir – bis auf einige Interviews – fast ausschließlich im HD Format gedreht, allerdings nicht mit Halbbildern (HD 1080i/25), sondern mit 50 Vollbildern (HD 1080/50p).

Hauptgrund dafür war, dass 50p das qualitativ bessere und für die weitere Bearbeitung flexiblere Format ist. So lässt sich eine später archivierte 50p-Version des fertigen Films mit relativ einfachen FCPX-Bordmitteln ziemlich verlässlich und qualitativ hochwertig in zurzeit TV-übliches 25i-Material wandeln, was wir kurz vor dem Abgabetermin dann auch getan haben. Details dazu weiter unten.

Tägliche Sicherung auf die Rohmaterial-HDD samt Backup

Weil wir in einigen Situationen möglichst beobachtend drehen wollten, vermuteten wir für den gesamten Film ein Drehverhältnis irgendwo in der Nähe von 30:1. Zum Glück ist der in der Sony FS5 verbaute Codec XAVC-L422 HD 50 trotz 10 Bit Farbtiefe recht datensparsam. So reichten für unsere täglichen Backups insgesamt zwei Festplatten mit jeweils 1 Terabyte Speicherplatz aus. Wir haben das Material am Ende eines Tages stets doppelt gesichert, später am Arbeitsplatz dann noch ein drittes Mal.

Fürs Übertragen des Rohmaterials von den Karten auf die Festplatten haben wir die Software Catalyst Browse verwendet (siehe dazu auch dieses bereits etwas ältere Video-Review) und die Daten in einer simplen Ordnerstruktur archiviert:

Rohmaterial-Dateistruktur des TV-Dokumentarfilms "Good bye, fish and chips?"
Datum des Drehtags, Drehort, Kamera, Kartennummer des Drehtags – nach diesem einfachen System archivieren wir das Rohmaterial der einzelnen Drehtage.

Am Ende der Dreharbeiten hatten wir insgesamt 567 Gigabyte Video-Rohmaterial gesammelt. Inklusive aller Interviews entspricht das einer Gesamtvideolänge von fast genau 20 Stunden, die sich auf insgesamt 2188 einzelne Clips verteilen. Ein Drehverhältnis von etwa 40:1.

Da der Abgabetermin für unseren Film drückte, waren nach Ende der Dreharbeiten klare Absprachen nötig, um den Film für den gemeinsamen Schnitt vorzubereiten. Eine knappe Woche hatten wir Zeit, um das Material grob zu sichten, vorzusortieren und die Interviews komplett anzuhören und abzutippen. Erst dann konnten wir in den Schnitt gehen.

FCPX-Schlagwörter des TV-Dokumentarfilms "Good bye, fish and chips?"
Mit Ereignissen und Schlüsselwörtern kann man Rohmaterial in FCPX nach eigener Logik strukturieren, ohne sich dabei auf Bins wie in traditionelleren Schnittprogrammen festlegen zu müssen.

Damit wir diese Aufgaben getrennt voneinander erledigen konnten, mussten wir zunächst das Datei-Management in FCPX anpassen, danach das gesamte Rohmaterial importieren, um es anschließend nach Ereignissen zu gliedern und alle Clips mit für uns sinnstiftenden Schlüsselwörtern zu versehen.

Wichtig war uns, dass sowohl Markus als auch ich jederzeit Änderungen an der FCPX-Mediathek vornehmen und wir uns trotz der mehreren hundert Kilometer Distanz zwischen uns schnell via FTP-Server wieder auf den gleichen Stand bringen konnten.

Voraussetzung dafür war, dass wir beide zu nahezu jedem Zeitpunkt über eine absolut identische FCPX-Schnitt-SSD verfügen, auf der sich alle relevanten Daten für den Filmschnitt an exakt denselben Orten befinden. Diese SSD haben wir direkt am Ende des letzten Drehtages angelegt, inklusive einer 1:1-Kopie für den Teampartner, kurz bevor sich unsere Wege vorübergehend trennten.

FCPX-Konfiguration und Aufbau der Schnitt-SSD

Normalerweise speichert FCPX alle Videodaten inkl. Timelines, Cache-Daten, Renderdateien etc. in einer sog. Bundle-Datei. Diese Datei ist in Wirklichkeit zwar ein kompletter Ordner mit einzelnen Unterordnern und allerlei Daten, sie wird im Finder aber als eine einzige Datei mit der Endung „.fcpbundle“ angezeigt.

Vorteil dabei ist, dass sich alle Daten inklusive des Video-Rohmaterials immer an einem zentralen Ort befinden und ganze Projekte sehr einfach von einem auf den anderen Datenträger kopiert werden können.

Nachteil: Solche Bundles werden logischerweise sehr schnell ziemlich groß. Um sich nach auch nur kleinen Änderungen gegenseitig auf den neuesten Stand zu bringen, hätten wir jedes Mal ein mehrere hundert Gigabyte großes Bundle online austauschen müssen. Mit marktüblichen Endanwender-Internet-Zugängen im Jahr 2019 würde das einfach zu lange dauern.

Wir haben FCPX daher so eingestellt, dass das Bundle von den Video-, Render- und Cache-Dateien sauber getrennt wird. Bei jeder Änderung mussten wir jetzt also nur noch die kleine Bundle-Datei online austauschen. Diese war anfangs kaum größer als 100 Megabyte und wuchs im Laufe der Zeit auf maximal 250 Megabyte an. Handlich genug, um vor der gesamten Postproduktionsphase via Internet und später, als wir uns am Tisch gegenübersaßen, via Airdrop ständig zwischen uns hin- und hergetauscht zu werden.

Die finale Struktur unserer Schnitt-SSD sah dann so aus:

FCPX-Dateistruktur des TV-Dokumentarfilms "Good bye, fish and chips?"
Im Ordner „fs5_media“ liegt das Rohmaterial der FS5-Kameras im XAVC-L-Format, allerdings nicht mehr in MXF-Containern verpackt, sondern in FCPX-freundlichen Quicktime Movie-Containern.

Und wie stellt man FCPX jetzt so sein, dass die Daten voneinander getrennt werden?

Zunächst haben wir im Menü „Final Cut Pro/Einstellungen/Import“ festgelegt, dass alle importierten Medien an einem von uns bestimmten Speicherort im Originalformat abgelegt werden sollen:

FCPX-Importeinstellungen des TV-Dokumentarfilms "Good bye, fish and chips?"
Import-Einstellungen in FCPX: Clips an festen Ort kopieren, kein ProRes verwenden, unnötige Tonkanäle entfernen.

Außerdem sollten die Videodateien nicht in ein ProRes-Format umkodiert werden, sondern im stark komprimierten XAVC-L-Format verbleiben. Das spart viel Speicherplatz auf der SSD und lässt sich mit moderner Hardware trotzdem recht flüssig bearbeiten. FCPX muss dazu die Clips beim Import allerdings vom MXF-Container in einen MOV-Container überführen.

Da die Sony FS5 vier Tonkanäle aufzeichnet, von denen zwei aber (sinnloserweise) immer leer sind, werden sie beim Import einfach entfernt („Stille Kanäle entfernen“).

Danach legen wir die Speicherpfade für Videoclips, den Cache und die automatischen Backups fest:

Speicherorte in FCPX verändern
In „fs5_media“ landet das Rohmaterial, das wir mit den beiden Handkameras aufgezeichnet haben. Um dieses Menü aufzurufen: Links den Mediathekennamen markieren (1), dann rechts unter „Mediatheks-Eigenschaften“ die Einstellung für die Speicherorte verändern (2).

Mit Rollen arbeiten

Es lohnt sich übrigens, in FCPX von vornherein mit Rollen zu arbeiten. Sie kommen dem Spuren-Prinzip traditioneller Schnittsoftware sehr nahe und helfen, die magnetische Storyline zu systematisieren. Wie Rollen in FCPX genau funktionieren, hat Larry Jordan in seinem Blog zusammengefasst.

Audiorollen zur Systematisierung der FCPX-Timeline
Atmo, O-Ton, Musik, Effekte – ähnlich dem Spurenprinzip alles voneinander getrennt.

Wir haben zunächst Audio-Rollen für Atmo, Dialog, Effekte und Musik angelegt, direkt nach dem Import des gesamten Rohmaterials die Tonkanäle aller Videoclips auf mono gestellt und anschließend die passenden Rollen zugewiesen.

Für das Material der FS5-Kameras war das sehr einfach: Alle Clips markieren, mit Rechtsklick zunächst die Hauptrolle (in unserem Fall „Dialog“) zuweisen, dann im Audio-Inspektor für Kanal 1 die Subrolle „Atmo“ und für Kanal 2 die Subrolle „O-Ton“ vergeben. Diese Arbeitsschritte sollten unbedingt vor Beginn des allerersten Schnitts auf der Timeline erfolgen.

Audiorollen in FCPX zuweisen
An allen Drehtagen war die FS5 identisch eingestellt: Auf Kanal 1 haben wir die Atmo (via Richtmikro) aufgezeichnet, auf Kanal 2 die O-Töne (via AVX-Funkstrecke). Die Rollenzuweisung in FCPX ging daher sehr schnell.

Export der Masterdatei: Von 50p nach 25i mit getrennten Audio-Kanälen

Den fertigen Film haben wir auf einer HD 1080/50p-Timeline geschnitten, also in dem Format, in dem wir auch gedreht haben. Erst ganz zum Schluss, nach der Abnahme durch den verantwortlichen Redakteur, haben wir eine HD 1080/25i-Version des Films als Master-Datei im Format Apple ProRes 422 ausgespielt.

Am einfachsten funktionierte die Umwandlung von 50p nach 25i tatsächlich mit Final Cut Pro X (ganz ähnlich, wie ich es hier vor einigen Jahren schon einmal beschrieben hatte):

  • Die Timeline des fertigen Films öffnen und alles markieren (CMD+A drücken). Der Film befindet sich nun im Clipboard.
  • Eine neue Timeline im Format HD 1080/25i anlegen und mit CMD+V alles einfügen.

Aber Achtung: Bei dieser Vorgehensweise hatten sich bei uns insgesamt sechs Schwarzbilder mit einer Länge von jeweils einem Frame eingeschlichen, sodass wir den Film noch einmal sehr genau anschauen und die Stellen von Hand korrigieren mussten.

Wir hatten übrigens auch versucht, den Film mit dem Apple Compressor entsprechend umzuwandeln, was wir aber nicht weiterempfehlen können. Dazu hatten wir zunächst eine HD 1080/50p-Masterdatei aus FCPX exportiert, um diese dann mit einem entsprechenden Preset in HD 1080/25i zu wandeln. Doch so sehr wir auch mit den verschiedenen Variablen experimentierten: Stets kam dabei eine Version heraus, die bei verschiedenen Bildumschnitten die Halbbilder für die Dauer von etwa zwei Frames ineinander überblendete.

Da unsere Auftraggeberin eine eigene Sprachvertonung vornehmen wollte und das technische Pflichtenheft es so vorsah, haben wir die zu übergebende Master-Datei mit getrennten Audiospuren ausgespielt:

Export aus FCPX mit getrennten Audiospuren

Der fertige Film Good bye, fish and chips? wurde pünktlich am 22. März 2019 erstmals bei 3sat ausgestrahlt.

Gute Tonaufnahmen mit der BMPCC

Arbeitet da draußen noch jemand mit der Blackmagic Pocket Cinema Camera (BMPCC)? Mit Sicherheit. Sie mag zwar in die Jahre gekommen sein, aber ihre Bildästhetik ist und bleibt irgendwie besonders.

Blackmagic Pocket Cinema Camera (BMPCC)

Sie hat allerdings auch viele Schwächen. Eine ihrer größten ist wohl der mangelhafte Tonteil, den viele von vornherein komplett ignorieren und lieber gleich mit einem externen Audiorekorder aufzeichnen, um dann später alles zu synchronisieren. Doch tatsächlich lässt sich aus den extrem schwachen Audiowandlern der BMPCC eine brauchbare Qualität herauskitzeln, wenn man sehr vorsichtig vorgeht. Genaueres dazu hatte ich vor einigen Jahren in diesem Blog-Eintrag aufgeschrieben.

Mit der Sennheiser AVX-Funkstrecke geht das ganze allerdings wesentlich einfacher und sogar ziemlich narrensicher, das heißt nahezu ohne Gefahr von Übersteuerungen. Denn die hören sich bei der BMPCC nicht nur besonders schlimm an, sondern sie wirken sich häufig sogar direkt auf den zweiten Tonkanal aus – auch wenn dieser niedriger ausgepegelt ist und eigentlich nicht übersteuern sollte.

Die AVX-Funkstrecke verfügt ihrerseits über eine ziemlich clevere und subtil im Hintergrund arbeitende Automatik, die Übersteuerungen nahezu unmöglich macht, sich dabei aber keineswegs so plump verhält wie die automatische Tonaussteuerung vieler Video-Camcorder. Sie übernimmt also im Alleingang die schwierige Aufgabe, das Tonsignal permanent gut auszusteuern, das heißt die leiseren Passagen – wenn nötig – anzuheben, die lauteren zu begrenzen und die Übergänge dazwischen möglichst sanft zu behandeln. Das schafft sie erstaunlich gut. Wie das funktioniert, demonstriert Curtis Judd in diesem Video (ab 01:45 Min.) und erklärt es anschließend kurz.

Das Prinzip ist also wie folgt: Die AVX gibt ihr bereits nach oben begrenztes und niemals übersteuertes Tonsignal möglichst stark an die BMPCC weiter. Die ist ihrerseits so eingestellt, dass sie das eingespeiste AVX-Signal möglichst rauscharm aufzeichnet und in der Kamera ebenfalls niemals übersteuert.

Einstellungen für eine rauschfreie Aufnahme mit der BMPCC und der Sennheiser AVX-Funkstrecke
Einstellungen im Ton-Menü der BMPCC für eine möglichst rauscharme Aufnahme.

Das sind die dazu notwendigen BMPCC-Audio-Voreinstellungen:

  • Microphone Input: 100%
  • Ch 1 and Ch 2 Input Levels: Mic
  • Ch 1 Input: 50%
    (das beste Signal-Rausch-Verhältnis, siehe dazu auch hier)
  • Ch 2 uses Ch 1 Input: No
    (beide Kanäle voneinander trennen, so können sie unterschiedliche Signale empfangen und individuell ausgesteuert werden)
  • Ch 2 Input: 50%
  • Speaker Volume: 50%
    (ist egal, hat mit der Tonaufnahme nichts zu tun)

An der AVX-Funkstrecke lässt sich hingegen so gut wie nichts einstellen. Lediglich am Empfänger gibt es den AF-Out, mit dem man den Audio-Ausgangspegel bestimmen kann. Er kennt vier verschiedene Stufen, erkennbar an den vier Strichen (1 Strich: -30 dBu, 4 Striche: 0 dBu). Der Ausgangspegel sollte auf Maximum gestellt werden, also vier Striche.

Zwar könnte man den AVX-Empfänger direkt mit dem Mikrofoneingang der BMPCC verbinden, doch dann kommt auf Kanal 1 exakt dasselbe an wie auf Kanal 2. Daher setze ich noch den Beachtek MCC-2 dazwischen. Das ist ein passiver Audio-Adapter, der das Tonsignal zwar splitten, aber nicht verstärken kann. Das ist auch nicht nötig, da das Signal der AVX bereits stark genug ist.

Die Sennheiser AVX-Funkstrecke via Beachtek-Adapter an der BMPCC
AF-Out der AVX auf Stufe 4, der Beachtek auf einem Kanal bis Anschlag.

Mit den beiden Drehreglern des MCC-2 lassen sich beide Kanäle unabhängig voneinander wieder abschwächen. Ich empfehle einen der beiden leicht zurückzudrehen, den anderen aber bis zum Anschlag auszusteuern. Wichtig: Der kleine M/S-Schalter steht auf S, damit die Kanäle auch wirklich voneinander getrennt werden.

Mit diesen Settings zeichnet die BMPCC intern ein rauscharmes und gut hörbares Sprachsignal auf, verwendbar für Interviews sowie für Reportage.