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 }, .... ] } |
ピンバック: イナヅマtvログ » HTML 5のビデオコーデック, H.264の未来
ピンバック: イナヅマtvログ » H.264, ロイヤリティ無料期間が2015年まで延長
2010.03.19 21:03
H264が2015年まで無料を決めたらしい。勝手な意見だが、
いっそのことパブリックライセンスにすれば良いんじゃないかと思う。
GoogleがOn2を買収してそれがWeb標準になれば、ライセンスを持つ意味って全く無いのだから!
ピンバック: Actionscript 3, FLV再生でError #2095 | イナヅマtvログ