<p><b>Flash Video</b>（簡稱<b>FLV</b>），是一種網路影片格式，用作串串流媒體格式，它的出現有效地解決了視訊檔匯入Flash後，使匯出的SWF檔案體積龐大，不能在網路上有效使用等缺點。
</p><p>一般FLV檔案包在SWF PLAYER的殼裡，並且FLV可以很好的保護原始位址，不易下載，從而起到保護著作權的作用。但還是有些影片格式轉換軟體將FLV轉成一般的影片格式，如中國的軟體格式工廠。隨著影片網站的豐富，在2008年時這個格式已經非常普及，包括YouTube、NICONICO動畫、Google Video、Yahoo! Video、MySpace，以及中國的優酷、酷6、BiliBili等大部分影片分享網站均採用這個格式。
</p><p>然而，Flash存在著包括大量耗電以及資訊安全等若干問題，隨著行動裝置與行動應用程式的發展與普及而日益嚴重，2010年賈伯斯曾公開抨擊。2011年11月9日，Adobe公司宣布停止開發個人電腦平台以外的Flash Player，而專注於開發非專利標示語言HTML5。
</p><p>2016年，Youtube已經改採用HTML5技術，Google公司表示flash廣告會自動轉檔為HTML5形式。2015年6月，Google宣布公司旗下的Chrome瀏覽器停止了Flash外掛的自啟動。2015年9月1日起，Chrome瀏覽器預設不支援這些外掛程式，並且Amazon公司旗下電子商務和廣告平台也停止使用Flash技術。
</p><p>中國影片網站嗶哩嗶哩為了減少遷移至HTML5成本而開發了flv.js，可以通過瀏覽器支援的Media Source Extension播放FLV檔案格式中的H.264和AAC編碼內容，所以如今Chrome、Edge等瀏覽器仍然可以收看來自BiliBili的影片。</p><p>2020年12月31日，Chrome作為最後一個宣布將不再支援使用Flash的應用程式瀏覽器，flv影片均無法透過Google Chrome收看，除開BiliBili、優酷等影片網站以外的影片網站均停止使用flv作為影片格式。
</p>


<h2><span id="F4V">F4V</span></h2>
<p>FLV在H.264的影片規格或是AAC的音源規格都達到功能極限，為了克服這個格式上的限制，F4V於是誕生。F4V是基於<span data-orig-title="ISO base media file format" data-lang-code="en" data-lang-name="英語" data-foreign-title="ISO base media file format"><span>ISO base media file format</span></span>制定出來的容器格式（Container format）。至少於Flash Player 12.0 update 3以上版本才能播放。F4V支援的影片類型為H.264，影像類型為GIF、PNG以及JPEG，音訊類型為AAC以及MP3。
</p>
<h2><span id="FLV.E6.96.87.E4.BB.B6.E6.9E.84.E6.88.90"></span><span id="FLV文件构成">FLV檔案構成</span></h2>
<p>FLV檔案=FLV標頭檔+ tag1+tag內容1 + tag2+tag內容2 + ...+... + tagN+tag內容N
</p>
<h3><span id="FLV.E5.A4.B4.E6.96.87.E4.BB.B6"></span><span id="FLV头文件">FLV標頭檔</span></h3>
<p>FLV標頭檔：（9位元組）
</p>
<ul><li>1-3：前3個位元組是檔案格式標識（FLV 0x46 0x4C 0x56）。</li>
<li>4-4：第4個位元組是版本（0x01）</li>
<li>5-5：第5個位元組的前5個bit是保留的必須是0.
<ul><li>第5個位元組的第6個bit音訊類型標誌（TypeFlagsAudio）</li>
<li>第5個位元組的第7個bit也是保留的必須是0</li>
<li>第5個位元組的第8個bit影片類型標誌（TypeFlagsVideo）</li></ul></li>
<li>6-9:    第6-9的四個位元組還是保留的。其資料為00000009 .</li>
<li>整個檔案頭的長度，一般是9（3+1+1+4）</li></ul><h3><span id="tag.E5.9F.BA.E6.9C.AC.E6.A0.BC.E5.BC.8F"></span><span id="tag基本格式">tag基本格式</span></h3>
<p>tag類型資訊，固定長度為15位元組
</p>
<ul><li>1-4：前一個tag長度（4位元組），第一個tag就是0</li>
<li>5-5：tag類型（1位元組）；0x8音訊；0x9影片；0x12指令碼資料</li>
<li>6-8：tag內容大小（3位元組）</li>
<li>9-11：時間戳（3位元組，毫秒）（第1個tag的時候總是為0,如果是指令碼tag就是0）</li>
<li>12-12：時間戳擴充（1位元組）讓時間戳變成4位元組（以儲存更長時間的flv時間資訊），本位元組作為時間戳的最高位。</li></ul><p>在flv回放過程中，播放順序是按照tag的時間戳順序播放。任何加入到檔案中時間設定資料格式都將被忽略。
</p>
<ul><li>13-15：streamID（3位元組）總是0</li></ul><h3><span id="flv.E6.96.87.E4.BB.B6.E5.85.83.E4.BF.A1.E6.81.AF.EF.BC.88metadata.EF.BC.89"></span><span id="flv文件元信息（metadata）">flv檔案元資訊（metadata）</span></h3>
<p>flv檔案中的元資訊，是一些描述flv檔案各類屬性的資訊。這些資訊以AMF格式儲存在檔案的起始部分。adobe官方的標準flv元資訊專案如下：
</p>
<ul><li>audiochannels</li>
<li>audiocodecid</li>
<li>audiodatarate</li>
<li>audiodevice</li>
<li>audioinputvolume</li>
<li>audiosamplerate</li>
<li>creationdate</li>
<li>duration (media files only)</li>
<li>fmleversion (Flash Media Live Encoder version)（media files only）</li>
<li>framerate</li>
<li>height</li>
<li>lastkeyframetimestamp (media files only)</li>
<li>lasttimestamp (media files only)</li>
<li>presetname</li>
<li>videocodecid</li>
<li>videodatarate</li>
<li>videodevice</li>
<li>videokeyframe_frequency</li>
<li>width</li></ul><p>兩個常用的操作metadata的工具是<i>flvtool2</i>和<i>FLVMDI</i>，都是把keyframes作為一個預設的元資訊專案。
</p>
<h2><span id="FLV.E6.92.AD.E6.94.BE.E7.A8.8B.E5.BC.8F"></span><span id="FLV播放程式">FLV播放程式</span></h2>
<h3><span id=".E6.A1.8C.E9.9D.A2.E8.BB.9F.E9.AB.94"></span><span id="桌面軟體">桌面軟體</span></h3>
<p>這些播放程式包括：
</p>
<ul><li>Adobe Media Player</li>
<li>BitComet FLV Player</li>
<li>ExtraPlayer</li>
<li>GOM Player</li>
<li>K-Multimedia Player</li>
<li>MPlayer</li>
<li>Perian</li>
<li>PotPlayer</li>
<li>Real Player 11</li>
<li>VLC media player</li>
<li>FLV Player by Martijn de Visser</li>
<li>Quick Time 10</li>
<li>任何基於FFmpeg的播放程式</li>
<li>任何利用DirectShow配合ffdshow的播放程式
<ul><li>Media Player Classic</li>
<li>MPC-HC</li>
<li>MPC-BE</li>
<li>Windows Media Player</li>
<li>Windows Media Center（需要改動登錄檔）</li>
<li>暴風影音</li>
<li>PowerDVD</li></ul></li></ul><h3><span id=".E6.A1.8C.E9.9D.A2.E8.BB.9F.E9.AB.94.E8.88.87.E7.B6.B2.E9.A0.81.E7.AB.AF.E6.92.AD.E6.94.BE.E7.A8.8B.E5.BC.8F"></span><span id="桌面軟體與網頁端播放程式">桌面軟體與網頁端播放程式</span></h3>
<ul><li>JW FLV Player（授權方式：CC by-nc-sa）</li>
<li>Moyea Web Player（頁面存檔備份，存於網際網路檔案館）（免費使用。可裝上外掛程式進行功能上的擴充，所見即所得圖形介面軟體。）</li></ul><h3><span id=".E7.B6.B2.E9.A0.81.E7.AB.AF.E6.92.AD.E6.94.BE.E7.A8.8B.E5.BC.8F"></span><span id="網頁端播放程式">網頁端播放程式</span></h3>
<ul><li>Dreamsocket Media Player（授權方式：CC by-nc-sa）</li>
<li>FV H.264 FLV Ads Player免費軟體</li>
<li>Sonettic Cinema FLV Player免費與商業版軟體均有</li>
<li>Hitasoft Free RIPE FLVPlayer</li>
<li>FLV / H.264 Video Player I, II and III by FlashXpert</li></ul><h2><span id=".E8.A8.BB.E9.87.8B.E5.8F.8A.E5.8F.83.E8.80.83.E4.BE.86.E6.BA.90"></span><span id="註釋及參考來源">註釋及參考來源</span></h2>

<h2><span id=".E5.A4.96.E9.83.A8.E9.80.A3.E7.B5.90"></span><span id="外部連結">外部連結</span></h2>
<ul><li>Flash Developer Center - Flash Video Articles（頁面存檔備份，存於網際網路檔案館）</li>
<li>Adobe Flash (SWF) and Flash Video (FLV) File Format Specification Licensing Page（adobe.com）</li>
<li>Adobe Flash FLV Video File Format（頁面存檔備份，存於網際網路檔案館）（Library of Congress）</li></ul><!-- 
NewPP limit report
Parsed by mw2440
Cached time: 20230505225903
Cache expiry: 1814400
Reduced expiry: false
Complications: [show‐toc]
CPU time usage: 0.576 seconds
Real time usage: 0.783 seconds
Preprocessor visited node count: 4039/1000000
Post‐expand include size: 548619/2097152 bytes
Template argument size: 4059/2097152 bytes
Highest expansion depth: 10/100
Expensive parser function count: 86/500
Unstrip recursion depth: 0/20
Unstrip post‐expand size: 8333/5000000 bytes
Lua time usage: 0.179/10.000 seconds
Lua memory usage: 7748978/52428800 bytes
Number of Wikibase entities loaded: 0/400
--><!--
Transclusion expansion time report (%,ms,calls,template)
132.15%  603.460      5 Template:Navbox
100.00%  456.652      1 -total
 67.83%  309.758      1 Template:多媒體壓縮格式
 38.07%  173.841     92 Template:绿链
 12.81%   58.502      1 Template:Reflist
  9.86%   45.038      1 Template:NoteTA
  9.66%   44.091      4 Template:Cite_web
  4.20%   19.167      1 Template:Infobox_file_format
  3.78%   17.246      1 Template:Infobox
  3.35%   15.296      1 Template:Link-en
-->
**Flash Video**（簡稱 **FLV**），是一種網路影片格式，用作串串流媒體格式，它的出現有效地解決了視訊檔匯入 Flash 後，使匯出的 SWF 檔案體積龐大，不能在網路上有效使用等缺點。

一般 FLV 檔案包在 SWF PLAYER 的殼裡，並且 FLV 可以很好的保護原始位址，不易下載，從而起到保護著作權的作用。但還是有些影片格式轉換軟體將 FLV 轉成一般的影片格式，如中國的軟體格式工廠。隨著影片網站的豐富，在 2008 年時這個格式已經非常普及，包括 YouTube、NICONICO 動畫、Google Video、Yahoo! Video、MySpace，以及中國的優酷、酷 6、BiliBili 等大部分影片分享網站均採用這個格式。

然而，Flash 存在著包括大量耗電以及資訊安全等若干問題，隨著行動裝置與行動應用程式的發展與普及而日益嚴重，2010 年賈伯斯曾公開抨擊。2011 年 11 月 9 日，Adobe 公司宣布停止開發個人電腦平台以外的 Flash Player，而專注於開發非專利標示語言 HTML5。

2016 年，Youtube 已經改採用 HTML5 技術，Google 公司表示 flash 廣告會自動轉檔為 HTML5 形式。2015 年 6 月，Google 宣布公司旗下的 Chrome 瀏覽器停止了 Flash 外掛的自啟動。2015 年 9 月 1 日起，Chrome 瀏覽器預設不支援這些外掛程式，並且 Amazon 公司旗下電子商務和廣告平台也停止使用 Flash 技術。

中國影片網站嗶哩嗶哩為了減少遷移至 HTML5 成本而開發了 flv.js，可以通過瀏覽器支援的 Media Source Extension 播放 FLV 檔案格式中的 H.264 和 AAC 編碼內容，所以如今 Chrome、Edge 等瀏覽器仍然可以收看來自 BiliBili 的影片。

2020 年 12 月 31 日，Chrome 作為最後一個宣布將不再支援使用 Flash 的應用程式瀏覽器，flv 影片均無法透過 Google Chrome 收看，除開 BiliBili、優酷等影片網站以外的影片網站均停止使用 flv 作為影片格式。

## F4V

FLV 在 H.264 的影片規格或是 AAC 的音源規格都達到功能極限，為了克服這個格式上的限制，F4V 於是誕生。F4V 是基於 ISO base media file format 制定出來的容器格式（Container format）。至少於 Flash Player 12.0 update 3 以上版本才能播放。F4V 支援的影片類型為 H.264，影像類型為 GIF、PNG 以及 JPEG，音訊類型為 AAC 以及 MP3。

## FLV 檔案構成

FLV 檔案 = FLV 標頭檔 + tag1+tag 內容 1 + tag2+tag 內容 2 + ...+... + tagN+tag 內容 N

### FLV 標頭檔

FLV 標頭檔：（9 位元組）

* 1-3：前 3 個位元組是檔案格式標識（FLV 0x46 0x4C 0x56）。
* 4-4：第 4 個位元組是版本（0x01）
* 5-5：第 5 個位元組的前 5 個 bit 是保留的必須是 0.
  * 第 5 個位元組的第 6 個 bit 音訊類型標誌（TypeFlagsAudio）
  * 第 5 個位元組的第 7 個 bit 也是保留的必須是 0
  * 第 5 個位元組的第 8 個 bit 影片類型標誌（TypeFlagsVideo）
* 6-9: 第 6-9 的四個位元組還是保留的。其資料為 00000009 .
* 整個檔案頭的長度，一般是 9（3+1+1+4）

### tag 基本格式

tag 類型資訊，固定長度為 15 位元組

* 1-4：前一個 tag 長度（4 位元組），第一個 tag 就是 0
* 5-5：tag 類型（1 位元組）；0x8 音訊；0x9 影片；0x12 指令碼資料
* 6-8：tag 內容大小（3 位元組）
* 9-11：時間戳（3 位元組，毫秒）（第 1 個 tag 的時候總是為 0, 如果是指令碼 tag 就是 0）
* 12-12：時間戳擴充（1 位元組）讓時間戳變成 4 位元組（以儲存更長時間的 flv 時間資訊），本位元組作為時間戳的最高位。

在 flv 回放過程中，播放順序是按照 tag 的時間戳順序播放。任何加入到檔案中時間設定資料格式都將被忽略。

* 13-15：streamID（3 位元組）總是 0

### flv 檔案元資訊（metadata）

flv 檔案中的元資訊，是一些描述 flv 檔案各類屬性的資訊。這些資訊以 AMF 格式儲存在檔案的起始部分。adobe 官方的標準 flv 元資訊專案如下：

* audiochannels
* audiocodecid
* audiodatarate
* audiodevice
* audioinputvolume
* audiosamplerate
* creationdate
* duration (media files only)
* fmleversion (Flash Media Live Encoder version)（media files only）
* framerate
* height
* lastkeyframetimestamp (media files only)
* lasttimestamp (media files only)
* presetname
* videocodecid
* videodatarate
* videodevice
* videokeyframe\_frequency
* width

兩個常用的操作 metadata 的工具是 _flvtool2_ 和 _FLVMDI_，都是把 keyframes 作為一個預設的元資訊專案。

## FLV 播放程式

### 桌面軟體

這些播放程式包括：

* Adobe Media Player
* BitComet FLV Player
* ExtraPlayer
* GOM Player
* K-Multimedia Player
* MPlayer
* Perian
* PotPlayer
* Real Player 11
* VLC media player
* FLV Player by Martijn de Visser
* Quick Time 10
* 任何基於 FFmpeg 的播放程式
* 任何利用 DirectShow 配合 ffdshow 的播放程式
  * Media Player Classic
  * MPC-HC
  * MPC-BE
  * Windows Media Player
  * Windows Media Center（需要改動登錄檔）
  * 暴風影音
  * PowerDVD

### 桌面軟體與網頁端播放程式

* JW FLV Player（授權方式：CC by-nc-sa）
* Moyea Web Player（頁面存檔備份，存於網際網路檔案館）（免費使用。可裝上外掛程式進行功能上的擴充，所見即所得圖形介面軟體。）

### 網頁端播放程式

* Dreamsocket Media Player（授權方式：CC by-nc-sa）
* FV H.264 FLV Ads Player 免費軟體
* Sonettic Cinema FLV Player 免費與商業版軟體均有
* Hitasoft Free RIPE FLVPlayer
* FLV / H.264 Video Player I, II and III by FlashXpert

## 註釋及參考來源

## 外部連結

* Flash Developer Center - Flash Video Articles（頁面存檔備份，存於網際網路檔案館）
* Adobe Flash (SWF) and Flash Video (FLV) File Format Specification Licensing Page（adobe.com）
* Adobe Flash FLV Video File Format（頁面存檔備份，存於網際網路檔案館）（Library of Congress）
.flv