Stage Video (Flash Player の新しいビデオ再生機能) について

Flash Player の新しいビデオ再生機能である Stage Video についての情報です。

Stage Video は、Flash Player 10.2 ベータもしくは Flash Player "Square" から利用できます。また、いくつかのデモが Adobe Labs に紹介されています。(Flash Player 10.2 Beta: Stage Video

Stage Video のしくみ

Stage Video では、従来のビデオ再生と比較して、CPU の使用率、必要なメモリの量が、共に削減されます。これは、ハードウェアの機能を利用しているためです。

従来のビデオ再生機能 (Video クラスのインスタンスを使用) は、表示リストの一部としてステージ上に描画されます。表示リストを描画するのは CPU の役割なので、ビデオ画像と他の表示リストの要素 (ムービークリップやビットマップなど) の合成は、CPU が行います。

これに対して、Stage Video では、表示リストのステージとは別の、"Stage Video 専用ステージ" にビデオが描画されます。そして、2 つのステージの合成は GPU が行います。CPU は、ビデオ以外の要素を描画するだけでよくなるため、負担が減るというわけです。

ビデオの描画プロセスは、以下の 2 つのステップに分けることができます。

  1. ビデオデータのデコード
  2. 表示用の加工 (位置、大きさなど) と他の表示データとの合成

上で書いたように、ステップ 2 は、従来のビデオでは CPU、Stage Video では GPU で行われます。ステップ 1 は、コーデックに依存します。H.264 であれば、デコードに GPU が使われますが、それ以外では CPU が使われます。

つまり、以下の 4 つの組み合わせがあるわけです。

1.従来のビデオ + On2, Sorenson  : デコード、合成、共に CPU
2.従来のビデオ + H.264          : デコードは GPU、合成は CPU
3.StageVideo + On2, Sorenson : デコードは CPU、合成は GPU
4.StageVideo + H.264         : デコード、合成、共に GPU
 

H.264 を使う時は、Stage Video を利用すると、CPU - GPU 間のデータ転送が発生しないという利点もあります。 (2 のケースでは、GPU でデコードしたデータを CPU に送る必要がある)

特に、CPU やバッテリーのスペックが低いデバイスでは、4 のパターンの効果が高そうです。

制限事項

Stage Video を利用する場合、制限事項があります。以下はそのリストです。ちょっと多いです。

  • ビデオ表示領域は矩形のみ。回転は 90 度単位で可能
  • ビデオ以外の要素はビデオの上に描画される。下には描画できない
  • アルファ、ブレンド、フィルター、マスク、スケール 9 は利用できない
  • マトリックスによる変換 (色、3D) ができない場合がある
  • ビデオデータを BitmapData にコピーできない
  • ビデオデータを SWF ファイル内に埋め込めない
  • 色空間がハードウェアの仕様に依存する
  • 同時に利用できるビデオの数がハードウェアの仕様により制限される (デバイスでは、通常 1 つ)
  • ブラウザーによっては、wmode="direct" を指定しないと、Stage Video が利用できない

wmode="direct" は、Windows 上では Direct3D、Mac と Linux 上では OpenGL を使うという指定になります。ビデオ再生では、この状態が最速です。

Safari 4 や IE 9 では、GPU を利用するための API が公開されています。そのため、これらのブラウザーでは、wmode の指定に関わらず、Flash Player から Stage Video を利用することが可能です。しかし、他のブラウザーの場合、direct 以外の wmode では Stage Video が利用できない可能性が高くなります。

ところで、wmode="direct" を指定すると、他の HTML コンテンツを SWF 上に重ねて表示できなくなります。これも、実質的に、Stage Video を使用する時の制限となります。

関連する新機能

Flash Player 10.2 ベータでは、フルスクリーン表示に関連する新機能が 2 つ追加されています。

  • 複数モニター環境でのフルスクリーンモードのサポート:
    サブディスプレイのみフルスクリーン表示で再生といった使い方が可能
  • フルスクリーン機能の判別 :
    Stage に追加された allowFullScree 属性により、表示されている環境がフルスクリーン表示を許可しているかを判別できる

 

トラックバック(0)

トラックバックURL: http://cuaoar.jp/mt4/mt-tb.cgi/135

2014年1月

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
レンタルサーバー

月別 アーカイブ

Powered by Movable Type 4.261