FFmpeg und Diashow
Computer und Technik 26 März, 2008Seit 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
10 Juli 2008 um 20:48 Uhr
Ich habe in der Datei sources.list die entsprechenden Änderungen eigefügt, bekomme aber dann eine Fehlermeldung, weil der öffentliche Schlüssel nicht gefunden wurde. ????
10 Juli 2008 um 21:08 Uhr
Lese hierzu den Punkt GPG-Signaturen:
http://wiki.ubuntuusers.de/Fremdquellen
Dann solltest Du das noch lesen:
http://wiki.ubuntuusers.de/sources.list#head-5b4fd5813aeb0abbafb5740f90dd7ef6bb466769
Hat übrigens nichts mit dem Paket “ffmpeg” als solches zu tun, sondern eigentlich geht es bei Deinem Problem darum, wie man “fremde” Pakete installiert. Wenn Du konkret hierzu Fragen hast, schaue bitte in ein Distributions-Spezifisches Forum. In der Regel dürftest Du bei dieser Art von Fehler schon hilfreiche Hinweise finden, wenn Du im Internet nach dem “genauen” Fehlertext (z. B. bei google) suchst.
10 Juli 2008 um 21:28 Uhr
Danke für die bisherigen Hinweise. Bin auch ein wenig weiter gekommen. der Output von ffmpeg -v entspricht jetzt dem oben dargestellten. Auch in der Datei dvd-slideshow habe ich den Wert 192 in 192k geändert. trotzdem erhlalte ich die Fehlermeldung, dass die Slideshow nicht erstellt werden konnte, ERROR during ffmpeg execution! ??????
18 Juli 2008 um 16:41 Uhr
Sorry, kann ich nicht nachvollziehen. Du hast aber den entscheidenden Teil der Fehlermeldung unterschlagen (die Zeile davor)