Flash Video

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是基於制定出來的容器格式（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）

Category:文件格式
Category:Adobe软件