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瀏覽器預設不支援這些外掛程式,並且亞馬遜公司旗下電子商務和廣告平台也停止使用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的工具是flvtool2FLVMDI,都是把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)
  • [http://www.playerdiy.com/ 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

註釋及參考來源
外部連結

评论 (0)

  • 还没有评论,来抢沙发吧。