Codec-Parameter konnten nicht gefunden werden – für gif?

Die Szene: Ubuntu 16.04, neu aktualisiert von 14.04, wo die Dinge mit avconv glücklich liefen

Die Requisiten: ein Verzeichnis voller Stills, motor_animate_000.gif, motor_animate_001.gif usw.

Die Spieler: Ich, ein größtenteils neuer ffmpeg-Benutzer, und ffmpeg.

Das Drama:

Basierend auf einem Vorschlag, ein anderes Problem zu lösen, führe ich die Befehlszeile aus:

ffmpeg -f image2 -framerate 30 -i motor_animate_%03d.gif motor.mpg

Nach der üblichen quälenden detaillierten Liste von Sachen von ffmpeg bekomme ich die folgende Fehlermeldung (in mehr als einer Farbe, ooh, ooh).

[image2 @ 0x14f8420] Codec-Parameter für Stream 0 konnten nicht gefunden werden (Video: none, none): Unbekannter Codec Erwägen Sie, den Wert für die Optionen „analyzeduration“ und „probesize“ zu erhöhen motor_animate_%03d.gif: Codec-Parameter konnten nicht gefunden werden Eingabe # 0, Bild2, aus 'motor_animate_%03d.gif': Dauer: 00:00:04.03, Start: 0.000000, Bitrate: N/A Stream #0:0: Video: keine, keine, 30 fps, 30 tbr, 30 tbn , 30 tbc Datei „motor.mpg“ existiert bereits. Überschreiben? [y/N] y Kein Decoder für Stream #0:0, Filterung unmöglich Fehler beim Öffnen der Filter!

Kann mir jemand sagen was da los ist und wie man es beheben kann? Alles, was ich tun möchte, ist, einen MPEG-Clip aus einer Reihe von Ein-Frame-Gifs zu machen.

Vielen Dank.

Wie wurden die GIFs erstellt? Und haben Sie es mit einer aktuellen Binärdatei versucht ?
GIFs wurden mit Scilab erstellt. Es funktioniert für einen Frame, wenn ich einen vollqualifizierten Dateinamen angebe. Ich würde das Paketwartungsprotokoll von Ubuntu wirklich lieber nicht verlassen - ich verwende andere Dinge (kdenlive), die mit der Ubuntu-Version von ffmpeg einwandfrei funktionieren, und möchte mich nicht in die Abhängigkeitshölle stürzen.
Und ich habe einige der GIFs stichprobenartig überprüft – sie sehen gut aus, zumindest für Ristretto.

Antworten (1)

Es ist einen Versuch wert, den concat-Demuxer zu verwenden.

Erstellen Sie zunächst eine Textdatei wie diese:

file 'motor_animate_000.gif'
file 'motor_animate_001.gif'
file 'motor_animate_002.gif'
file 'motor_animate_003.gif'
...

Dann renne

ffmpeg -f concat -i list.txt motor.mpg

Beachten Sie, dass ffmpeg durch die Angabe eines .MPGDateinamens als Ausgabeparameter in MPEG-1 mit einer Bitrate von 200 kb/s kodiert. Wenn MP4 nicht akzeptabel ist und .mpg benötigt wird, fügen Sie danach hinzu -c:v mpeg2video -b:v 1000k, list.txtum Codec und Avg festzulegen. Bitrate. Ändern Sie für MP4 einfach die Erweiterung; Die Standardeinstellungen sind anständig.

Das gibt mir eine Menge Warnungen der Art "DTS -922328613750886, next:100000 st:0 invalid dropping // PTS -922328613750886, next:100000 invalid dropping st:0 // Past duration 1.999992 too large". Aber es funktioniert. Vielen Dank.
Ja, die kannst du ignorieren. Der Concat-Demuxer arbeitet normalerweise mit Videodateien, die gültige PTS-Werte enthalten, nicht mit Relikten wie GIF.