Einführung in die Videobearbeitung unter Linux

Im folgenden beschreibe ich, wie ich meine Videos auf einem Linux-Arbeitsplatz-PC bearbeite. Die Angebote an Video- und Audiobearbeitungssoftware für Linux sind erstaunlich vielfältig, stabil und leistungsfähig. Einige gängige Vorurteile über das Arbeiten unter Linux fand ich allerdings bestätigt:

Ob kommerzielle Produkte vorzuziehen sind, wenn man die Kommandozeile meiden möchte – etwa weil sie in der Benutzerführung überlegen und besser (und vor allem zusammenhängend) dokumentiert sind – kann ich nicht beurteilen, weil mein Erfahrungsschatz dafür nicht ausreicht. Allerdings darf ich nicht verschweigen, dass ich zu Linux-basierter Video-Software auch deshalb übergegangen bin, weil ich mit dem einen kommerziellen Produkt, das im Lieferumfang meines Camcorders enthalten war, überhaupt nicht zurechtgekommen bin.

Damit auch Anfänger schnell zu ersten Erfolgen kommen, erkläre ich hier Schritt für Schritt meine Vorgehensweise, ohne mich in Details zu verlieren. Denn der gesamte Ablauf – von der AVI-Datei auf dem Camcorder bis zur fertigen DVD – ist meines Wissen nirgends zusammenhängend dargestellt.

Detaillierte Informationen zu den verwendeten Werkzeugen und Anwendungen finden sich auf deren Websites (siehe Abschnitt Dokumentation). ⇑ Überblick

Mein etwa 2 Jahre alter PC hat einen 3.7-GHz-64-bit-Athlon-Prozessor und 2 GB Speicher. Diese Ausstattung hat sich als unbedingt erforderlich erwiesen. In Avidemux (s.u.) zehn Minuten MPEG zu erstellen, bringt meine Maschine etwa eine viertel Stunde lang mächtig ins Schwitzen.

Ich arbeite unter Opensuse 10.3. Die Paketverwaltung unter YaST ist in dieser Distribution zuverlässig und anwenderfreundlich. Für unsere Zwecke ist es wichtig, auch Community-Repositories als Installationsquellen zuzulassen, weil einige der benötigten Pakete nicht zur Standarddistribution gehören. Dazu gehört auf jeden Fall Packman. Bei mir sieht das entsprechende YaST-Fenster so aus.

Folgende Pakete sollten auf jeden Fall installiert sein (in Klammern steht jeweils die Quelle, wenn das Paket in der DIstribution nicht enthalten ist):

Die Liste ist bestimmt nicht vollständig. Möglicherweise müssen für andere Video- und Audioformate weitere Pakete installiert werden, damit die richtigen Codecs zur Verfügung stehen. Außerdem setze ich voraus, dass die qt-Bibliothek und einige Standard-Werkzeuge, wie cdrecord, cdrdao, dvd+rw-format, mkisofs, growisfs ..., die in den gängigen Desktop-Distributionen ohnehin enthalten sind, installiert sind. Wichtig sind die vier letzten Pakete. Sie enthalten die graphischen und kommandozeilenbasierten Werkzeuge, mit denen ich gearbeitet habe. ⇑ Überblick

Avidemux ist mein bevorzugtes Videobearbeitungswerkzeug. Mein erster Versuch, eine AVI-Datei aus meinem Samsung-Camcorder in Avidemux zu öffnen, war allerdings ernüchternd.

Es hat mich eine Zeit gekostet, herauszufinden, woran das grüne Desaster liegt, und wie dem Problem abgeholfen werden kann. Geärgert hat es mich nur mäßig, weil ich dabei eine Menge über Videoformate gelernt habe.

Wenn man eine Samsung-AVI-Datei in einem Hex-Editor öffnet, findet man im Header Folgendes. Die 4 Byte lange Sequenz SEDG bezeichnet den Codec, und genau dieser herstellerspezifische Codec ist Avidemux einfach nicht bekannt. Aber man kann die Anwendung überlisten, indem man ihr vorgaukelt, es handele sich um eine generische DIVX-Datei. Sprich: man ersetzt die beiden SEDG-Zeichenketten durch DIVX, und einer Bearbeitung steht nichts mehr im Weg. Ich habe das mit einem kleinen C-Programm bewerkstelligt, das die konvertierte Datei in ein neues "converted"-Verzeichnis schreibt, aber es gibt natürlich auch andere Wege. ⇑ Überblick

Nachdem ich nun AVI-Dateien habe, mit denen Avidemux etwas anfangen kann, gehe ich wie folgt vor, um eine DVD-fähige MPEG-Datei zu erstellen:

Es ist durchaus sinnvoll, die so erstellte Datei in einem Viewer (mplayer, xine ...) zu testen. ⇑ Überblick

Zuallererst muss die Tonspur aus der MPEG-Datei extrahiert werden. Das bewerkstelligt man am einfachsten mit einem Kommando:

mplayer -vo null -ao pcm:file=<audio file> <video file>

Damit wird eine Sound-Datei im WAV-Format erzeugt, die man mit Audio-Editoren bearbeiten kann. Mein Favorit ist Audacity. Ich benutze es zum Einspielen von Musik und Kommentaren und zum Entfernen von Rauschen und Nebengeräuschen.

Ein Off-Kommentar kann aufgezeichnet werden, indem man zunächst hinter dem Mikrophon-Regler das richtige Aufnahmegerät wählt (ich benutze alsa und wähle "Mic"), und dann den Aufnahmeknopf drückt (siehe Screenshot). Dadurch wird eine neue Tonspur erzeugt, die das Mikrophon-Signal aufnimmt. Es scheint ein bekanntes Phänomen zu sein, dass der Aufnahmepegel bei manchen Mikrophonen sehr schwach und nicht regelbar ist. Dem kann mit den "Effekten" abgeholfen werden: man kann verstärken, normalisieren (z.B. einen konstanten Versatz entfernen) und Rauschen unterdrücken.

Die Synchronisation des Kommentars ist völlig unproblematisch. Zum Einen kann man das extrahierte Tonsignal selbst heranziehen, zum Andern kann man sowohl in Avidemux als auch in Audacity den Cursor mit Hilfe der Zeitanzeige im unteren Bereich sehr genau positionieren. Außerdem können die relativen Positionen der Spuren jederzeit verändert werden.

Mein Samsung-Camcorder produziert oft ein Geräusch, das sich im Spektrum als Spitzen bei 3900, 6518 und 9100 Hz zeigt). Bei solchen Problemen ist es sehr hilfreich, ein paar Plugins zu installieren. Für die Unterdrückung des Nebengeräuschs benutze ich zum Beispiel den in Nyquist geschriebenen ... keine Sorge: einfach klicken, und das Skript wird in einem anderen Fenster erscheinen, aus dem man es kopieren oder speichern kann ...

;nyquist plug-in
;version 1
;type process
;name "Notch Filter..."
;action "Applying Notch Filter..."
;info "by David R. Sky\nReleased under terms of GNU Public License\nlower q gives wider notch"

;control choice "Default choice" int "0=60 1=50 2=alternative" 0 0 2
;control freq "Notch frequency" real "Hz" 60.0 20.0 20000.0
;control q "Notch q" real "Q" 1.00 0.01 5.00

; Notch filter by David R. Sky
; updated January 2, 2006
; Released under terms of the GNU Public License
; http://www.opensource.org/licenses/gpl-license.php

(setf freq (cond
; remove 60 Hz hum, North America
((= choice 0) 60)
; remove 50Hz hum, UK and elsewhere
((= choice 1) 50)
; set other desired notch frequency
((= choice 2) freq)))

; if audio is stereo...
(if (arrayp s)
; apply notch to stereo audio
(vector (notch2 (aref s 0) freq q)
(notch2 (aref s 1) freq q))
; ... otherwise apply to mono
(notch2 s freq q))
"Notch Filter"
("Kerbfilter").

Ist die Tonspur fertig, kann man sie in Avidemux anstelle der ursprünglichen Spur in das Video einfügen. Das erreicht man, indem man im Audio-Menü für die Haupt-Audiospur die passende externe Datei wählt. Beim Speichern ist wieder auf die richtigen Codecs (s.o.) zu achten.

Den Kommandozeilenanhängern gebe ich ... keine Sorge: einfach klicken, und das Skript wird in einem anderen Fenster erscheinen, aus dem man es kopieren oder speichern kann ...

mencoder <Input AVI> -of mpeg -ovc lavc \
-lavcopts vcodec=mpeg2video:aspect=4/3:vpass=1:vrc_buf_size=1835:\
vrc_maxrate=9800:vbitrate=8000:keyint=15:trell:mbd=2:cbp:mv0:dc=10:turbo \
-ofps 25 -mpegopts format=dvd:tsaf -srate 48000 -vf scale=720:576,harddup \
-oac lavc -lavcopts acodec=ac3:abitrate=192 -af lavcresample=48000 \
-o /tmp/1.mpg && sleep 30 ; \
mencoder <Input AVI> -of mpeg -ovc lavc \
-lavcopts vcodec=mpeg2video:aspect=4/3:vpass=2:vrc_buf_size=1835:\
vrc_maxrate=9800:vbitrate=8000:keyint=15:trell:mbd=2:cbp:mv0:dc=10 \
-ofps 25 -mpegopts format=dvd:tsaf -srate 48000 -vf scale=720:576,harddup \
-oac lavc -lavcopts acodec=ac3:abitrate=192 \
-af lavcresample=48000 -audiofile <WAV-Datei> -o <Output MPEG>
hier
noch einen mencoder-Befehl mit, der dasselbe tut. Er ist auf meine Verhältnisse zugeschnitten und muss unter Umständen noch angepasst werden.

Eine Schlussbemerkung: mir ist es immer wieder passiert, dass ich "alsasound" neu starten musste, wenn ich irgendeine Geräteeinstellung in Audacity verändert habe. Auch beim Starten kann es passieren, dass die Geräte nicht erkannt werden. Ich habe noch nicht herausgefunden, woran das liegt, und wie man es vermeiden kann. ⇑ Überblick

Wer mit der Kommandozeile und mit XML-Konfigurationen gut zurechtkommt, kann direkt mit dvdauthor arbeiten. Etwas freundlicher wird das Arbeiten mit diesem Werkzeug, wenn man die graphische Benutzeroberfläche 'Q'DVD-Author benutzt.

Die Bedienung von 'Q'DVD-Author ist am Anfang etwas gewöhnungsbedürftig, und selbst mit einer gewissen Erfahrung kann man immer noch leicht Fehler machen. Ich habe mir angewöhnt, das Ergebnis zunächst auf eine wiederbeschreibbare DVD zu brennen, damit ich sie in einem normalen DVD-Player testen kann.

Um eine brauchbare DVD zu erstellen. sind folgende Schritte auszuführen:

⇑ Überblick Es sei betont, dass diese Schrittfolge eine Empfehlung ist. Jeder kann sie nach eigenem Gusto anpassen.

Jeder der oben aufzählten Schritte enthält nur das absolut Notwendige. Die genannten Werkzeuge liefern wesentlich mehr Optionen (s.u.). Wenn man die Anwendungen einigermaßen beherrscht, kann man tolle Ergebnisse erzielen. Ich war überrascht über die Qualität meiner eigenen Produktionen, die weit über das, was man von einem blutigen Amateur erwarten kann, hinausgeht. Cih würde mich freuen, wenn diese Einführung auch anderen hilft, ordentliche Video-DVDs mit vertretbarem Aufwand zusammenzustellen.

Für Kommentare, Korrekturen, Ergänzungen, Anmerkungen bin ich sehr dankbar.

Links zu Dokumentations-Sites:

Der Inhalt dieser Site wurde mit aller möglichen Sorgfalt zusammengestellt. Ich übernehme jedoch keine Haftung für Richtigkeit, Vollständigkeit und Aktualität der Angaben. Ich behalte mir das Recht vor, den Inhalt jederzeit zu ändern oder die Site komplett einzustellen.

Die Site enthält Verknüpfungen zu Websites Dritter ("externe Links"). Diese unterliegen der Haftung der jeweiligen Anbieter. Ich habe beim erstmaligen Erstellen meines Angebots im Inhalt der verknüpften Websites keine Rechtsverstöße feststellen können. Ich habe keinen Einfluss auf den Inhalt der verknüpften Sites und kann diesen auch nicht ständig prüfen. Sobald mir bekannt wird, dass eine der verknüpften Sites rechtswidrigen Inhalt enthält, werde ich die Verknüpfung umgehend löschen.

München, den 16.10.2008 Michael Treichel ⇑ Überblick