Flash Video
Flash Video(フラッシュ ビデオ)は、主にFlash Player 6以降を利用してインターネット上で動画を配信するために利用されるコンテナ型のファイルフォーマットで、元はマクロメディアが開発していたものを、アドビシステムズが会社ごと買収した。Flash VideoはSWFファイルの内部に埋め込まれる場合もある。なお、アドビシステムズによって定義され、Flash Playerが対応している動画ファイルフォーマットには異なる「FLV」と「F4V」の2つが存在する。FLVファイル内の動画および音声のデータはSWFファイルと同じ方法でエンコードされる。後者のF4VファイルフォーマットはISOベースのメディアファイルフォーマットを基にしており、これはFlash Player 9の「update 3」以降で対応を開始した。
Flash VideoフォーマットはYouTubeやGoogleビデオ、Yahoo! Video、ロイターを始めとした多くのニュース提供元などで次々に採用され、Web上における埋め込み動画の形式として、すぐにその地位を確立した。
Flash Videoコンテナフォーマットそのものが開かれる際に利用される圧縮形式のほとんどは、特許によって保護されており、一般にはSorenson SparkまたはVP6コーデックによって映像データがエンコードされている。最新のFlash PlayerではH.264の映像とHE-AACの音声にも対応している。
Flash Videoは広範囲で利用可能なFlash PlayerとWebブラウザのプラグインや、サードパーティーによるプログラム等を通じて、ほとんどのオペレーティングシステムで観ることができる。
特徴
Adobe Flash(旧Macromedia Flash)では Flash Videoを他のメディアタイプと同様に扱うことができ、ファイル内の他のオブジェクトと同様に重ね合わせ、スクリプト処理、制御を行うことができる。現在リッチコンテンツの主流であるFlash上で再生・表示できることが大きな特長である。
影響
HTML上における動画表現はFlash Videoの普及以前、Windows Media VideoやQuickTimeムービーが存在していたが、ユーザーはファイルのコーデック毎にプラグインやプレーヤーのインストールが必要だった。
Flash MX(バージョン6)から Flash Video (Sorenson H.263の調整版)がサポートされた。これにより従来のテキストと静止画ベースであったインターネットインフラが動画ベースへとシフトし、Webの表現方法が革新される一因となった。 2004年以降、YouTubeやニコニコ動画などの大手動画投稿サイトでこの技術が採用されており、インターネット上での動画再生のインフラ構築にも大きく貢献をしている。
仕様
FLVファイルフォーマットはFlash MX(Flash Player 6)から規定され、映像コーデック「Sorenson Spark (H.263派生)」、音声コーデック「PCM」「ADPCM」「MP3」「Nellymoser」に対応した。
その後、Flash Player 8から、より高画質な映像を扱えるOn2Technology社の映像コーデック「VP6」を追加。同時にVP6を利用して映像のアルファチャンネルを保持できる「VP6 with alpha channel」にも対応した。また、映像コーデック「ScreenVideo」「ScreenVideo v2」にも対応した。
Flash Player 9 update 3 (9,0,115,0)からは更に映像コーデック「AVC (H.264)」、音声コーデック「AAC」に対応したが、アドビ社は「H.264/AVCとAACをフルに活用したい場合はFLVではなくF4Vファイルフォーマットの利用を推奨する」としている。 また、同バージョンではHD映像用のVP6コーデックの新たなプロファイル「VP6-S」にも対応。従来のVP6との再生互換性を保ちつつ、低データレートかつ低負荷でのHD映像再生をサポートしている。なお、これにともない従来のVP6は「VP6-E」プロファイルと呼ばれている。
また、Flash Player 10からは音声コーデック「Speex」に対応している。
F4Vファイルフォーマットは、従来のFLVファイルフォーマットとは別にFlash Player 9 update 3から規定されたフォーマットであり、 「ISO/IEC 14496-12: ISO base media file format」(MPEG-4 Part12)をベースとして規定されている。 F4Vがサポートする映像コーデックは「H.264/AVC」、音声コーデックは「MP3」「AAC」のみとなっているが、 上記の通りH.264/AVCとAACをフルに活用できるように設計されており、H.264/AVCとAACを扱う場合は、 FLVではなくF4Vの利用が推奨されている。
また、2007年8月20日、開発元のアドビシステムズはFlash Player バージョン9 betaからFlash VideoとしてMPEG-4(H.264、AAC、HE-AAC)をサポートする予定であることを発表、2007年12月3日にリリースされたFlash Player 9 update 3 (9,0,115,0)から正式に対応した。これは従来のFLVコンテナとは別に、H.264/AVC映像とAAC音声を含んだMPEG-4派生のコンテナフォーマットの再生をある程度サポートするということであり、MP4、M4A、MOV、MP4V、3GP、3G2といったコンテナの再生がサポートされている。F4Vコンテナもその1つと言える。
エンコードにはAdobe Flashに含まれているエンコーダ以外にも、VP6コーデックでFLVファイルへのエンコードをサポートしているOn2 Flix, Sorenson Squeezeなどサードパーティ製の製品も使用される。 書き出すためのMac OS X QuickTime用コーデックがAdobe Flashに付属するため、Mac OS Xならば、QuickTimeを利用するアプリケーション群全てで書き出し等が可能である。 なお、FLVファイルは1ファイルあたり1つのビデオと1つのオーディオストリームに制限される。
また、FLVファイルはFLV ExtractやHugFlash等のフリーウェアを用いて無劣化でAVIやMOV等に変換することが可能(器であるコンテナフォーマットを換えるだけであるため)。
ストリーミングにはAdobe Flash Media Server (旧Macromedia Flash Communication Server)を利用したRTMP(RTMPT/RTMPS)プロトコルが使用されるが、通常のHTTPプロトコルを利用可能のためFlash Videoのストリーミングとして後者が多く用いられる。(厳密にはストリーミングではなくプログレッシブダウンロードでありウェブブラウザのキャッシュに保存したファイルを元に再生する。キャッシュが残っている場合はページ移動時の再読み込みが速くなる)
なお、RTMPプロトコルの仕様書は現在Adobeのサイト上より入手することが可能[1]。一方、RTMPの仕様書が公開される以前よりRed5というオープンソースプロジェクトにより解析が進められており、無料で使用できるFlash Videoストリーミングサーバが提供されている。(Red5によるドキュメント)
FLVファイルをDirectShowなどで再生する場合は、FourCCとして「FLV1」(Sorenson Spark)、「FLV4/VP6F」(On2 VP6)がよく用いられる。(FFmpeg、ffdshow、FLV Splitter等)
F4Vのファイル形式
拡張子 | MimeType | 説明 |
---|---|---|
.f4v | video/mp4 | Video for Adobe Flash Player |
.f4p | video/mp4 | Protected Video for Adobe Flash Player |
.f4a | audio/mp4 | Audio for Adobe Flash Player |
.f4b | audio/mp4 | Audio Book for Adobe Flash Player |
Codec support
FLVコンテナで対応するメディアフォーマット:
- Video: Sorenson H.263(FLV1), On2 VP6(FLV4), Screen video, H.264
- Audio: MP3, ADPCM, Linear PCM, Nellymoser, Speex, AAC, HE-AAC, G.711 (システム内部用に予約)
F4Vコンテナで対応するメディアフォーマット:
- Video: H.264
- Images (still frame of video data): GIF, PNG, JPEG
- Audio: AAC, HE-AAC, MP3
上記および下記、AAC と書かれた物は、AAC+, AAC-LC, AAC v1, AAC v2, HE-AAC v1, HE-AAC v2 に対応している。
Flash Player version | リリース | ファイル形式 | ビデオ形式 | オーディオ形式 |
---|---|---|---|---|
6 | 2002 | SWF | Sorenson Spark, Screen video | MP3, ADPCM, Nellymoser |
7 | 2003 | SWF, FLV | Sorenson Spark, Screen video | MP3, ADPCM, Nellymoser |
8 | 2005 | SWF, FLV | On2 VP6, Sorenson Spark, Screen video, Screen video 2 | MP3, ADPCM, Nellymoser |
9.0.115.0 | 2007 | SWF, FLV | On2 VP6, Sorenson Spark, Screen video, Screen video 2, H.264[*] | MP3, ADPCM, Nellymoser, AAC[*], HE-AAC |
SWF, F4V, ISO base media file format | H.264 | AAC, HE-AAC, MP3 | ||
10 | 2008 | SWF, FLV | On2 VP6, Sorenson Spark, Screen video, Screen video 2, H.264[*] | MP3, ADPCM, Nellymoser, Speex, AAC[*], HE-AAC |
SWF, F4V, ISO base media file format | H.264 | AAC, HE-AAC, MP3 |
{{#if:*|*|^}} H.264 と AAC を使う場合、FLV形式ではいくつかの制約事項があるため、プレイヤー開発者は新しいF4V形式を使うことを強く推奨する。
出典
- ↑ Adobe 2009 Real-Time Messaging Protocol (RTMP) specification
- ↑ Adobe ActionScript 3.0 * ビデオ形式について
- ↑ Adobe (2007-12-03) List of codecs supported by Adobe Flash Player, Retrieved on 2009-08-10
関連項目
- Flash Videoを利用した動画共有サービス。
- ビデオ形式にFlash Videoを採用している。
- バージョン11からFlash Videoの再生及び保存に対応。