Im Zug der Beta des Flash Player 10.2 wurde das StageVideo
eingeführt. Es handelt sich um eine neue Art, wie Videos gerendert werden. Dabei wird vorhandene Hardware voll ausgenutzt, d.h. die CPU entlastet und stattdessen das Video auf der Grafikkarte gerendert.
Gerade auf dem anvisierten Markt der Settopboxen (Google TV und AIR for TV) und selbstverständlich auch auf mobilen Devices ist dies ein sinnvoller Ansatz, um Videos performant wiedergeben zu können. Im Optimalfall wird dies mit H.264 als Videocodec kombiniert, der zusätzlich über die Hardwarebeschleunigung auch dekodiert werden kann.
StageVideo befindet sich hinter der Bühne
Die Besonderheit liegt darin, dass das StageVideo
sich nicht auf der Display-List befindet. Es wird vom normalen Flashinhalt entkoppelt und ist dahinter positioniert, wodurch es von der Grafikkarte (GPU) beschleunigt werden. Dies bedeutet auch, dass alle Objekte von der Display-List sich automatisch vor dem Video befinden und dieses ggf. verdecken. Dahinter können keine Objekte platziert werden.
Einschränkungen
Die Vorteile dieses von der Display-List losgelösten Videodisplays bringt auch einige Nebenwirkungen mit.
So kann das StageVideo
nur in 90-Grad-Schritten gedreht und keine Farb-, Matrix- oder 3D-Transformationen darauf angewendet werden. Auch Alphakanäle, Blendmodes, Filter, Masken oder 9-Scale-Grid sind nicht möglich. Ebensowenig kann auf die Bitmapdaten zugegriffen werden. In vielen Fällen stellt dies aber keine gravierenden Einschränkungen dar.
Abhängig von der verwendeten Plattform ist die Anzahl der gleichzeitig abspielbaren Videos über StageVideo
eingeschränkt. Auf mobilen System ist dies für gewöhnlich nur ein Video, auf Rechnern etwa 8 Videos. Daraüber hinaus abgespielte Videos würden dann nicht mehr von der Hardware beschleunigt.
wmode
Es wird empfohlen, den so genannten wmode bei der Einbettung der Flashinhalte auf „direct†zu setzen. Dann wird das StageVideo auf jeden Fall über Direct3D (Win) bzw. Open GL (Mac) auf der GPU gerendert. Mit einigen Browsern (Safari 4, IE9) geht dies zwar auch ohne, allerdings sollte man wenn möglich immer den wmode auf „direct†setzen, um eine größtmögliche Anzahl an Browsern zu adressieren.
In nächsten Beitrag werde ich eine kurze Demo zeigen, wie man das StageVideo
genau verwendet.
Link: Getting started with stage video
[ad]
Hier noch ein interessanter Link, der einige Performance-Vergleiche zieht.
http://sonnati.wordpress.com/2010/12/02/testing-stagevideo-in-flash-player-10-2/
Hier ein weiteres Beispiel im Blog: http://www.video-flash.de/index/beispiel-stagevideo-im-einsatz/