Seit längerem wollte ich heute Abend mal wieder eine Diashow aus einzelnen Bilder mit Musikuntermalung für DVD erstellen. Unter Linux gibt es hierfür mehrere Programme, womit man eine solche Diashow erstellen kann (kMediaFactory, QDVDAuthor, ManDVD).
Bei allen drei wurde die Verarbeitung mit der gleichen Fehlermeldung abgebrochen:
Error while opening codec for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height
[dvd-slideshow] ERROR during ffmpeg execution!
Das ist insofern auch kein Wunder, da alle drei Programm mehr oder weniger nur eine Oberfläche für Konsolenprogramme sind und die eigentlich Erstellung der Diashow erfolgt durch dvd-slideshow bzw. ffmpeg.
Und offensichtlich hatte ffmpeg hier ein Problem.
Nach etwas Suchen fand ich zwei mögliche Gründe. Die Kubuntu bzw. Ubuntu-Version von ffmpeg wurde ohne mp3-Unterstützung kompiliert (Grund: das bekannte Rechteproblem mit mp3) und/oder ffmpeg erwartet eine Optionsangabe in einem geänderten Format.
1.) ffmpeg wurde ohne mp3 Unterstützung kompiliert
Erkennen kann man das, wenn man ffmpeg mit der Optioin “-v” startet:
$ ffmpeg -v
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
libavutil version: 1d.49.3.0
libavcodec version: 1d.51.38.0
libavformat version: 1d.51.10.0
built on Jun 3 2007 20:59:25, gcc: 4.1.3 20070528 (prerelease) (Ubuntu 4.1.2-9ubuntu2)
Angepasste Programmversionen kann man aber ohne Probleme installieren. Hierfür einfach als weitere Quelle in der Datei /etc/apt/sources.list
# ffmpeg (mp3, aac, etc)
deb http://de.packages.medibuntu.org/ gutsy free non-free
eintragen. Hiedurch kann ffmpeg mit mp3 Unterstützung installieren (also noch Update/Upgrade bzw. Install ausführen).
So sieht der Output dann aus:
$ ffmpeg -v
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-libmp3lame --enable-libfaadbin --enable-libfaad --enable-libfaac --enable-xvid --enable-x264 --enable-liba52 --enable-amr_nb --enable-amr_wb --enable-shared --prefix=/usr
libavutil version: 1d.49.3.0
libavcodec version: 1d.51.38.0
libavformat version: 1d.51.10.0
built on Dec 20 2007 21:25:50, gcc: 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
2.) ffmpeg erwartet eine Option in einem anderen Format
Zwischenzeitlich hat sich das Format einer Option, mit der ffmpeg aufgerufen wird, geändert. Diese Optionsänderung wurde jedoch in der aktuellen Version von dvd-slideshow noch nicht berücksichtigt. Diese Änderung kann jedoch jeder recht einfach nachholen:
Mit einem Editor die Datei “/usr/bin/dvd-slideshow” (mit Root-Rechten) aufrufen und nach dem Wert “192″ suchen. Dieser kommt in drei Zeilen vor. In diesen drei Zeilen ist der Wert 192 durch 192k zu ersetzten:
ffmpeg -i "$tmpdir/audio1.wav" -y -vn -ab 192k -acodec ac3 -ar 48000 -ac 6 "$tmpdir/audio1.ac3" >> "$outdir/$
ffmpeg -i "$tmpdir/audio1.wav" -vn -ab 192k -acodec ac3 -ar 48000 -ac 6 "$tmpdir/audio1.ac3" >> "$outdir/$log
fmpeg -i "$tmpdir/audio2.wav" -vn -ab 192k -acodec ac3 -ar 48000 -ac 6 "$tmpdir/audio2.ac3" >> "$outdir/$log
Hier geht es zumindest wieder