amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Amiga, AmigaOS 4 > ffmpeg Problem [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2003-01-20, 15:13 h

yelworC
Posts: 401
User
Ich habe einige Bilder im JPEG Format (alle natürlich gleich groß), die ich gerne zu einem Film zusammenfügen möchte. Die einzelnen Dateien sind unter dem Dateinamen frame.00001 usw gespeichert.

Im Shell starte ich ffmpeg mit folgender Befehlszeile:

ffmpeg -f jpeg -i daten:frames/frame.%5d -r 20 -b 800 ram:video.avi

Diese Zeile sollte ein AVI Video mit msmpeg4 Codec (default für AVI), einer Bitrate von 800 kb/s und 20 FPS erzeugen. Nach dem Bestätigen der Befehlszeile öffnet ffmpeg der Reihe nach alle vorhandenen Frames, warscheinlich um festzustellen, welche die höchste Framenummer ist. Wenn er keinen weiteren Frame mehr finden kann, bricht das Programm mit folgender Fehlermeldung ab:

daten:frames/frame.%5d: could not find codec parameters

Weiß jemand, nach was ffmpeg sucht oder welche Optionen oder Angaben er noch von mir braucht? Das Eingangsformat jpeg sollte er jedenfalls erkannt haben, da ich ja extra das Format angegeben habe. Wenn ich das nicht mache, dann kommt eine "Error while opening file" Meldung. In der dürftigen Anleitung kann ich leider auch nichts zu dem Thema finden.

Ich verwende übrigens die neue Version von ffmpeg, die vor ein paar Tagen hier bei Amiga-News gemeldet wurde.

bye

[ Dieser Beitrag wurde von yelworC am 20.01.2003 editiert. ]

[ - Answer - Quote - Direct link - ]

2003-02-24, 09:59 h

AMIZ
Posts: 16
User
Mit den JPEG-Files geht das bei mir auch nicht, ich weiß auch noch nicht, warum. Ich hatte aber schon mal JPEG-Files mit ffmpeg nach MPEG encodiert, ich weiß nur nicht: lag das an der alten ffmpeg-Version oder hatte ich damals ein anderes JPEG-Format. Zur Zeit nehme ich jetzt immer PPM-Files und encodiere diese nach MPEG mit ffmpeg, das funzt, bin aber mit der Qualität des MPEG-Streams noch nicht zufrieden (bin gerade noch am Herumexperimentieren mit den vielen Optionen).
Hier ein Beispiel:
ffmpeg -i work:ppm/%4d.ppm -s 352x288 -r 25 -b 1150 -bt 64 -an -vcodec mpeg1video work:test.mpg

[ - Answer - Quote - Direct link - ]

2003-02-24, 11:37 h

Falcon
Posts: 3544
User
Hi AMIZ,

schreib' doch bitte mal hier, wenn Du Parameter gefunden hast,
die sauber funzen. Zwar ist der Videokonverter nicht übel,
aber da ich ausschließlich JPEG's nach mpeg (oder mpeg2)
wandeln will, würde mir ein Shell-Script dafür ausreichen.

Die umständliche ANleitung von ffmpeg ist nicht so mein Ding...

Ciao,

Falcon.
--
Che-Hoa Yuin sagt:
Der Amiga kann alles, was man zum Arbeiten braucht...
... was er nicht kann, braucht man auch nicht !!!!!!!

Meine Homepage: http://home.wtal.de/elasticimages

[ - Answer - Quote - Direct link - ]

2003-02-24, 14:31 h

Palgucker
Posts: 1342
User
Also bei mir funzt es - auch wenn ich manchmal denke, ffmpeg ist ein
neues Reboot-Tool.
versuch es mal mit

ffmpeg -f jpeg -vcodec mpeg4 -b 800 -y -r 20 -i /Daten/frames/frame%5d.jpg /Ram/video.avi

Sollte dann ein DIVX-avi rauskommen. Mit -vcodec msmpeg4 ein DIV3.
Merkwürdig find ich nur, dass ffmpeg besonderen wert auf die Endung
der Ausgabedatei legt.In diesen Fall .avi - und alles wird gut.
Aber benenne ich es etwa .mpg4, dann gibts 'ne Fehlermeldung und Abbruch
oder halt bei .mpg wird ein mpeg-video erstellt, was sich nicht abspielen
lässt.

[ - Answer - Quote - Direct link - ]

2003-02-24, 14:43 h

yelworC
Posts: 401
User
Zitat:
Original von Palgucker:
Also bei mir funzt es - auch wenn ich manchmal denke, ffmpeg ist ein
neues Reboot-Tool.
versuch es mal mit

ffmpeg -f jpeg -vcodec mpeg4 -b 800 -y -r 20 -i /Daten/frames/frame%5d.jpg /Ram/video.avi

Sollte dann ein DIVX-avi rauskommen. Mit -vcodec msmpeg4 ein DIV3.
Merkwürdig find ich nur, dass ffmpeg besonderen wert auf die Endung
der Ausgabedatei legt.In diesen Fall .avi - und alles wird gut.
Aber benenne ich es etwa .mpg4, dann gibts 'ne Fehlermeldung und Abbruch
oder halt bei .mpg wird ein mpeg-video erstellt, was sich nicht abspielen
lässt.


Bei den Dateiendungen verhält sich ffmpeg in der Tat ziemlich "windowsmäßig". Wenn man vor der Ausgabedatei die Option "-f avi" angibt, dann erzeugt ffmpeg ein AVI File, auch wenn die Ausgabedatei die Endung .xyz hat.

Natürlich muss der verwendete Codec auch mit dem Ausgabeformat zusammenpassen. Ein .mpg mit msmpeg4 Codec ist ja kein MPEG File, auch wenn man sowas mit Windows Mediaplayer warscheinlich sogar abspielen kann. Man findet ja im Netz öfter mal Dateien mit der Endung .mpg die aber dann eigentlich was ganz anderes sind.

Vielleicht kannst Du die Anzahl der Crashs minimieren, indem Du mal den Stack höhersetzt. Ich verwende immer paranoina-mäßige 1.000.000 bytes und damit läufts eigentlich ganz gut und stabil.

Noch eine Frage:

Wird bei Euch die FPS bei WMV und ASF als Eingangsdateien auch immer falsch angezeigt? Bei mir steht da IMMER 1.50 fps. Beim Konvertieren kommt dann natürlich nichts gescheites raus, wenn man nicht von Hand einen FPS Wert angibt, der dann aber natürlich nicht unbedingt mit der Eingangsdatei übereinstimmt...

bye

[ Dieser Beitrag wurde von yelworC am 24.02.2003 editiert. ]

[ - Answer - Quote - Direct link - ]

2003-02-24, 15:40 h

Falcon
Posts: 3544
User
Hi,

da ich ja doof bin, was englische Docs angeht...

Kann FFMPEG eigentlich auch veranlaßt werden, nur jedes 2. Bilid
zu benutzen ?
MovieShop liefert pro Vollbild ja bekanntlich 2 Halbbilder...

Und wenn ich die vorher exportieren müßte (IFF oder PNM)...
Da könnte ich gleich das ganze auf 'nem C64 machen, der wäre
vermutlich schneller...

Ciao,

Falcon.
--
Che-Hoa Yuin sagt:
Der Amiga kann alles, was man zum Arbeiten braucht...
... was er nicht kann, braucht man auch nicht !!!!!!!

Meine Homepage: http://home.wtal.de/elasticimages

[ - Answer - Quote - Direct link - ]

2003-02-24, 16:13 h

yelworC
Posts: 401
User
Zitat:
Original von Falcon:
Kann FFMPEG eigentlich auch veranlaßt werden, nur jedes 2. Bilid
zu benutzen ?
MovieShop liefert pro Vollbild ja bekanntlich 2 Halbbilder...


In der Anleitung steht nichts in der Richtung, aber vielleicht klappt es, wenn Du z.B. vor den Eingangsdateien die Framerate 40 FPS und vor der Ausgangsdatei den Wert 20 FPS angibst.

Falls dann ffmpeg versucht, die gleiche Spieldauer nur mit weniger Bildern pro Sekunde zu erzeugen, dann sollte er jedes zweite Bild weglassen.

Das habe ich aber jetzt nicht getestet.

[ - Answer - Quote - Direct link - ]

2003-02-24, 16:46 h

Falcon
Posts: 3544
User
Hi yelworC:

Die Idee ist aber schon gut. Probier' ich nachher mal.

... Was ich heute alles probieren will... na ja...

Ciao,

Falcon.
--
Che-Hoa Yuin sagt:
Der Amiga kann alles, was man zum Arbeiten braucht...
... was er nicht kann, braucht man auch nicht !!!!!!!

Meine Homepage: http://home.wtal.de/elasticimages

[ - Answer - Quote - Direct link - ]

2003-02-24, 18:00 h

Palgucker
Posts: 1342
User
@ YelworC
Wurde gerade beim lesen deiner Antwort an Falcon darauf aufmerksam
gemacht, das man bei ffmpeg die Optionen für input- und outputfile
gefälligst getrennt setzen soll - man lernt eben immer was dazu.
So lassen mich eigendlich bei Deiner Befehlszeile nur die Doppelpunkte
hinter den Device- Volumennahmen stutzen. Diese soll ffmpeg wohl garnicht
mögen, oder war dieses nur ein Schreibfehler hier im Tread.

Das mit dem Stack auf 1000000 setzen werd ich beherzigen, auch wenn
er wirklich gewaltig ist. Da erscheint Ghostscript und Co ja wirklich
recht genügsam.

@ Falcon
Habe da auch noch so eine Idee...
Wenn Du das Ausgabefile (Ich gehe davon aus, das die Halbbilder nur die
halbe Screenhöhe haben - ansonsten vergiß es) mit -s widthxHeight
in der Höhe verdoppelst und gleichzeitig 50 fps einstellst, müsste doch
das ganze wieder ins Lot kommen.




[ - Answer - Quote - Direct link - ]

2003-02-24, 18:29 h

yelworC
Posts: 401
User
Zitat:
Original von Palgucker:
@ YelworC
Wurde gerade beim lesen deiner Antwort an Falcon darauf aufmerksam
gemacht, das man bei ffmpeg die Optionen für input- und outputfile
gefälligst getrennt setzen soll - man lernt eben immer was dazu.
So lassen mich eigendlich bei Deiner Befehlszeile nur die Doppelpunkte
hinter den Device- Volumennahmen stutzen. Diese soll ffmpeg wohl garnicht
mögen, oder war dieses nur ein Schreibfehler hier im Tread.


Jo, man kann jeweils vor dem Inputfile und vor der Ausgabedatei Optionen angeben. Das muss man aber nicht zwingend tun, da meistens das Eingansformat schon korrekt erkannt wird (sofern die Datei die richtige Endung hat).

Das mit den Doppelpunkten ist schon okay. Scheinbar benutzt Du nicht die aktuelle Version, mit der das möglich ist. Den Link zur neuen Version findest Du hier: http://www.amiga-news.de/de/news/AN-2003-01-00127-DE.html




Die neue Version ist auch einiges stabiler und kann auch mehr Formate konvertieren (z.b. WMV2 komplett mit Audio). Nachteil ist leider das von mir weiter oben schon beschriebene Problem mit den falschen FPS Werten bei .asf und .wmv Dateien.

Zitat:
Das mit dem Stack auf 1000000 setzen werd ich beherzigen, auch wenn
er wirklich gewaltig ist. Da erscheint Ghostscript und Co ja wirklich
recht genügsam.


1000000 ist sicherlich viel zu viel, aber ich sage mir "lieber zu viel als zu wenig" ;)

bye


[ Dieser Beitrag wurde von yelworC am 24.02.2003 editiert. ]

[ - Answer - Quote - Direct link - ]

2003-02-24, 20:58 h

Palgucker
Posts: 1342
User
@ YelworC
Und ich wundere mich, warum ffmpeg bei dem einen funzt und beim nächsten
nicht.
Zur neueren Version muss ich leider sagen, da sind sie wieder, meine 3 Probleme:

Kein P kein P und kein C. ;) :)

Meine Version ist noch FFmpeg0.4.6b4614 von
http://jahjah.free.fr/tools/

[ - Answer - Quote - Direct link - ]

2003-02-25, 01:29 h

Falcon
Posts: 3544
User
Hi,

@ Palgucker:

Das mit den halbhohen Frames stimmt schon. Bloß die werden
vorher schon korrekt durch den Scene-Handler skaliert. Das muß
ffmpeg nicht machen - er soll -nur- encodieren.

Das macht er aber nicht. Er schreibt mir jedesmal, daß
er irgendwelche Codecs nicht laden könnte... ?!?

Kann aber auch ein Problem des Scene-Handlers sein.
Da MovieShop seine JPEG-Halbbilder ohne jeglichen Header, etc.
schreibt (die Bilder haben ja eh alle die gleichehn Daten),
muß der Scene-Handler einen erzeugen. Und da kann es bei manchen
Programmen zu Konflikten kommen.

Ciao,

Falcon.
--
Che-Hoa Yuin sagt:
Der Amiga kann alles, was man zum Arbeiten braucht...
... was er nicht kann, braucht man auch nicht !!!!!!!

Meine Homepage: http://home.wtal.de/elasticimages

[ - Answer - Quote - Direct link - ]

2003-02-25, 01:35 h

yelworC
Posts: 401
User
Die neue Version bzw. das Archiv davon beinhaltet auch eine Version, die mit dem "kein P, kein P und kein C Problem" funktioniert. Das gleiche Problem hab ich nämlich auch ;)

[ - Answer - Quote - Direct link - ]

2003-02-25, 18:30 h

Palgucker
Posts: 1342
User
@ Yelwork
Hab mir die von Dir genannte Version nun auch auf Platte.
Und - Juchhuu es funktioniert genau so nicht! ;)
Und bei mir kommt es noch schlimmer, denn ich habe den
Verdacht, das der kleine Hinweis auf 040 sehr ernst gemeint war.
Hab meine "paar" TestJPEG's extra nochmal mit cjpeg und option
-baseline encodiert, aber der selbe Spruch, wie bei Dir.Mit Snoopdos
kann ich nur ahnen, das ffmpeg erst mal "forscht", mit welchen
File der User beginnt ( 000 oder 001 beispielsweise), denn das erste
File wird 2 x geladen. Danach werden alle Files kurz aufgerufen, bis
ein nicht mehr existierendes an die Reihe kommt.Danach eben Abbruch
und Fehlermeldung. Ich habe aber die Ahnung, das ffmpeg schon beim
2. Zugriff auf das Startfile anfangen müsste zu arbeiten. Irgendwas
ist dort mit dem JPEG-decoding faul. Bei der von mir benutzten Version
klappt dieses jedenfalls sehr ordentlich.
Habe es nochmal mit PPM's versucht, und um die scheint sich ffmpeg
zu kümmern. Alledings bei mir nicht allzulange, denn dann kommt
der böse Requester mit "Haltungsnote 8000000b". Aber wo sich bei mir
der Task festrammelt, könnte es bei Dir funktionieren - wenn PPM's
nicht so ungeheuer groß wären, vorallen wenn man vielleicht mehrere
tausend davon braucht. Ein Experiment musste ich doch noch machen,
indem ich alle meine Einzelbilder zu einer großen Testdatei namens
test.mjpeg einfach mit join zusammenfügte.Dann mit Option -f mjpeg
geladen und das selbe Ergebnis, wie bei den PPM's. Ich kann natürlich
nicht sagen, ob das mit einen 040 was geworden wäre, aber es wäre
vielleicht 'ne Möglichkeit.

[ - Answer - Quote - Direct link - ]

2003-02-25, 19:39 h

yelworC
Posts: 401
User
Palgucker:

Was fürn Prozessor hast Du denn? Da soweit ich mich erinnere nur 040 und aufwärts Versionen mit im Archiv waren, wirst Du natürlich immer Probleme auf kleineren Prozessoren haben.

Ich werds auch mal mit PPM probieren, aber wie Du schon sagtest frisst das ja wahnsinnig viel Platz auf der HD.

[ - Answer - Quote - Direct link - ]

2003-02-25, 19:57 h

Palgucker
Posts: 1342
User
@ YelworC
Ja, man traut sich's bald nicht zu sagen, aber bei mir
werkelt immer noch ein 030 + FPU.
Und das jetzt keiner auf die Idee kommt, mir zu sagen,
das dies hier wohl ein Amigaforum ist und kein's für
Waschmaschinen.

:glow: ;)

[ - Answer - Quote - Direct link - ]

2003-02-25, 20:40 h

AMIZ
Posts: 16
User
Habe mittlerweile 3 verschiedene Versionen von ffmpeg auf meinem Rechner, ich hab sie mal mit "1.", "2.", "3." benannt, da sie keine Versionsnamen besitzen.

1. http://jahjah.free.fr/tools/ffmpeg.lzx

2. http://www.kolumbus.fi/jami.laakkonen/ppc/download/ffmpeg.lzx

3. http://home.t-online.de/home/CarstenSiegner2/vcd-ffmpeg.lzx



ffmpeg -f jpeg -i /WORK/JPEG/%d.jpg -y -hq -g 300 -me epzs -s 352x288 -r 25 -b 1152 -vcodec mpeg1video /Work/test.mpg

(So habe ich mit ffmpeg Version "1." ein MPEG-1 erzeugt aus JPEG-Einzelbildern, funzt aber bei mir mit den Versionen "2." und "3." nicht, nur mit "1."!!! Bei "2." und "3." kommt Meldung: Can't find Codec parameter! Achtung, bei der Pfadangabe wird nur "/" erkannt, keine ":" )


ffmpeg -f jpeg -i /WORK/JPEG/%d.jpg -vcodec mpeg4 -b 800 -y -r 20 /Work/test.avi

(So hab ich ein DIVX-AVI erzeugt aus JPEG-Einzelbildern, geht auch nur mit "1.", nur Version "1." kann bei mir JPEG Einzelbilder als Eingangsformat erkennen.)


ffmpeg -f ppm -i WORK:PPM/%04d.ppm -y -strict -hq -ab 224 -ar 44100 -ac 2 -g 300 -me epzs -s 352x288 -r 25 -b 1152 -f mpeg -vcodec mpeg1video Work:test.mpg

(So habe ich ein MPEG-1 File aus PPM-Einzelbildern erzeugt mit Version "2." und "3.", Version "1." hab ich dafür nicht getestet, ich glaube aber, das das nicht geht, da es die Option -strict nicht kennt. )


Ansonsten gefällt mir ffmpeg gut, vor allem die Geschwindigkeit beim MPEG-Encodieren auf meiner 68060 Maschine. Auch die Qualität des MPEG-Encoders bzw. seines Codecs ist OK, werde aus diesen MPEG's demnächst mal VideoCD brennen und testen. Übrigens: Der Powerkonverter von Carsten Siegner arbeitet auch gut mit ffmpeg Version "3" zusammen, da kann man sich die Shell-Eingaben sparen, aber JPEG-Einzelbilder haben dort auch nicht gefunzt als Eingangsmaterial.

:dance1: AMIZ

[ - Answer - Quote - Direct link - ]

2003-02-25, 22:45 h

Palgucker
Posts: 1342
User
@ AMIZ
Jetzt wo ich Deinen letzten Thread lese, fällts mir wie Schuppen von
den Augen, warum ich voller Zuversicht VCD-ffmpeg 'runtergeladen habe.
Ich war nämlich mit der mpeg Qualität auch nicht hochzufrieden, egal
was ich für Bitraten eingab,-hq optionen setzte und anderes.Höchstens
die Gob's auf 4-5 begrenzen half, obwohl ja 12 oder 15 so eine Art
Quasistandart sind. Und da wollte ich doch unbedingt die -pass 2 Option
ausprobieren, die es in 2 und 3 (nach Deiner Liste) gibt. Denn
irgendwer hat hier im Forum schon mal glaubhaft versichert, das
qualitativ gute MPEG's ohne 2pass-encoding sogut wie nicht möglich
sind. Hätte mich mal interessiert, ob sich mit dieser Option die
Qualität merklich bessert.Ich selbst konnte natürlich ausgerechnet
Version 2 und 3 nicht Testen, weil siehe oben :(

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Amiga, AmigaOS 4 > ffmpeg Problem [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.