Webcam-Bild im Browser updaten <img> kommt und geht mit update-Zyklus

  • Hallo
    bei dem folgenden Code habe ich das Problem, dass Webcam-Bild im update-Takt verschwindet und wieder kommt.
    Wie kann man das so hinbekommen, dass die Webcam sauber upgedated wird ?

  • Die Datei kopiere ich selber über eine eigene .exe Datei dort hin.
    Die Datei ist in dem Pfad vorhanden und wird auch angezeigt.
    Das Problem ist, dass das Bild im Takt von setInterval(reloading,1000) kommt und geht.

    Einmal editiert, zuletzt von Luisk (2. September 2015 um 19:18)

  • achso.. ja das is ein "unlösbares problem" denn während die datei geschrieben wird, kannst du sie eigentlich nicht vollständig anzeigen.
    eine echte webcam-software macht aus einem stream einen snapshot, weshalb man da mit dem time-parameter (hier "reload") die caching-mechanismen umgeht. bei deiner aktion hast du quasi beim abrufen das bild wahrscheinlich nicht komplett geschrieben, weil der interval vom schreiben nicht synchronisiert ist mit dem interval vom lesen..

    du bräuchtest nen stream und zb php, um mehrere bilder zu schreiben und zwischenzuspeichern, um dann mit ner verzögerung diese bilder abzurufen, so kannst du das schreiben und lesen durch die verzögerung auspuffern.

    ich habs selber noch nie gemacht, kenns nur aus der theorie. ich hab bisher probiert mit javascript nen errorhandler zu setzen, der einfach das bild so oft neu zu laden versucht, bis es richtig angezeigt wird, aber das ist keine anständige, geschweige denn sicher funktionierende lösung...

  • im Moment teste ich nur statisch. Das heißt, die Bilddatei liegt einfach da.
    Ich gehe davon aus, dass das img ein Problem damit hat, dass die Datei immer den gleichen Namen hat.

    - - - Aktualisiert - - -

    Im Moment teste ich nur mit einer statischen Datei, die immer den selben Namen hat und frei ist,
    selbst dabei flackert die Anzeige im Zyklustakt.
    Das img hat anscheinend ein Problem, wenn immer der selbe Dateiname verwendet wird.
    Wenn ich
    document.images['webcambild'].src = "g:\webcam\webcam.jpg;
    nehme statt
    document.images['webcambild'].src = "g:\webcam\webcam.jpg"+reload;
    dann flackerts auch.

  • ok analysieren wir das ganze mal technisch :)
    du hast ne statische datei, die du laden willst, hast nen zähler der nur 1 mal runterzählt, keine domain und eine selbstgeschriebene exe die nen ild von der cam speichert.

    das was da nicht funktionieren wird (je nach browser) ist das parameterisierte laden des inhalts ohne protokoll direkt auf die datei, kriegt glaube ich keiner hin, weil die parameter als dateiname gesehen werden.
    dann machst du den zähler von 1 auf 0 und dann reloadest du die ganze seite, obwohl du vorher nen interval gesetzt hast.

    bau dir das mal per xampp und mit ner echten url und dann ohne des reloaden der ganzen seite.

    das flackern kommt vom page-reload
    edit:

    hier is nen uraltes script was des machen müsste:

    musste halt ma mit deinem lokalen pfad testen

    Einmal editiert, zuletzt von synaptic (2. September 2015 um 20:05)