Archiv Februar, 2010

Webcam Performance in Flash

Montag, Februar 22nd, 2010

Da ich mich im Rahmen meiner Diplomarbeit sehr viel mit Webcams beschäftige ist mir aufgefallen dass es mehrere wichtige Faktoren gibt von welchen die Performanceleistung (Bilder pro Sekunde) abhängt.

Grundsätzlich kann man sich von einer handelsüblichen Webcam um ca. 30€ auch bei idealen Lichtbedingungen kaum mehr als 20 Bilder pro Sekunde erwarten. Trotzdem gibt es Umstände welche dazu führen dass man auch bei sehr guten Bedingungen nicht mehr als 6 fps erhält.

WebcamFlashplayer

Folgende vier Kiriterien sind nach meiner Erfahrung kritisch für die Leistung einer Webcam:

  1. Die Qualität der Webcam (Linse, Auflösung, Sensor, Software)
  2. Vorbearbeitung der Webcam Software (z.B.: Restlichtverstärkung)
  3. Die Beleuchtungsverhältnisse (Tageslicht, Kunstlicht, Unterbelichtung, Überbelichtung)
  4. Auf welche Art wird ein Bild von der Webcam angefordert (Timer oder EnterFrame)

Wenig überraschend ist die Performance der Webcam abhängigt von der Bauweise und der Beleuchtungsumgebung. Zusätzlich kommt noch hinzu dass unterschiedlichste Einstellungen bei Webcams die Ergebnisse stark beeinflussen. Viele Webcams bearbeiten das Bild breits mehrmals bevor es an andere Programme weitergereicht wird. Einige dieser Bearbeitungsschritte, welche großen Einfluss auf das Bild haben können, sind zum Beispiel die Restlichtverstärkung oder der Weißabgleich.

Für Flasher interessant ist der Punkt 4. Die Performance der Webcam hängt nämlich auch zu einem Gutteil davon ab wie und wie oft ein Bild von der Webcam abgefragt wird. Viele Flashfilme werden mit 31 oder 60 fps ausgeführt und oft wird auch mit dieser Framerate die Webcam nach neuen Bildern gefragt bzw. das Bild der Webcam in ein Bitmap Objekt gespeichert.

Da aber Webcams kaum mehr als 20-25 Bilder pro Sekunde schaffen ist ein solch hoher Anfragerythmus nicht notwendig und führt dazu dass die Webcam bzw. der Flashplayer sich “verschluckt” und dann weniger Bilder liefert als eigentlich möglich wären (z.B. statt 22 fps nur 12 fps). Besonders bei der Nutzung von Pixel Bender Filtern (Version 1.5.1) ist dieser Effekt auffällig.

Die Lösung ist relativ einfach, es genügt die Abfragen an die Webcam von der globalen Framerate des FlashPlayers mittels eines Timers zu lösen. Allgemein bewirkt dieser “Trick” auch dass die gesamte Performance des Flash Players etwas nach oben geht (5-10% mehr fps).

Warum sich Webcams im Flashplayer so verhalten ist (mir) noch nicht klar, der Effekt ist jedoch deutlich sichtbar.

Open Muffin – Collaborative 3D Animation Shorts

Donnerstag, Februar 18th, 2010

Jeder der Freude an OpenSource und “Collaborative 3D Animation” hat sollte sich diese Möglichkeit bei einem entstehenden Projekt mitzuarbeiten nicht entgehen lassen!

Hi!

Ich möchte euch kurz unser Projekt vorstellen: Muffin Animation Shorts

Dabei geht es um das gemeinschaftliche Erstellen eines 3D Animation Shorts. Die grundlegende Idee ist, dass jeder der Lust hat einen kleinen Teil der Produktion übernehmen kann und somit einen Teil zum ganzen beiträgt. Am Ende soll sich die Zusammenarbeit bezahlt machen und eine klasse Animation dabei entstehen.

Die Gemeinschaft wird dabei von Beginn an bestimmen, in welche Richtung es geht. Die erste Aufgabe ist es eine passende Story für die Animation zu entwickeln (vorläufige deadline: 27. jänner), also startet schonmal eure Schreibmaschinen :)

Es würde mich sehr freuen Beiträge und Feedback von euch zu erhalten. Ihr findet die Homepage und das Forum hier:
http://openmuffin.net
http://forum.openmuffin.net

Danke für eure Aufmerksamkeit!

P.S.: Erzählt auch euren Freunden vom Muffin und bleibt informiert per Twitter, RSS und der Facebook gruppe.