hotti: Preload für ein Movie

hi,

Meine LavaLampe braucht 55 Images. Solange der Browser die noch nicht im Cache hat, rappelts auf der Statusleiste.

Schöner wärs: Den Ladevorgang ebenda anzuzeigen. Also, irgendwie muss es doch eine Möglichkeit geben, rauszukriegen, ob der Browser die Images alle im Cache hat, Idee???

Danke und viele Grüße,
Horst Heizer

  1. Hallo hotti,

    Schöner wärs: Den Ladevorgang ebenda anzuzeigen. Also, irgendwie muss es doch eine Möglichkeit geben, rauszukriegen, ob der Browser die Images alle im Cache hat, Idee???

    • Animiertes GIF

    • new Image(), und dann onload und src setzen, also der "klassische" Preload,
        nur  mit onload-Eventhandler.

    Gruß, Jürgen

    1. [latex]Mae  govannen![/latex]

      Schöner wärs: Den Ladevorgang ebenda anzuzeigen. Also, irgendwie muss es doch eine Möglichkeit geben, rauszukriegen, ob der Browser die Images alle im Cache hat, Idee???

      • Animiertes GIF

      • new Image(), und dann onload und src setzen, also der "klassische" Preload,
          nur  mit onload-Eventhandler.

      • Erzeugung von Video-Clips, Einbindung mit <video> (evtl mit Fallback, bspw. flv)

      Stur lächeln und winken, Männer!
      Kai

      --
      var jQuery = $(hit);
      I am Pentium of Borg. Division is futile. You will be approximated.
      SelfHTML-Forum-Stylesheet
    2. hi,

      • new Image(), und dann onload und src setzen, also der "klassische" Preload,
          nur  mit onload-Eventhandler.

      Laaaft ;)

      (wird ja auch Zeit, dass ich wiedermal was mit JS mache)

      Viele Grüße an Alle!!!!
      Hotti

      PS: Wichtiger Film heute abend in der GLotze: Wilkommen bei den Sch'ti
      Gucken!! Einfach herrlich ;)

    3. Fröhliche Ostern!

      Schöner wärs: Den Ladevorgang ebenda anzuzeigen. Also, irgendwie muss es doch eine Möglichkeit geben, rauszukriegen, ob der Browser die Images alle im Cache hat, Idee???

      • Animiertes GIF

      Zum Hintergrund meiner Spielerei: Der Browser soll einen Film zeigen, ohne dass dafür ein spezielles Plugin erforderlich ist.

      Diese Aufgabe habe ich mir bereits vor ein paar Jahren mal gestellt und gestern aus gegebenem Anlass wieder aufgegriffen. Mit einem Preload sind beliebige Bildwechselfrequenzen machbar: Wurde ein Film mit 50 Bildern pro Sekunde aufgenommen, kann der mit demselben Tempo auch im Browser abgespielt werden.

      Meine ersten Versuche vor ein paar Jahren sahen so aus, dass per Ajax ein Array mit Base64-kodierten Binaries betankt wurde, hab jedoch damals schon bemerkt, dass nicht jeder Browser solche Inline-Grafiken darstellen kann. Und überhaupt werden mit einem ganz normalen Preload diese Ajax-Requests überflüssig...

      Viele Grüße,
      Horst Querdenker

      1. Hallo,

        Zum Hintergrund meiner Spielerei: Der Browser soll einen Film zeigen, ohne dass dafür ein spezielles Plugin erforderlich ist.

        damit sind natürlich auch die Möglichkeiten sehr eingeschränkt, vor allem die Leistungsdaten.

        Mit einem Preload sind beliebige Bildwechselfrequenzen machbar: Wurde ein Film mit 50 Bildern pro Sekunde aufgenommen, kann der mit demselben Tempo auch im Browser abgespielt werden.

        Theoretisch jedenfalls. Die realen Implementierungen werden vermutlich niedrigere Grenzen setzen.

        Video-Playersoftware ist mit allen Mitteln darauf getrimmt, möglichst schnell und effizient viele Einzelbilder in Folge (und möglichst im exakten richtigen Zeitraster) anzuzeigen. Optimierungsmaßnahmen gehen vom direkten Schreiben in Framebuffer (X, Linux) bzw. Videospeicher (DirectX, Windows) bis hin zum Überspringen einzelner Frames, wenn die Zeit doch noch knapp wird.

        Von den Bild-Renderern, wie in den Browsern implementiert sind, darf man solche Performance nicht unbedingt erwarten. Ein animiertes GIF als Video-Ersatz wird daher bei gleicher Bildgröße nur eine vergleichbar geringe Framerate schaffen, und es ist auch nicht garantiert, dass die Bildsequenz zu irgendwas synchron bleibt.

        Ein weiterer Nachteil ist die durch das GIF-Format eingeschränkte Farbtiefe von nur 8bit.

        Wenn man mit all diesen Einschränkungen leben kann ... na gut.

        So long,
         Martin

        --
        Um die Wahrheit zu erfahren, muss man den Menschen widersprechen.
          (George Bernhard Shaw)
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hallo Der,

          Wenn man mit all diesen Einschränkungen leben kann ... na gut.

          ich denke auch, für ein Stop-Motion-Video ist es ok, Einzelbilder als Sequenz zu zeigen. Wenn man aber Zugang zu einer "Video-Software" hat, sollte man diese auch nutzen. Zumal die üblichen Videoformate nicht nur im Raum, sondern auch über die Zeit komprimieren.

          Gruß, Jürgen

          1. hi,

            ich denke auch, für ein Stop-Motion-Video ist es ok, Einzelbilder als Sequenz zu zeigen.

            Genau! Hock die Kamera auf ein Stativ, schalte die automatische Belichtungsregelung ab und stelle auf Dauerfeuer. Dann schön langsam von Links nach rechts und genauso langsam wieder zurück (was weiß ich wo, egal, Messeturm FFM, Taunusblick o.ä...).

            Du kriegst etwa >100 Bilder, die werden mit einem Script durchnumeriert und beschnitten. Nach weiteren 10 Minuten sieht der Besucher im Browser ein bewegtes Panorama in Zeitlupe, bestehend aus hochauflösenden Einzelbildern und braucht dazu nicht einmal ein Fläschplackin.

            Hotti

        2. hi Martin,

          Mit einem Preload sind beliebige Bildwechselfrequenzen machbar: Wurde ein Film mit 50 Bildern pro Sekunde aufgenommen, kann der mit demselben Tempo auch im Browser abgespielt werden.

          Theoretisch jedenfalls. Die realen Implementierungen werden vermutlich niedrigere Grenzen setzen.

          Real sind 100 HZ locker drin, das hab ich schon getestet ;)
          Auch mit Weniger, z.B. mit 20 Hz und einem TFT-Monitor flackert da nix.
          Ich hab noch einen Pseudo-Stream mit größeren Bildern, suche ich heute mal raus. Dann guckn mer mal wo die Grenzen sind...

          Video-Playersoftware ist mit allen Mitteln darauf getrimmt, möglichst schnell und effizient viele Einzelbilder in Folge (und möglichst im exakten richtigen Zeitraster) anzuzeigen. Optimierungsmaßnahmen gehen vom direkten Schreiben in Framebuffer (X, Linux) bzw. Videospeicher (DirectX, Windows) bis hin zum Überspringen einzelner Frames, wenn die Zeit doch noch knapp wird.

          Dagegen ist mein bischen JavaScript-Code ein gespielter Witz ;)

          Ein weiterer Nachteil ist die durch das GIF-Format eingeschränkte Farbtiefe von nur 8bit.

          Wenn man mit all diesen Einschränkungen leben kann ... na gut.

          Hinsichtlich Bild-Format gibts bei meinem Preload keine Einschränkungen. In meiner Demo sind das JPGs, mit der ganzen Fabrpalette ;)

          Viele Grüße,
          Horst Henne

  2. var image = new Image();  
    image.onload = function() {  
      
    };  
    image.src = 'lava.bla';