Flash 影片容器 (.flv)

Adobe 標準

Flash Video(FLV)是由 Macromedia 與 Adobe 開發的容器格式,旨在透過 Adobe Flash Player 瀏覽器外掛程式在網路上傳遞同步的視訊與音訊。

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 FLV 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 FLV 檔案:

十六進位簽章(偏移量 0):

46 4C 56 01

ASCII 表示法: FLV

標準化: Adobe Systems Flash 影片檔案格式規格

技術規格

容器架構基於標籤的串流容器,內含交錯的音訊、影片與指令碼資料標籤
壓縮Sorenson Spark、VP6 或 H.264 影片搭配 MP3 或 AAC 音訊
位元組序大端序(Big-Endian)位元與位元組排序
色彩空間YUV 4:2:0
色版與結構單聲道與立體聲音訊搭配視訊串流
最大尺寸通常最高支援 1080p
透明度VP6 視訊串流支援 Alpha 通道透明度
串流與漸進式原生支援 RTMP(即時訊息傳輸協定)直播串流

技術比較矩陣:FLV 對比競爭格式

技術屬性FLV (目前)MP4WEBMMKV
今日瀏覽器支援0%(已從所有現代瀏覽器中完全移除)受到許多現今瀏覽器支援;可用性因版本與平臺而異受到許多現今瀏覽器支援;可用性因版本與平臺而異需要桌面版媒體播放器
標準化Adobe 專有規格ISO/IEC 國際開放標準W3C / WebM 開放標準開源 Matroska 標準
行動裝置播放在 iOS 與現代 Android 上原生不支援原生硬體支援原生硬體支援透過 VLC 或第三方應用程式支援
Alpha 透明度透過 On2 VP6 編解碼器支援有限(需要 canvas 或 WebCodecs)原生 Alpha 通道支援(VP9)在 VP9/ProRes 資料流中支援

常見損壞模式與十六進位修復指南

下載的 FLV 影片顯示總長度為「未知」,且無法快轉或倒轉。

根本原因: 缺少包含關鍵影格時間戳記與檔案大小表格的「onMetaData」指令碼標籤。

修復: 使用「yamdi」(Yet Another MetaData Injector)注入缺少的關鍵影格表格,或是使用 File2File.app 將其轉換為 MP4。

安全性分析與解析器攻擊向量

由於 ActionScript 與 FLV 解析中的記憶體損壞錯誤,Flash Player 外掛程式在歷史上一直是運算史上遭到最多攻擊的軟體元件之一。

已知攻擊向量

  • ActionScript 3 FLV 解析引擎中的使用後釋放(use-after-free)與堆積溢位(例如 CVE-2015-5122)。
  • 格式錯誤的 AMF0/AMF3 中繼資料封包可能會在易受攻擊的解析器中觸發記憶體損壞。
  • 傳統 Sorenson Spark 解壓縮常式中的緩衝區溢位。

防禦最佳實務: 切勿執行原生 Flash Player 外掛程式。使用經過沙箱隔離的 FFmpeg 將封存的 FLV 檔案直接轉碼為 MP4。

歷史起源與里程碑

2020Adobe 於 2020 年 12 月 31 日正式終止 Flash Player 支援,讓 FLV 走入歷史。
2005YouTube 正式上線,並採用 FLV 作為其獨家影片傳遞格式。
2003Macromedia 隨 Flash Player 7 推出 Flash Video。

主要優勢與優點

  • 普及線上影片的歷史先驅:無需獨立的桌面播放器即可實現網頁影片播放。
  • 在視訊串流中使用 On2 VP6 編解碼器支援 alpha 透明度。
  • 低封包負荷,專為低延遲的 RTMP 直播影片廣播進行最佳化。

技術限制與缺點

  • 在 Flash Player 遭淘汰後,所有現代網頁瀏覽器均已不再支援,FLV 已完全過時。
  • 若要在 iOS、Android 與智慧型電視上播放,必須重新編碼或切換容器為 MP4。
  • 缺乏多軌音訊與響應式自適應位元率串流等現代容器功能。

有趣的技術冷知識

  • 上傳到 YouTube 的第一部影片(2005 年 4 月的「我在動物園」)是以 FLV 檔案編碼並傳遞的。
  • Flash Video 的檔案簽章(magic bytes)「46 4C 56 01」拼出了 ASCII 字元「FLV」,後面接著容器版本 1。
  • 史蒂夫·賈伯斯(Steve Jobs)於 2010 年發表了著名的公開信「對 Flash 的看法」,加速了業界從 FLV 轉向 HTML5 MP4 的步伐。

常見技術問題

為什麼我的電腦無法再播放 FLV 檔案?

基於安全性漏洞,Adobe 與所有主流瀏覽器已於 2020 年 12 月正式終止支援 Flash Player。如今若要播放 FLV 檔案,請使用 VLC 媒體播放器,或將其轉換為 MP4。

我可以在不損失品質的情況下將 FLV 轉換為 MP4 嗎?

如果 FLV 檔案包含 H.264 影片與 AAC 音訊,相容的重新封裝(remux)可以在不重新編碼的情況下將這些資料流放入 MP4 中。處理時間取決於檔案大小與裝置。

FLV 影片原本使用哪些編解碼器?

早期的 FLV 檔案使用 Sorenson Spark(H.263 的變體)以及後來的 On2 VP6,之後 Adobe 於 2007 年才加入對標準 H.264 的支援。