Flash Player と H.264 ビデオデータと onMetaData と onXMPData

Flash, Flash CS4

F4V データで調べていた Flash での H.264 ビデオデータの Meta 情報(XMP)の取扱。
既に Developer Center にいくつか記事があった。
ひとつは2007年とかなり以前の記事。
H.264に対応した Flash Player がでたときのものらしい。

Flash Playerにおける高解像度H.264ビデオおよびAACオーディオのサポートについての説明
この高解像度 H.264 対応の Flash Player のことを記事中 Adobe Flash Player 9 Update 3(バージョン9.0.115.0)と呼んでいる。
Adobe 内部では Adobe Flash Player 9 Update 3 なんだろうけど「バージョン9.0.115.0」の方がよっぽど分かりやすい、と思う。

話が横道にそれたけどここ NetStream onMetaData を使ったコードサンプルがあった。
こんな情報が2007年にあったとは、気がつかなかった。

またこの記事中にちょっと気になる記述がある。

On2 VP6コーデックは、MPEG-LAで発生する可能性のあるライセンス上の問題もありません

つまり H.264 では問題があるよなことらしい。

Summary of AVC/H.264 License Terms (PDF, 34K)

20010-12-31 以降にロイヤリティが発生するかもしれない、けどどんな料金体系になるかまだ良くわからない・・・であってるかな。
impress 2003-11-18 MPEG LA、H.264の共同ライセンス体系を発表

Developer Center 2009-03-16 Encoding options for H.264 video
にも少し触れられている。

どうなるんだろう?
まぁまぁな感じで今のまま使えると良いのに。

H.264 Meta 情報は CS3 でも取扱えるってことらしい。
サンプルの H264_Video_AS3_MetaData_complete.fla のスクリプトを若干変更し Meta seekpoints の内容を出力してみた。

{ seekpoints : [ { time : 0,  offset : 135230 }, .... ] }
seekpoints===============
0 --------------
time = 0
offset = 135230
1 --------------
time = 3.17
offset = 407550
2 --------------
time = 4.963
offset = 753648

......

onMetaData はビデオ再生が始まるとキックされ全てのデータを取得できる。
seekpoints をキューポイントのように使うには timer で監視する必要があるのかなぁ。
要研究だな。

update
タイマーで監視する必要はないな、冷静さを欠いていた。
F4V, MPEG4 でも Meta 情報をとれるなら後の処理は FLV と同じようにできるはず。
キューポイントが必要なら、seekpoints{ name:String, time:Number } な Object に変換し FLVPlayback.addASCuePoint で設定できそう。

検証コードの onXMPData がコールバックできない。
作成したF4V が悪いのか自分のコードが悪いのかまだ判断ができない。

File Extension FTYP MIME Type Description
.f4v ‘F4V ‘ video/mp4 Video for Flash Player
.f4p ‘F4P ‘ video/mp4 Protected media for Flash Player
.f4a ‘F4A ‘ audio/mp4 Audio for Flash Player
.f4b ‘F4B ‘ audio/mp4 Audio book for Flash Player

update
Flash CS4 ヘルプ

ランタイム

F4V

FLV

Flash Player 9/AIR1.0

 

OnCuePoint

   

OnMetaData

Flash Player 10

 

OnCuePoint

 

OnMetaData

OnMetaData

 

OnXMPData

OnXMPData

Player 10 で F4V だと OnMetaData, OnXMPData の両方が使えるってことなんだね。

update
onMetaData で取得した seekpoints はキーフレームのことだった。

seekpoints : ミリ秒単位のタイムスタンプとして使用可能なキーフレームの一覧を示す配列

キューポイントは cuePoints キーにオブジェクトの配列として設定されている。

{
cuePoints : [
{ type:String, name:String, time:Number, parameters:Object }, ....
 ]
}
Bookmark and Share
Flash, Flash CS4

コメント / トラックバック 2 件

  1. イナヅマtvログ » HTML 5のビデオコーデック, H.264の未来 より:

    [...] MPEG LAは20010-12-31までは無償でH.264を使わせてあげるけどその後のことは決まってないよ、になってるから。 本ブログのエントリー「Flash Player と H.264 ビデオデータと onMetaData と onXMPData」。 [...]

  2. イナヅマtvログ » H.264, ロイヤリティ無料期間が2015年まで延長 より:

    [...] Flash Player と H.264 ビデオデータと onMetaData と onXMPData [...]

コメントをどうぞ


WP Theme & Icons by N.Design Studio
RSS