Ankündigung

Einklappen
Keine Ankündigung bisher.

Error wegen corrupt JPEG data

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Error wegen corrupt JPEG data

    Hi,

    ich bekomme schon seit längerem öfter mal einen Fehler, doch leider weiß ich damit nichts anzufangen. Denn der Ordner _public existiert ja nicht, jedenfalls sehe ich ihn nicht und komme auch nicht rein.
    Zudem habe ich knapp 10 Bilder testweise für die Visu drin, aber das sind png und ein paar svg-Dateien und keine JPEG. Wie kann ich herausfinden, wo ich suchen soll?

    Viele Grüße
    Nils

    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD]2017-04-19 14:41:10     [/TD]
     			[TD]063359[/TD]
     			[TD]?[/TD]
     			[TD]9085[/TD]
     			[TD]Datei: /var/edomi-backups/_public/main/queuecmd/cmd120.php | Fehlercode: 8 | Zeile: 83 | imagecreatefromstring(): gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 2 extraneous bytes before marker 0xd9[LF][/TD]
     			[TD]ERROR[/TD]
     		[/TR]
    [TR]
    [TD]2017-04-19 15:11:25[/TD]
     			[TD]895737[/TD]
     			[TD]?[/TD]
     			[TD]31292[/TD]
     			[TD]Datei: /var/edomi-backups/_public/main/queuecmd/cmd120.php | Fehlercode: 8 | Zeile: 83 | imagecreatefromstring(): gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 1 extraneous bytes before marker 0xd9[LF][/TD]
     			[TD]ERROR[/TD]
     		[/TR]
    [TR]
    [TD]2017-04-22 21:21:38[/TD]
     			[TD]574259[/TD]
     			[TD]?[/TD]
     			[TD]31397[/TD]
     			[TD]Datei: /var/edomi-backups/_public/main/queuecmd/cmd120.php | Fehlercode: 8 | Zeile: 83 | imagecreatefromstring(): gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 2 extraneous bytes before marker 0xd9[LF][/TD]
     			[TD]ERROR[/TD]
     		[/TR]
    [TR]
    [TD]2017-04-22 21:21:48[/TD]
     			[TD]967215[/TD]
     			[TD]?[/TD]
     			[TD]31639[/TD]
     			[TD]Datei: /var/edomi-backups/_public/main/queuecmd/cmd120.php | Fehlercode: 8 | Zeile: 83 | imagecreatefromstring(): gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 2 extraneous bytes before marker 0xd9[LF][/TD]
     			[TD]ERROR[/TD]
     		[/TR]
    [TR]
    [TD]2017-04-24 19:47:52[/TD]
     			[TD]172471[/TD]
     			[TD]?[/TD]
     			[TD]31048[/TD]
     			[TD]Datei: /var/edomi-backups/_public/main/queuecmd/cmd120.php | Fehlercode: 8 | Zeile: 83 | imagecreatefromstring(): gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 2 extraneous bytes before marker 0xd9[LF][/TD]
     			[TD]ERROR[/TD]
     		[/TR]
    [TR]
    [TD]2017-04-27 14:10:23[/TD]
     			[TD]366153[/TD]
     			[TD]?[/TD]
     			[TD]15419[/TD]
     			[TD]Datei: /var/edomi-backups/_public/main/queuecmd/cmd120.php | Fehlercode: 8 | Zeile: 83 | imagecreatefromstring(): gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 1 extraneous bytes before marker 0xd9[LF][/TD]
     			[TD]ERROR[/TD]
     		[/TR]
    [TR]
    [TD]2017-04-27 19:27:56[/TD]
     			[TD]341739[/TD]
     			[TD]?[/TD]
     			[TD]4847[/TD]
     			[TD]Datei: /var/edomi-backups/_public/main/queuecmd/cmd120.php | Fehlercode: 8 | Zeile: 83 | imagecreatefromstring(): gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 1 extraneous bytes before marker 0xd9[LF][/TD]
     			[TD]ERROR
    [/TD]
     		[/TR]
    [/TABLE]

    #2
    Der "Schuldige" ist die PHP-Funktion imagecreatefromstring() - diese wird für das Speichern eines Kamerabildes genutzt. Offenbar ist also das von Deiner Kamera abgelieferte JPG irgendwie "kaputt", so dass die o.g. Funktion diesen Fehler meldet.

    BTW: Der komische _public-Ordner existiert nicht - dies liegt am bcompiler. Ersetze einfach den Pfad vor /main durch /usr/local/edomi und schon biste drin
    EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

    Kommentar


      #3
      Vielen Dank schon einmal für Deine schnelle Antwort.

      Kann man dagegen etwas tun?

      Ich habe mal in Zeile 83 geguckt:
      Code:
      X
      Das sagt nun nicht viel

      Ich habe zwei Kameraarchive, welche beide die Bilder der gleichen Kamera beim Eingang bekommen, nur zu anderen Ereignissen.

      Ich habe also ein Bild angefordert und bekam sofort die Fehlermeldung. Dann konnte ich 8x anfragen, ohne etwas zu bekommen und dann bekam ich die nächste Fehlermeldung. Anschließend konnte ich wieder in beide Archive schreiben, ohne eine Fehlermeldung zu bekommen.

      Kann es sein, dass nur einige Bilder "kaputt" sind? Es sind ja anscheinend nur wenige von denen und nicht alle. Ist nur doof, wenn so eine "unwichtige" Fehlermeldung in der Visu gezeigt wird und wirklich wichtige dadurch untergehen.


      Viele Grüße
      Nils



      PS:
      Ich habe die Datei einmal angehängt. php durfte ich nicht, daher musste ich sie "zippen".
      Angehängte Dateien

      Kommentar


        #4
        Das Problem hatte ich auch mal mit einer Foscam bzw. Instar Kamera. Ursache ist wohl, dass laut JPEG Standard vor dem EOI marker (0xFF 0xD9) Custom Data eingefügt werden kann. Dies wird aber von libjpeg mit der o.g. Warning quittiert. Abhilfe schafft nur eine der beiden Optionen:
        1. Andere Kamera verwenden
        2. libjpeg neu kompilieren und in der Datei jdmarker.c die entsprechende Warning auskommentieren

          // WARNMS2(cinfo, JWRN_EXTRANEOUS_DATA, cinfo->marker->discarded_bytes, c);
        Danach dann das bisherige libjpeg Paket deinstallieren und das neu kompilierte libjpeg installieren.



        Variante 2 sollte man wirklich nur machen, wenn man weiss was man tut, bzw. ein Testsystem z.B. auf einer VM hat, bei der man die Änderungen leicht wieder rückgängig machen kann.

        Kommentar


          #5
          Mhh, Variante 1 fällt wohl aus. Es ist eine Baudisch-Kamera an der Tür und da es ein 5 Familien-Haus ist, ist es erstens nicht meine und zweitens im Panel integriert.

          Variante 2 traue ich mir eher nicht so zu. Ich habe mal für den RaspberryPi etwas kompiliert, damit die Soundkarte funktionierte, aber da konnte nichts kaputt gehen.

          Dann ignoriere ich die Meldung lieber
          Featurewunsch: Bestimmte Fehlermeldungen ignorieren

          Hätte ja sein können, dass man da einfach etwas machen kann. Wundert mich halt nur, dass es nicht jedes Bild trifft.

          Viele Grüße
          Nils

          Kommentar


            #6
            Wenn die Kamera MJPEG liefern kann, kannst Du's mal darüber versuchen - würde ich ohnehin (gerade bei billigen Kameras) bevorzugen, da der Stream meistens in realtime kommt, während die kamerainterne JPG-Erzeugung (warum auch immer) oft ein paar Sekunden hinterher hinkt.
            EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

            Kommentar


              #7
              Ist bereits als MJPEG eingestellt und holt sich von "http://<IP>/mjpg/video.mjpg" das Bild. So günstig ist Baudisch nun auch nicht, eher im Gegenteil. Aber wer weiß, billige Kamera mit teurem Gehäuse und Namen.

              Kommentar

              Lädt...
              X