Hilfe:Video- und Audiobearbeitung

From Offene Naturführer
Jump to: navigation, search
Hilfe
Video- Audiobe-
arbeitung
Piktogramm/Logo


Kommandozeilenprogramme sind sicher nicht jedermanns Geschmack und oft für's erste schwer zu bedienen. Jedoch haben diese Programme den Vorteil, daß sie große Datenmengen sehr viel zügiger bearbeiten als ein Programm mit zusätzlich grafischer Oberfläche. Jedes Programm hat seine Vor- und Nachteile. Das Kommandozeilenprogramm ffmpeg ist solch ein kleiner Rechenknecht mit sehr vielen Möglichkeiten, Mediendateien von einem Format in ein anderes zu übertragen oder einfache Verarbeitungsschritte vorzunehmen. Dazu zählen konvertieren, schneiden oder das extrahieren von Standbildern bzw. einzelnen Video-Frames. Viele Programme mit Grafischer Benutzeroberfläche bedienen sich ebenfalls ffmepg (siehe die Wikipedia für weitere Informationen).

Folgende Kommandozeilen-Beispiele gelten für Linux, jedoch sollten diese auch ähnlich unter Windows funktionieren, indem man ffmpeg.exe statt ffmpeg ausführen läßt. Ein einfacher Aufruf ist

ffmpeg -i OriginalDatei.mov VerarbeiteteDatei.ogg

Dabei stellt ffmpeg anhand der angegebenen Dateieindungen automatisch fest, was in welches Format wie konvertiert werden muß. Will man die automatische Bearbeitung abändern, muß man entsprechend zusätzliche Argumente mit eingeben. Unter Linux ist alles im Handbuch, dem sogenannten Manual beschrieben (man ffmpeg in die Konsole tippen + Enter, zurück mit q).

Video Konvertieren: mov (Quicktime) → ogv (Ogg-Theora)

###################
# eine einzelne Datei
dateiName="FSCN1666"
###################

# Info über die Datei
ffmpeg -i ${dateiName}.MOV
  #  Duration: 00:00:11.01, start: 0.000000, bitrate: 9832 kb/s
  #    Stream #0.0(eng): Video: h264, yuvj420p, 1280x720 [PAR 1:1 DAR 16:9], 9509 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc
  #    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 127 kb/s

# MOV → OGG (Video)
ffmpeg -i ${dateiName}.MOV ${dateiName}.ogg
# OGG → OGV umbenennen, da OGG eigentlich für Audio angedacht ist
mv ${dateiName}.ogg ${dateiName}.ogv

###################
# Das ganze für einen
# gesamten Ordner mittels
# for-Schleife inklusive
# neuer Metadaten
###################
for dateiName in *.MOV; do
  # ${dateiName%.*} entfernt die Dateieindung
  echo "Konvertiere ${dateiName%.*}.MOV nach ${dateiName%.*}.ogg ..."

  # Extrahiere das modified date, stat --format Datei.mov ergibt:
  #   2011-07-16 11:17:24.000000000 +0200
  # ... somit ist alles nach dem ersten Leerzeichen nicht benötigte
  # Information, die mit dem sed-Programm aus dieser Zeichenkette
  # entfernt werden kann: ersetze 'Leerzeichen+alles-mögliche-mehrfach' (.\+) mit ''
  datum=`stat --format=%y "${dateiNamePfad}.MOV" | sed "s/ .\+$//"`

  ffmpeg -i "${dateiName%.*}.MOV" \
    -metadata title="Titelei" \
    -metadata author="Mein Name" \
    -metadata date="${datum}" \
    -metadata genre="Kategorie, Genre" \
    -metadata license="CC-by-sa" \
    "${dateiName%.*}.ogg"

  echo "Umbenennen *.ogg nach *.ogv (interaktiver Modus -i)"
  mv -i "${dateiName%.*}.ogg" "${dateiName%.*}.ogv"
done


Einzelnes Bild extrahieren

#!/bin/bash
# Unter Linux: Pfad + Dateiname in Variable speichern
dateiNamePfad="/Pfad/zur/Filmdatei"
# Bild extrahieren
ffmpeg -i "${dateiNamePfad}.MOV" -y -f image2 "${dateiNamePfad}.jpg"
  # -i → input
  # -y → yes als Antwort für alle Fragen des Programms, z.B. überschreiben
  # -f → Format der Ausgabe

# Bild extrahieren aber 20 Sekunden versetzt
# ffmpeg -i "${dateiNamePfad}.MOV" -ss 0:0:20 -y -f image2 "${dateiNamePfad}.jpg"
  # -ss 0:0:20   → versetzte Anfang um 20 Sekunden


Video drehen/spiegeln

Mit ffmpeg … -vf "transpose=…" … kann man einfache Operationen durchführen wie drehen, und Spiegeln. Will man mehrere Änderungen vornehmen, so gibt man ffmpeg … -vf "aktion1, aktion2, aktion3" … an:

#!/bin/bash
  # Drehen 90° Uhrzeigersinn
  ffmpeg -i "${dateiName}.MOV" \
   -vf "transpose=1" "${dateiName}.ogg"
Broadway tower edit film strip ffmpeg normal.png 90° nach rechts drehen Broadway tower edit film strip ffmpeg transpose 1.png
#!/bin/bash
  # Drehen 90° gegen Uhrzeigersinn
  ffmpeg -i "${dateiName}.MOV" \
   -vf "transpose=2" "${dateiName}.ogg"
Broadway tower edit film strip ffmpeg normal.png 90° nach links drehen Broadway tower edit film strip ffmpeg transpose 2.png
#!/bin/bash
  # Drehen 90° mit Uhrzeigersinn + Spiegeln
  ffmpeg -i "${dateiName}.MOV" \
   -vf "transpose=3" "${dateiName}.ogg"
Broadway tower edit film strip ffmpeg normal.png ↷ drehen + spiegeln Broadway tower edit film strip ffmpeg transpose 3.png
#!/bin/bash
  # Drehen 90° gegen Uhrzeigersinn + Spiegeln
  ffmpeg -i "${dateiName}.MOV" \
   -vf "transpose=0" "${dateiName}.ogg"
Broadway tower edit film strip ffmpeg normal.png ↶ drehen + spiegeln Broadway tower edit film strip ffmpeg transpose 0.png
Um also einen Film zu spiegeln, führt man 2× transpose aus:
#!/bin/bash
  # Drehen spiegeln
  ffmpeg -i "${dateiName}.MOV" \
   -vf "transpose=0, transpose=1" "${dateiName}.ogg"
Broadway tower edit film strip ffmpeg normal.png spiegeln Broadway tower edit film strip ffmpeg transpose 0 transpose 1.png

Metadaten übernehmen

#!/bin/bash
  # Metadaten übernehmen und ?überschreinben
  ffmpeg -i "${dateiName}.MOV" \
   -map_meta_data "${dateiName}.ogg" \
   -metadata title="anderer Titel" \
   "${dateiName}.ogg"

Audiodateien und Sonagramme erzeugen

Dies funktioniert nach demselben Schema wie oben, jedoch ist es ratsam vorher eine unkomprimierte Audiodatei zu erstellen, die man mit dem Audio-Editor-Programm Audacity nacharbeiten kann.

(+)(−)
Beispiel *.mov (Quicktime) in unkomprimiertes *.wav-Audio verwandeln

Als nächstes importiert man die Audiodatei in Audacity und kann dort z.B. Normalisieren (ausgeleichen leiser und sehr lauter Passagen: Effekt > Normalisieren…) oder gewisse Frequenzbereiche ausblenden oder unterdrücken (Effekt > Equaliser). Im folgenden gezeigt am Beispiel des Gesangs eines Männchens des Grünen Heupferds.

Rauschen kleiner ~4kHz unterdrücken (Effekt > Equaliser…) Bildschirmfoto Audacity Equalizer Hintergrundrauschen reduzieren.png

Hat man einmal die Datei geöffnet, läßt sich auch mit etwas Handarbeit ein Sonagramm erstellen. Für Heuschrecken bietet sich am besten die Wellenform an, statt eines Frequenzspektrogramms, das wiederum für Vögel besser geeignet ist, um die Tonhöhe mit darzustellen.

Sonagramm anzeigen lassen am besten unskaliert (Ansicht > Kein Zoom - Normal, Strg + 2). Dies kann man als Bildschirmfoto (Druck) in einem Grafikprogramm weiter bearbeiten Bildschirmfoto Audacity Klangprofil von Spektrum nach Wellenform.png
Fertiges 20-Sekunden-Sonagramm des Grünen Heupferds nach Bearbeitung mit Gimp
Tettigonia viridissima singing male (Andreas Plank 2011-07-24) sonogram 20sec.png

Die fertig bearbeitete Audiodatei exportiert man im Ogg-Audio Format.