IPCAM: Wrong or not supported image format: error while reading source image

Begonnen von Alcamar, 24 Juni 2017, 17:50:01

Vorheriges Thema - Nächstes Thema

Alcamar

Die Fehlermeldung im Log:
Wrong or not supported image format: error while reading source image
ist nicht neu, wenn man hier durch die Threads stöbert.
Ich habe eine IP-Kamera seit über einem Jahr im Einsatz, die bei einem Event eines Homematic Bewegungsmelders 4 Snapshots erstellt, die dann in der Folge automatisch versendet werden. Bisher lief die Einstellung ohne Probleme. Seit einer Woche bekomme ich aber häufiger die o.g. Fehlermeldung.

In einem Thread habe ich nun gelesen, dass eine timeout-Einstellung das Problem beheben könnte. Ich zweifle ein wenig daran, weil ich ja bewusst nichts geändert habe. Zudem ist die Funktion GetFileFromURL im Modul IPCAM versteckt, das ich nicht so einfach verändern will und genaugenommen gar nicht wüsste wo ich den Standardparameter für das Timeout von 4 auf z.B. 5 setzen könnte.

Am IPCAM-Modul scheint es in letzter Zeit ebenfalls keine Änderung gegeben zu haben. Woran kann das also liegen, dass die Fehlermeldung generiert wird und keine snapshots erstellt werden?


Alcamar

Ich habe nun im Modul 49_IPCAM eine Zeile geändert:
GetFileFromURLQuiet($camURI, 8, "", 1, 5);
Die ursprüngliche Meldung ...Wrong or not supported image format... kommt nun seltener, bleibt aber nicht aus. Teilerfolg?
Gibt es eine Möglichkeit den gesamten Vorgang zu debuggen?
Mir ist folgendes aufgefallen: mit dem Get Image der IP-Cam, werden nun 5 Bilder im Abstand von 2 Sek. erstellt. Eigenartigerweise werden erst Bild 3,4 und 5 erstellt, bevor dann Bild 1 und 2 generiert werden.
Weiß jemand warum?
Dies ist natürlich beim Versenden der Bilder nicht unwichtig. Bisher habe ich per Telegram immer das Bild mit der Nummer 1 versendet. Nun ist wohl das Bild mit der Nummer 3 das erste und für mich interessante.
Nochmal: bis zur genannten Fehlermeldung im Log funktionierte alles perfekt.  :-[

Wird mir mit dem nächsten Update die Datei 49_IPCAM wieder überschrieben, zurück in den Originalzustand?

topfi

Dieses Verhalten kenne ich. Ist aber eigentlich nicht Homematic ...  8)

*Die Fehlermeldung rührt wahrscheinlich von einer schlechten WLAN-Verbindung zur Kamera. Ich vermute, ein Nachbar hat Deinen Kanal oder einen Nachbarkanal belegt. Danke für den Tip mit dem Timeout, das werde ich bei mir auch mal höher setzen. Allerdings kommen die Fehler hier kaum noch, seit ich mein Netzwerk aufgeräumt und die Verbindung zu den Kameras verbessert habe. Die Änderung in der 49_IPCAM sind nach dem nächsten update wieder weg, es sei denn, du änderst die Schreibrechte.

*Mitunter - vor allem nach dieser Fehlermeldung - kommen die Bilder in verkehrter Reihenfolge, das kenne ich auch. Abhilfe: Einfach die Definition, in der das getimage aufgerufen wird, also hier z.B.:

define Foto_Flur_betreten notify PIR:Bewegung get Kamera_Flur image


"Foto_Flur_betreten" neu laden. Einfach die Definition in der Webansicht aufrufen und auf modifizieren klicken, ohne was zu ändern. Danach stimmt die Reihenfolge wieder.


ph1959de

Zitat von: topfi am 26 Juni 2017, 12:37:40
... Die Änderung in der 49_IPCAM sind nach dem nächsten update wieder weg, es sei denn, du änderst die Schreibrechte.
Bitte nicht ... dafür gibt es exclude_from_update
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

topfi

Danke, das ist ein sehr nützliches Attribut, das kannte ich noch nicht. Wieder was gelernt.  :D

Alcamar

Der Hinweis mit dem exclude-Update war sehr gut. 49_IPCAM wird bei update check nicht mehr aufgelistet. Falls allerdings mal ein "richtiges" Update kommen sollte, bekomme ich das auch nicht mehr automatisch mit. Damit kann ich aber leben.

Die Kamera läuft über PowerLan und es ist unwahrscheinlich, dass sich darin ein Nachbar verirrt. Ich habe einen neuen Switch auf dem Netzwerksegment. Das ist die einige Änderung, die dort überhaupt vorgenommen wurde. WLAN ist mir für die Anbindung von Kameras nicht so sympathisch. 😊

Da der Restart von Fhem bisher die Reihenfolge der Bilder vermutlich wieder berichtigt hat, könnte ich mir vorstellen, dass ein modify ohne Veränderungen vorzunehmen zum gleichen Ergebnis führt. Wäre auch besser. Leider kann ich das derzeit nicht verifizieren.


Das aktuelle Setup ist derzeit insgesamt nicht zufriedenstellend. Es dauert mir zu lange bis mir ein Bild zugesendet wird. Und per Mail kommen dann ebenfalls nach relativ langer Zeit Bilder an, die wenn ich Glück habe, in der richtigen Reihenfolge sind.

enno

Moin Alcamar,

ich habe mir dafuer zwei Device von IPCAM angelegt. Eines das nur ein Bild macht, und das andere ausführlicher mit 5 Bildern. Da die Bilder erst verschickt werden, wenn wenn das letzte Bild angelegt wurde reagiert das Device mit einem Bild sofort und die anderen folgen dann deutlich später.

Vielleicht eine Lösung um schneller an Bilder zu kommen.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

Alcamar

Moin Enno,

wie bekommst du es hin, dass erst, wenn das letzte Bild gemacht wird der Versand startet?
Welchen Event muss ich da abgreifen?

Bei mir setze ich zum Versenden ein notify ein:
MyCam:.*snapshots.*

Sobald Snapshots generiert werden, startet der Versand.

enno

Einfacher FHEM Anwender auf Intel®NUC

Alcamar

Sowohl mit der Analyse wie auch mit der Lösung komme ich langsam voran, aber folgendes würde ich mittlerweile behaupten:

  • die Fehlermeldung ...Wrong or not supported image format... führt zu einer veränderten bzw. falschen Nummerierung der erstellten Bilder
  • die Reihenfolge lässt sich bei mir nur durch einen shutdown restart beheben. Mag sein dass auch ein reload eines Einzelmoduls auch ginge.
Auch wenn ich kein Entwickler bin, vermute ich, dass sich dieses beobachtete Verhalten (Bug) im Modul IPCAM beheben lässt. Zusammen mit dem Mechanismus, der meine ursprüngliche Fehlermeldung auslöst, wird auch die Initiierung für die laufende Nummerierung der erstellten Bilder neu gesetzt. Bei mir fängt die Bilderserie erst bei 3 an. Dann kommt Bild 4,5,1,2. Erst ein Reboot (oder eventuell Reload?) setzt den Startwert der Nummerierung von 3 zurück auf 1.
Für einen Entwickler müsste das doch schnell zu verifizieren sein, oder? Oder ist es kein Bug in dem IPCAM-Modul? Es kann auch sein, dass ich es einfach immer noch nicht kapiere.

Auch wenn ich fhem eine Weile einsetze, fühle ich mich immer noch als Neuling. Falls ich wirklich ein Bug identifiziert hätte, würde das dann der Entwickler des Modul implementieren oder sollte ich auch gleich die Lösung bereithalten? Dafür muss ich erst in die Programmierung eintauchen.  ;)

Alcamar

Zu Punkt 1. muss ich ergänzen, dass die falsche Nummerierung der Bilder nicht immer erfolgt, nach dem die Fehlermeldung im Log erscheint. Also leider ist auch diese Gesetzmäßigkeit nicht vorhanden.

Trotz Erhöhung der Wartezeit ist die Fehlermeldung sporadisch weiterhin im Log. Leider weiß ich nicht, wie ich die Bedingungen festhalten kann, die zum Fehler führen.  :-\

Otto123

Hallo Alcamar,

ich lese das immer mit und denke es ist mittlerweile klar, dass es gar nicht um Homematic geht. Ich will nicht die Forumspolizei spielen, aber ich denke der Thread wäre in Unterstützende Dienste (der "Heimat" von IPCAM) besser aufgehoben.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Alcamar

Hallo Otto,

Ich danke Dir für den Hinweis. Was heißt es für mich? Kann ich den Thread ändern?
Oder macht das ein Admin?

Was kann ich tun?

Grüße
Alcamar

Otto123

Kannst Du machen. Einfach verschieben, irgendwie ganz unten. eventuell im ersten Beitrag  8)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Alcamar

Unter der Annahme, dass die Netzwerkgeschwindigkeit das Problem wäre, wie könnte ich vor erstellen der Bilder die aktuelle Netzwerksituation prüfen?
Damit könnte ich zumindest sehen, ob wirklich das Netzwerk das Problem ist. Derzeit kann ich nur feststellen, dass IPCAM einfach sporadisch den Fehler generiert. Eine Systematik kann ich leider nirgendwo erkennen.  :-[