FFmpeg und Diashow

Computer und Technik, Linux & Open Source 26 März, 2008

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 :-)

4 Kommentare zum Thema “FFmpeg und Diashow”

  1. Andreas Baldt sagt:

    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. ????

  2. Jörg Arlandt sagt:

    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.

  3. Andreas Baldt sagt:

    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! ??????

  4. Jörg Arlandt sagt:

    Sorry, kann ich nicht nachvollziehen. Du hast aber den entscheidenden Teil der Fehlermeldung unterschlagen (die Zeile davor)

Hinterlasse einen Kommentar


Wordpress Themes by Mobile Themes / Jim / Übersetzt ins Deutsche von Pascal Senn
Copyright © 2007 Kessel Buntes (blog.arlandt.com). All rights reserved.
This blog uses DigoWatchWP an anti-fraud plugin for Wordpress.