M4A-Dateien im Terminal zu MP3-Dateien umwandeln

Mittels FFmpeg und dem find-Kommando lassen sich M4A-Dateien schnell in MP3-Dateien umwandeln. Dazu muss im gewünschten Verzeichnis der Befehl:

find . -iname '*.m4a' -exec bash -c 'directory=$(dirname "{}"); base=$(basename "{}"); ffmpeg -i "{}" -ab 192k "$directory/${base%.*}.mp3"' \;

im Terminal ausgeführt werden. Anschließend können die M4A-Dateien auf Wunsch gelöscht werden:

find . -type f -name '*.m4a' -delete

Damit ist die Konvertierung abgeschlossen und die MP3-Dateien sind dort zu finden, wo vorher die M4A-Dateien lagen.

Audio-Dateien mittels ffmpeg normalisieren

Für einen Audio-Workflow wollte ich unter anderem Audio-Dateien normalisieren, damit diese mit einer identischen Lautheit verfügbar sind. Dazu kann das freie ffmpeg genutzt werden:

ffmpeg -i local.flac -filter:a loudnorm local.wav

Allerdings wird bei der Normalisierung eine 2-Pass-Lösung empfohlen. Dabei wird im ersten Durchlauf die Datei analysiert, um die entsprechenden Werte für die qualitativ hochwertige Normalisierung zu ermitteln:

ffmpeg -i local.flac -filter:a loudnorm=print_format=json -f null NULL

Für die entsprechende Datei wird dann eine Ausgabe erzeugt:

{
	"input_i" : "-33.65",
	"input_tp" : "-8.11",
	"input_lra" : "7.10",
	"input_thresh" : "-44.96",
	"output_i" : "-25.28",
	"output_tp" : "-2.00",
	"output_lra" : "4.50",
	"output_thresh" : "-36.36",
	"normalization_type" : "dynamic",
	"target_offset" : "1.28"
}

Mithilfe dieser Informationen kann dann der zweite Durchlauf gestartet werden:

ffmpeg -i local.flac -filter:a loudnorm=linear=true:i=-16:lra=7.0:tp=-2.0:offset=0.50:measured_I=-33.65:measured_tp=-8.11:measured_LRA=7.10:measured_thresh=-44.96 -ar 44100 local.wav

Da die Lösung mittels ffmpeg etwas umständlich ist, wurde ffmpeg-normalize entwickelt. Dieses Python-Tool kann über den Python-Paketmanager installiert werden:

pip3 install ffmpeg-normalize

Anschließend kann die Normalisierung und Konvertierung vorgenommen werden:

ffmpeg-normalize local.flac -o local.wav -ar 44100

In diesem Fall wird die FLAC-Datei normalisiert und in eine Wave-Datei konvertiert und die entsprechende Samplerate auf 44100 gestellt. Um das Kommando einfacher zugänglich zu machen, kann eine Bash-Funktion definiert werden. Unter macOS muss diese in der entsprechenden Konfigurationsdatei der Z shell angelegt werden:

nano ~/.zshrc

Anschließend kann die entsprechende Funktion in der Datei definiert werden:

normalize ()
{
  ffmpeg-normalize "$1" -o "$1".wav -ar 44100
}

Nachdem das Terminal neu gestartet wurde, kann das Kommando wie folgt benutzt werden:

normalize local.flac

mov-Dateien mittels ffmpeg zu mp4-Dateien konvertieren

Im Internet und den Appstores existieren eine Reihe unzählige Anzahl von Konvertierungstools für Video- und Audiodateien. Und meist sind diese Werkzeuge aufgeblasen oder schlimmer mit unerwünschter Software versehen. Glücklicherweise kann die Konvertierung mittels ffmpeg auch einfach von der Hand gehen. Dazu muss ffmpeg im ersten Schritt installiert werden, z.B. unter macOS mittels Homebrew:

brew install ffmpeg

Anschließend kann im Terminal die eigentliche Konvertierung stattfinden:

ffmpeg -i example.mov -vcodec h264 -acodec aac example.mp4

Je nach Größe der Datei ist die Konvertierung nach einigen Minuten abgeschlossen.

Konvertierung von CBR- oder CBZ-Dateien in Calibre führt zu schwarzweißen Bildern

Mittels Calibre ist es unter andere möglich Bücher und Dokumente in andere Formate zu konvertieren. Wer allerdings versucht CBR- oder CBZ-Dateien zu konvertieren, wird feststellen dass diese in der konvertierten Version schwarzweiß sind.

Die Eingabeoptionen in den Einstellungen von Calibre

Grund hierfür ist eine Option, welche sich in den Einstellungen unter dem Punkt Konvertierung -> Eingabeoptionen befindet. Dort findet sich in den Einstellungen für Comic-Eingabe der Punkt Umwandlung von Bildern zu schwarz-weiß deaktivieren. Nachdem dieser aktiviert wurde und die Konvertierung erneut vorgenommen wurde, werden die Originalfarben verwendet und eine Konvertierung in Schwarzweiß findet nicht statt.

Videos im Terminal unter Ubuntu in MP3s umwandeln

Videos können unter Ubuntu mithilfe von FFmpeg einfach in MP3s umgewandelt werden:

ffmpeg -i file.mp4 file.mp3

Mithilfe von find kann diese Operation auch für ein komplettes Verzeichnis durchgeführt werden:

find . -iname "*.mp4" -type f -exec ffmpeg -i {} {}.mp3 \;

Da diese Operation einige Zeit in Anspruch nimmt, kann das Ganze auch mittels screen ausgeführt und so in den Hintergrund verlagert werden:

screen find . -iname "*.mp4" -type f -exec ffmpeg -i {} {}.mp3 \;