FLV

FLVファイルとは

Flash 時代の動画形式。今では何も再生できず、だから変換するしかありません。

FLV とは何か

FLV はコンテナです。誰か別のものが符号化した流れを、中に収めておく外殻です。 ストリーミングのために使われます。

拡張子は .flv、正式名称は Flash Video です。ただしどちらも、そのファイルが中に何を持てるかほどには多くを語りません。このページの残りは、その中身についての話です。

FLV はどこから来たのか

Adobe が 2002 年に公開しました。

古さが役に立つのは、ごく実務的な理由からです。形式が古いほど、それを覚える時間が多くのプログラムに与えられてきたということだからです。

仕様は公開されていますが、公開しているのはそれを所有する会社です

文書があり、それに沿って実装できます。それでも、次の版がどうなるかを決めるのはその会社です。実務上、ファイルが開き続けるにはこれで足ります。安心するには足りません。

すでに後継に置き換わっています

これを作った側はもう先へ進んでいて、対応は増えるどころか外されつつあります。まだこの形式に入っているものは、取り出す道具が残っているうちに取り出しておいてください。

FLV は箱で、コーデックが中身です

中に入っているのはたいていH.264とSorenson Sparkです。「なぜ再生できないのか」という質問のほとんどは、この区別に行き着きます。同じ拡張子の 2 つのファイルの中に、まったく違う符号化が入っていることがあり、片方を拒むプレーヤーがもう片方は問題なく再生します。

箱を入れ替えるのが速くて劣化もないのに、コーデックを変えるとそのどちらでもなくなる理由も、これで説明がつきます。同じ流れを別の箱に入れるのは箱を書き直すこと、再エンコードするのは画そのものを書き直すことだからです。

ほかに何を運べるか

FLV ファイルは全部が届く前に再生を始められる構造を持てます。

これは変換のときにとくに効いてきます。変換先が持てないものは落とされ、たいてい警告もありません。

FLV を開けるのは何か

VLCとFFmpegが読めますし、同じ種類のプログラムならたいてい読めます。

ファイルが開かないとき、形式が悪いことはめったにありません。たいていはプログラムのほうが形式より古いのです。もっと古い形式に変換してしまうのが確実な逃げ道で、このサイトの残りの部分はそのためにあります。

ブラウザーで開く

これを読めるブラウザーはありません。

これを変換するいちばんよくある理由がこれです。形式が悪いのではありません。ファイルを見せたい場所が、それを読めないというだけのことです。

渡すための形式です

FLV は渡すために作られたもので、中で作業するためのものではありません。編集は可能ですが、快適だったためしはありません。賢い道は、元のファイルへ戻ってもう一度書き出すほうを通ります。

この形式でよく起きること

繰り返し挙がる不満はこれです。本来の分野の外では対応がまばら。

どれも、この形式を避ける理由にはなりません。どれかに不意を突かれる前に知っておくべきことがら、というだけです。これは別の主張であり、そして役に立つほうの主張です。

再生の仕組みそのものが止められた形式

Adobe は 2017 年に Flash の終了を発表し、2020 年 12 月 31 日にそれを実行しました。ブラウザーはプラグインを削除し、Adobe は残っているインストールでもコンテンツを実行できなくするキルスイッチまで追加しました。FLV ファイルを再生していたランタイム自体が、この世から消えてしまったのです。

これが FLV を特別なものにしています。AVI や MPEG-2 は対応が徐々に減っていく古い形式ですが、FLV は所有していた企業自身が公表した日付をもって再生を終わらせた形式です。これを持っている人は、放置によってではなく、決定によって取り残されたファイルを抱えていることになります。

何のために使われ、なぜ広まったのか

2005 年より前、どのブラウザーでも確実に動くウェブ動画の方法はありませんでした。それぞれが独自のプラグイン — QuickTime、RealPlayer、Windows Media — を持っていて、どれも万能ではありませんでした。Flash はアニメーション用としてすでにほぼどこにでも入っていたため、その中に動画を入れることが、一夜にしてこの問題を解決しました。

YouTube は FLV で始まりました。Vimeo もそうで、十年近くの間、ウェブ上の動画はほぼすべて Flash 動画でした。この形式は技術的に優れていたわけではなく、実際に多くの人に届けられる唯一の手段だった、という点が勝因です。それは今 MP4 が支配的である理由とまったく同じです。

中に入っているもの

初期のファイルは H.263 系の Sorenson Spark を含んでいて、見た目もそれなりです。柔らかく、動きの中でブロックノイズが目立ち、解像度も低く抑えられています。後の時代のファイルは VP6 を含んでいて、明らかに良くなっています。2008 年ごろ以降は H.264 を含む FLV が増えていきました。これは今の MP4 が使っているのと同じコーデックです。

後者は変換する人にとって朗報です。ファイルがその年代のものなら、中の映像はすでに現代的なコーデックで、再符号化なしに MP4 へ包み直すだけで済みます。ストリームがそのままコピーされ、何も失われません。それより古いファイルは本当に再符号化が必要で、どれだけ丁寧にやっても、2006 年当時の Sorenson Spark が捨ててしまった細部は戻ってきません。

F4V は、箱が違うだけの同じ話

Adobe は H.264 への対応が始まったとき、FLV と並んで F4V という形式を導入しました。紛らわしいことに、これは FLV の派生形ではありません。実質的には MP4 そのものに、Adobe による拡張が加わったものです。

そのため .f4v は拡張子を .mp4 に変えるだけで再生できることがよくあり、変換もたいてい簡単です。Flash 時代の動画フォルダーがあるなら、まず拡張子で仕分けする価値があります。F4V のファイルは、包み直すだけで済む可能性が高いからです。

今も残っているファイルはどこから来たか

2012 年より前にダウンロードされたウェブ動画が、群を抜いて一番多いグループです。Camtasia などのツールで作られた画面録画も、長年 FLV を既定にしていました。e ラーニングの教材や企業研修用のモジュールは Flash で作られ、動画をこの形式で保存していました。当時のウェビナープラットフォームの録画や、すでに閉鎖されたサイトからのアーカイブもあります。

共通しているのは、その内容がどこにも残っていないことが多いという点です。2009 年の研修モジュールやウェビナー録画は、たいていそれが唯一のコピーであり、変換は単なる便宜ではなくアーカイブとしての作業になります。

ファイル末尾のメタデータと、消えた長さの表示

FLV は長さや寸法、フレームレートといったメタデータをタグとして持ちますが、配信ツールはしばしばそれをファイルの末尾に書くか、まったく書きませんでした。ライブ配信は、配信している最中は自分の長さを知らないためです。

その結果、再生はできるのに長さが表示されない、シークバーが動かない、明らかに間違った長さを表示するといったファイルができます。これは破損ではありません。MP4 に変換すれば、内容が確定した後に正しい索引が書かれるため、副産物としてこの問題も解消します。

ファイルに入っていないもの

字幕トラックも、チャプターも、回転情報も、カメラや編集ソフトが書き込むようなメタデータの置き場所もありません。字幕を表示していた Flash アプリケーションは、プレーヤー自身のコードが別ファイルを読み込む形で実現していて、そのコードはランタイムとともに失われています。

そのため、研修動画に字幕が付いていたとしても、それはほぼ確実に FLV の中ではなく、周辺の Flash プロジェクトの側にありました。動画を変換しても字幕は出てこず、取り戻すには動画ファイルではなく元のパッケージ一式を探す必要があります。

変換で期待できること

H.264 を使った MP4 が行き先で、かかる時間は中身次第です。すでに H.264 を含む後期の FLV なら、数秒で包み直せて画質の変化もありません。Sorenson Spark や VP6 を含む古いファイルは、デコードと再符号化が必要で、それなりの時間がかかります。

再符号化するなら、余裕のある画質設定を選んでください。元がすでに弱いコーデックによる低解像度のファイルであり、控えめにして節約できるものは何もありません。目標はこれ以上何も失わないことであり、ファイルを小さくすることではありません。拡大しても助けにはなりません。記録されていない情報は増やせないからです。

一度だけ変換し、元のファイルは残す

この種のコンテンツはたいてい他に代わりがないため、変換はファイルの置き換えではなく、閲覧用のコピーを作る作業だと考えてください。保存容量は安く、元の FLV は今の基準では小さく、変換の設定が間違っていたと後で分かっても元には戻れません。

このサイトには FLV を扱う変換がなく、このページにその一覧を載せていないのはそのためです。Sorenson Spark と VP6 にはブラウザー向けのデコーダーがそもそも存在せず、たとえ中身がすでに H.264 であっても、このサイトのどの仕組みもこのコンテナ自体を読み込めません。該当する組み合わせは登録上は宣言されているものの、サーバー側の ffmpeg による実装を待っている段階です。二百本の研修録画のフォルダーがあるなら、今のところはデスクトップの VLC や HandBrake でまとめて処理するのが現実的で、どちらもファイルをネットワーク越しに送ることなく、自分の端末の中で処理してくれます。

基本情報

FLVフォーマットの識別子と出自。
拡張子.flv
メディアタイプvideo/x-flv
公開元Adobe
初版2002