FLVファイル Web上での再生用スクリプト


ちょっと雑記というか覚書の意味で投稿です。

注:自分用の雑記なので、内容は整理しないで描いています。ご了承ください。

FLVファイルをWeb上で公開する際、再生させようとしているFLVファイルひとつに対して再生用のスクリプト(HTML・SWF含)も1対1の関係で作るには、なんの問題もありませんが、スクリプト1つですべてのFLVファイルに対応させるための汎用ファイル(SWF)を作りたくて、ずっと試行錯誤していました。

まぁ簡単に言ってしまえば、YouTubeや他の動画公開サイトみたいなやつですよね。

所持している(再生させる)ファイル、それぞれにSWFファイルを用意するなんて、大量にFLVを扱う側からしたら非効率的なわけで、どのようにしてひとつのSWFファイルでFLVファイル名を外部から指定するだけで対応させることがでいるか・・・というのがちょっと最近の課題でした。


簡単に言ってしまえば 640×480 の動画もあれば 320×240 もあるし、 720x480 まして 16:9 のワイドサイズのFLVファイルもありえる。

そのためFLVファイルからいかにプレイヤーサイズを取得するかが問題だった。
バイナリエディタでFLVファイルの中身を覗いてみたが、簡単にどの位置に動画の縦横幅が格納されているか分からず、そのFLVファイルに適したプレイヤーサイズっていうのが実現できなかった。
また、外部からファイル名を指定するにしてもActionScript上で相応のスクリプトをごりごり書けばできるのだが、プレイヤーサイズが適したサイズに合わせることができないのでは、実用性が低いなぁ・・・と感じていた。

YouTubeにしろ、他動画配信サイトもプレイヤーサイズは固定で公開している。となると、スクリプトを引っこ抜いてきて調べるわけにも行かず・・・。
(プレイヤーサイズありきで素材となる動画ファイルをFLVへエンコしている)

一時期、無理なのかな〜とあきらめかけていたところ、Adobeのデベロッパー用のサイト(英)でスクリプトを発見。
APIコントロールをデモとして組まれているサンプルを入手、これをいろいろ読んでなんとか実現できるものを作成できた。
詳しい内容をブログで書くには内容が膨大すぎるので、その経緯として投稿。