FFMPEG: "I/O error occurred"

phoneuser

Neuer User
Mitglied seit
10 Jan 2011
Beiträge
49
Punkte für Reaktionen
0
Punkte
0
Hallo,
muss hier ein neues Thread zu ffmpeg im freetz-trunk aufmachen, weil der andere Thread von mir bzgl. ffmpeg eine irreführende Überschrift hatte und soweit erledigt ist.

Hier mein Problem:
Ich habe im aktuellen Freetz-Trunk das ffmpeg installiert und erhalte bei der Konvertierung von JPG-Dateien folgenden Fehler:

# ffmpeg -f image2 -i a%d.jpg test.avi
a%d.jpg: I/O error occurred
Usually that means that input file is truncated and/or corrupted.


Ich habe es bereits mit diversen anderen jpg-Dateien versucht, aber immer mit dem selben Fehler. Den Patch von "er13" habe ich bereits installiert.

HIIILLLFEEE! :confused:
 
Ich nehme mal an, Du führt den Befehl in dem Ordner aus, in dem sich etwa 8.000 Datein befinden (s. diesen Thread). Kommt der gleiche "I/O"-Error, wenn Du den Befehl in einem Ordner mit weniger Dateien ausführt?
 
Nein, ich habe testweise 10 Bilder in einen anderen Ordner kopiert und darin den Befehl ausgeführt.

Gibt es jemanden, der es überhaupt geschafft hat? Ich habe das Gefühl, dass sich in diesem Forum wenige mit ffmpeg beschäftigt haben...:cool:

Für mich wäre es wichtig zu wissen, welche Komponenten ich im "make menuconfig" bzgl. ffmpeg anwählen muss, damit ich jpg-Bilder in avi-Dateien konvertieren kann. Ich möchte ausschließen, dass ich irgend etwas beim "make" vergessen habe.

Grüße
 
Für mich funktioniert das Beispiel aus der ffmpeg FAQ auch nicht:
Code:
root@fritz:/var/mod/root# ./ffmpeg -f image2 -i ./img%d.jpg test.avi
FFmpeg version 0.5.3, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-cross-compile --cross-prefix=mipsel-linux-uclibc- --arch=mipsel --prefix=/usr --enable-shared --enable-static --disable-debug --enable-gpl --disable-libfaad --disable-mmx --disable-mmx2 --enable-pthreads --disable-optimizations --enable-small --disable-stripping --disable-vhook --enable-zlib --enable-postproc --enable-ffmpeg --disable-ffserver --disable-ipv6 --disable-bsfs --disable-devices --disable-encoders --enable-encoder=jpegls --disable-decoders --enable-decoder=jpegls --disable-muxers --disable-demuxers --enable-demuxer=image2 --disable-parsers --disable-protocols
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Mar 17 2011 12:28:50, gcc: 4.4.5
./img%d.jpg: I/O error occurred
Usually that means that input file is truncated and/or corrupted.
root@fritz:/var/mod/root# ./ffmpeg -f image2 -i ./img1.jpg test.avi
FFmpeg version 0.5.3, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-cross-compile --cross-prefix=mipsel-linux-uclibc- --arch=mipsel --prefix=/usr --enable-shared --enable-static --disable-debug --enable-gpl --disable-libfaad --disable-mmx --disable-mmx2 --enable-pthreads --disable-optimizations --enable-small --disable-stripping --disable-vhook --enable-zlib --enable-postproc --enable-ffmpeg --disable-ffserver --disable-ipv6 --disable-bsfs --disable-devices --disable-encoders --enable-encoder=jpegls --disable-decoders --enable-decoder=jpegls --disable-muxers --disable-demuxers --enable-demuxer=image2 --disable-parsers --disable-protocols
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Mar 17 2011 12:28:50, gcc: 4.4.5
[image2 @ 0x42ce30]Could not find codec parameters (Video: 0x0000)
./img1.jpg: could not find codec parameters
Gruß
Oliver
 
Der Unterschied in der Fehlermeldungen deutet darauf hin, daß im ersten Beispiel versucht wird, die Datei "./img%d.jpg" zu öffnen, die nicht existiert. "File not Found" wäre dafür allerdings deutlicher als "I/O Error". Es ließe sich mit "strace -f -efile" überprüfen.

Im zweiten Fall wird dann die Datei "./img1.jpg" geöffnet, aber irgend etwas funktioniert nicht, wobei ich mir nach der Meldung nicht sicher bin, ob das Problem das Lesen des Bildes oder das erstellen des Videos ist. Den Ausdruck "codec parameters" würde ich eher mit dem Video verbinden, aber dann kommt die gleiche Meldung nochmal in Verbindung mit dem Dateinamen. Aber vielleicht ist es nur die zuletzt gelesene Datei in Verbindung mit dem zuletzt aufgetretenen Fehler, unabhängig davon, ob da eine Verbindung besteht oder nicht.
 
Ich habe leider kein Linux auf meinem PC.

Eventuell könnte ich es mit einer Ubuntu-CD versuchen...

:gruebel:Ich habe es bereits mit Bildern von meiner Digitalkamera probiert..ebenfalls ohne Erfolg.
 
Die Datei wird nichtmal bei der "korrekten" Angabe versucht zu öffnen:
Code:
root@fritz:/var/mod/root# strace -f -efile ./ffmpeg -f image2 -i ./img1.jpg test.avi
execve("./ffmpeg", ["./ffmpeg", "-f", "image2", "-i", "./img1.jpg", "test.avi"], [/* 223 vars */]) = 0
open("/usr/lib/freetz/libpostproc.so.51", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libpostproc.so.51", O_RDONLY) = 3
open("/usr/lib/freetz/libavdevice.so.52", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libavdevice.so.52", O_RDONLY) = 3
open("/usr/lib/freetz/libavformat.so.52", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libavformat.so.52", O_RDONLY) = 3
open("/usr/lib/freetz/libavcodec.so.52", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libavcodec.so.52", O_RDONLY) = 3
open("/usr/lib/freetz/libavutil.so.49", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libavutil.so.49", O_RDONLY) = 3
open("/usr/lib/freetz/libm.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libm.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libm.so.0", O_RDONLY)        = 3
open("/usr/lib/freetz/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
open("/usr/lib/freetz/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
open("/usr/lib/freetz/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libc.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
open("/usr/lib/freetz/libavutil.so.49", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libavutil.so.49", O_RDONLY) = 3
open("/usr/lib/freetz/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
open("/usr/lib/freetz/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
open("/usr/lib/freetz/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libc.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
open("/usr/lib/freetz/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
open("/usr/lib/freetz/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
open("/usr/lib/freetz/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libc.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
open("/usr/lib/freetz/libavcodec.so.52", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libavcodec.so.52", O_RDONLY) = 3
open("/usr/lib/freetz/libavutil.so.49", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libavutil.so.49", O_RDONLY) = 3
open("/usr/lib/freetz/libm.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libm.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libm.so.0", O_RDONLY)        = 3
open("/usr/lib/freetz/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
open("/usr/lib/freetz/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
open("/usr/lib/freetz/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libc.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
open("/usr/lib/freetz/libavutil.so.49", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libavutil.so.49", O_RDONLY) = 3
open("/usr/lib/freetz/libm.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libm.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libm.so.0", O_RDONLY)        = 3
open("/usr/lib/freetz/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
open("/usr/lib/freetz/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
open("/usr/lib/freetz/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libc.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
open("/usr/lib/freetz/libm.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libm.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libm.so.0", O_RDONLY)        = 3
open("/usr/lib/freetz/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
open("/usr/lib/freetz/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
open("/usr/lib/freetz/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/mod/lib/libc.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
open("/mod/lib/libc.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
open("/mod/lib/libc.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
open("/mod/lib/libc.so.0", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib/libc.so.0", O_RDONLY)        = 3
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=22536, ...}) = 0
FFmpeg version 0.5.3, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-cross-compile --cross-prefix=mipsel-linux-uclibc- --arch=mipsel --prefix=/usr --enable-shared --enable-static --disable-debug --enable-gpl --disable-libfaad --disable-mmx --disable-mmx2 --enable-pthreads --disable-optimizations --enable-small --disable-stripping --disable-vhook --enable-zlib --enable-postproc --enable-ffmpeg --disable-ffserver --disable-ipv6 --disable-bsfs --disable-devices --disable-encoders --enable-encoder=jpegls --disable-decoders --enable-decoder=jpegls --disable-muxers --disable-demuxers --enable-demuxer=image2 --disable-parsers --disable-protocols
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Mar 17 2011 12:28:50, gcc: 4.4.5
[image2 @ 0x42ce30]Could not find codec parameters (Video: 0x0000)
./img1.jpg: could not find codec parameters
Gruß
Oliver
 
Das verstehe ich aber nicht! Die Files sind doch im Pfad:

root@fritz:/usr/lib/freetz# ls -l
lrwxrwxrwx 1 root root 21 Mar 11 12:35 libavcodec.so -> libavcodec.so.52.20.1
lrwxrwxrwx 1 root root 21 Mar 11 12:35 libavcodec.so.52 -> libavcodec.so.52.20.1
-rwxr-xr-x 1 root root 445924 Mar 11 12:35 libavcodec.so.52.20.1
lrwxrwxrwx 1 root root 21 Mar 11 12:35 libavdevice.so -> libavdevice.so.52.1.0
lrwxrwxrwx 1 root root 21 Mar 11 12:35 libavdevice.so.52 -> libavdevice.so.52.1.0
-rwxr-xr-x 1 root root 3144 Mar 11 12:35 libavdevice.so.52.1.0
lrwxrwxrwx 1 root root 22 Mar 11 12:35 libavformat.so -> libavformat.so.52.31.0
lrwxrwxrwx 1 root root 22 Mar 11 12:35 libavformat.so.52 -> libavformat.so.52.31.0
-rwxr-xr-x 1 root root 106196 Mar 11 12:35 libavformat.so.52.31.0
lrwxrwxrwx 1 root root 20 Mar 11 12:35 libavutil.so -> libavutil.so.49.15.0
lrwxrwxrwx 1 root root 20 Mar 11 12:35 libavutil.so.49 -> libavutil.so.49.15.0
-rwxr-xr-x 1 root root 46912 Mar 11 12:35 libavutil.so.49.15.0
lrwxrwxrwx 1 root root 16 Mar 11 12:35 libpopt.so -> libpopt.so.0.0.0
lrwxrwxrwx 1 root root 16 Mar 11 12:35 libpopt.so.0 -> libpopt.so.0.0.0
-rwxr-xr-x 1 root root 40680 Mar 10 09:48 libpopt.so.0.0.0
lrwxrwxrwx 1 root root 21 Mar 11 12:35 libpostproc.so -> libpostproc.so.51.2.0
lrwxrwxrwx 1 root root 21 Mar 11 12:35 libpostproc.so.51 -> libpostproc.so.51.2.0
-rwxr-xr-x 1 root root 34000 Mar 11 12:35 libpostproc.so.51.2.0
lrwxrwxrwx 1 root root 13 Mar 11 12:35 libz.so -> libz.so.1.2.5
lrwxrwxrwx 1 root root 13 Mar 11 12:35 libz.so.1 -> libz.so.1.2.5
-rwxr-xr-x 1 root root 76036 Mar 10 09:47 libz.so.1.2.5
 
@phoneuser: könntest Du bitte testen, ob 6667 Dein Problem behebt? Bei mir geht's. Danke!
 
@er13: würde ich gerne tun, aber wie?

Ich nehme an, dass das sowas wie ein Patch ist. Wie installiere ich ein Changeset?
 
Code:
svn up
make menuconfig (unter ffmpeg alles, was MJPEG im Namen enthält, auswählen)
make ffmpeg-dirclean
make

p.s. bitte mach' Dich ein wenig mit Grundlagen vertraut.
 
Danke. Hast recht.
 
Beim Aufruf von "svn up" kam es zu zwei Warnungen bzgl. ffmpeg. Ich habe "p" für postpone angewählt.. beim "make menuconfig" erhalte ich diese Meldungen (siehe Anhang):
 

Anhänge

  • ffmpeg.JPG
    ffmpeg.JPG
    101.6 KB · Aufrufe: 4
Code:
rm -rf make/ffmpeg
svn up
make menuconfig
Gruß
Oliver
 
... zum heulen!!!

Ich habe den make nunmehr geschafft (Hurra!!)

Leider erhalte ich immer noch die gleiche Fehlermeldung bzw. zwei verschiedene Meldungen. Ich habe andere Bilddateien (diesmal von meiner Digitalkamera) in einen Ordner namens Bilder kopiert. Danach bin ich in dieses Verzeichnis gewechselt und habe dort den Befehl eingegeben:

ffmpeg -f image2 -i ./dsc%d.jpg ./test.avi
Ergebnis:
./dsc%d.jpg: I/O error occurred
Usually that means that input file is truncated and/or corrupted.


Danach folgenden Befehl ausprobiert:
ffmpeg -f image2 -i ./dscf7104.jpg ./test.avi
Ergebnis:
[image2 @ 0x42ce80]Could not find codec parameters (Video: mjpeg)
./dscf7104.jpg: could not find codec parameters


Das wird langsam zu hoch für mich! :mad:

@er13: welchen Zaubertrick hast du benutzt??? :D

Vielleicht können wir von vorne beginnen und durchgehen, welche Komponenten ich in "menuconfig" auswählen muss, um einfach "jpg" nach "avi" konvertieren zu können...
 
Vielleicht können wir von vorne beginnen und durchgehen, welche Komponenten ich in "menuconfig" auswählen muss
Wähle doch vorerst zum Testen einfach alles unter ffmpeg aus.

welchen Zaubertrick hast du benutzt?
Ich habe nur ein wenig getrickst. Bei meinen (auch von einer Digitalkamera kommenden) Bildern war die Auflösung zu hoch, ffmpeg hat sich aber entsprechend beschwert. Ich habe daraufhin das eine Bild auf dem PC runterskaliert, dann mehrfach umkopiert und mit diesen quasi mehreren Bildern getestet.
 
Hat bei dir der Aufruf mit dem %d funktioniert? Ich habe es so nicht hinbekommen.

Gruß
Oliver
 

Statistik des Forums

Themen
246,284
Beiträge
2,249,438
Mitglieder
373,877
Neuestes Mitglied
master233
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.