Flash 動画 (.flv)

Adobe 標準

Flash Video(FLV)は、Adobe Flash Player ブラウザプラグインを介してウェブ上で同期された動画と音声を配信するために、Macromedia および Adobe によって開発されたコンテナ形式です。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで FLV ファイルを識別します:

ここにファイルを選択またはドロップ

100%プライベートなブラウザ内変換 - ファイルがデバイスから外部に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで FLV ファイルを識別します:

16進数シグネチャ (オフセット 0):

46 4C 56 01

ASCII表現: FLV

標準化: Adobe Systems Flash Video File Format Specification

技術仕様

コンテナアーキテクチャTag-based streaming container with interleaved audio, video, and script data tags
圧縮Sorenson Spark, VP6, or H.264 video with MP3 or AAC audio
バイトエンディアンBig-Endian bit and byte ordering
色空間YUV 4:2:0
チャンネルと構造Mono and Stereo audio with video stream
最大寸法Commonly up to 1080p
透過性Alpha channel transparency supported in VP6 video streams
ストリーミングとプログレッシブNative support for RTMP (Real-Time Messaging Protocol) live streaming

技術比較マトリックス: FLV 対 競合製品

技術属性FLV (現在)MP4WEBMMKV
今日のブラウザサポート0%(すべてのモダンブラウザから完全に削除済み)すべてのブラウザで 100% 普遍的100% モダンブラウザでサポートデスクトップメディアプレイヤーが必要
標準化Adobe 独自のプロプライエタリ仕様ISO/IEC 国際オープン標準W3C / WebM オープン標準オープンソースの Matroska 標準
モバイルデバイスでの再生iOS および現代の Android でネイティブ非対応ネイティブハードウェアサポートネイティブハードウェアサポートVLC / サードパーティアプリ経由でサポート
アルファ透明度On2 VP6 コーデック経由でサポート限定的(canvas または WebCodecs が必要)ネイティブアルファチャンネルサポート(VP9)VP9/ProRes ストリームでサポート

一般的な破損モードと16進数リカバリガイド

ダウンロードした FLV 動画の総再生時間が「不明」と表示され、スクラブ(早送り・巻き戻し)できない。

根本原因: キーフレームのタイムスタンプとファイルサイズテーブルを含む 'onMetaData' スクリプトタグが欠落しているため。

復旧: 'yamdi'(Yet Another MetaData Injector)を使用して欠落しているキーフレームテーブルをインジェクションするか、File2File を使用して MP4 に変換します。

セキュリティ分析とパーサー攻撃ベクトル

ActionScript および FLV 解析におけるメモリ破損バグのため、Flash Player プラグインはコンピュータの歴史において最も悪用されたソフトウェアコンポーネントの 1 つでした。

既知の攻撃ベクター

  • ActionScript 3 FLV 解析エンジンにおける Use-After-Free およびヒープオーバーフロー(例:CVE-2015-5122)。
  • 任意のメモリ実行を引き起こす、細工された AMF0/AMF3 メタデータパケット。
  • レガシーの Sorenson Spark 解凍ルーチンにおけるバッファオーバーフロー。

防御的ベストプラクティス:

歴史的背景とマイルストーン

2020Adobe が 2020年12月31日をもって Flash Player のサポートを正式に終了し、FLV のアクティブな利用が引退となる。
2005YouTube が唯一の動画配信フォーマットとして FLV を採用してサービスを開始。
2003Macromedia が Flash Player 7 と共に Flash Video を導入。

主な利点とメリット

  • 普及しているオンライン動画の歴史的パイオニア:スタンドアロンのデスクトッププレイヤーなしでのウェブ動画再生を可能にした。
  • On2 VP6 コーデックを使用した動画ストリームでのアルファ透明度をサポート。
  • 低遅延の RTMP ライブ動画配信に最適化された低いパケットオーバーヘッド。

技術的な制限とデメリット

  • Flash Player のサポート終了に伴い、すべてのモダンなウェブブラウザで完全に廃止され、サポートされていない。
  • iOS、Android、およびスマート TV で再生するには、MP4 への再エンコードまたはコンテナの切り替えが必要。
  • マルチトラック音声やレスポンシブなアダプティブビットレートストリーミングなどの、モダンなコンテナ機能が欠けている。

興味深い技術トリビア

  • YouTubeにアップロードされた最初の動画(2005年4月の「Me at the zoo」)は、FLVファイルとしてエンコードおよび配信されました。
  • Flash Video のマジックバイトシーケンス「46 4C 56 01」は、ASCII の「FLV」の後にコンテナのバージョン 1 が続くスペルになっています。
  • Steve Jobs は 2010年に有名なオープンレター「Thoughts on Flash」を公開し、業界が FLV から HTML5 の MP4 へ移行するのを加速させました。

よくある技術的な質問

コンピュータで FLV ファイルをもう再生できないのはなぜですか?

Adobe およびすべての主要なウェブブラウザは、セキュリティ上の脆弱性のため、2020 年 12 月に Flash Player のサポートを正式に終了しました。現在 FLV ファイルを再生するには、VLC メディアプレーヤーを使用するか、MP4 に変換してください。

画質を落とせずに FLV を MP4 に変換できますか?

FLV ファイルに H.264 動画と AAC 音声が含まれている場合、File2File は動画を再圧縮することなく、数秒で MP4 へのロスレスコンテナレマックス(再コンテナ化)を実行できます。

FLV 動画はもともとどのコーデックを使用していましたか?

初期の FLV ファイルは、Adobe が 2007 年に標準の H.264 のサポートを追加する前は、Sorenson Spark(H.263 のバリアント)やその後 On2 VP6 を使用していました。