Preload für ein Movie
hotti
- javascript
0 JürgenB
0 Kai3450 Danke an Alle!!!
hotti0 hotti
0 Mitleser
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
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
[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.
Stur lächeln und winken, Männer!
Kai
var jQuery = $(hit);
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 ;)
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
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
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
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
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
var image = new Image();
image.onload = function() {
};
image.src = 'lava.bla';