Flash Video

Flash Video(简称FLV),是一种网络视频格式,用作串流媒体格式,它的出现有效地解决了视频文档导入Flash后,使导出的SWF文档体积庞大,不能在网络上有效使用等缺点。

FLV
.flv
video/x-flv
开发者Adobe Systems
格式类型视频文档格式

一般FLV文档包在SWF PLAYER的壳里,并且FLV可以很好的保护原始地址,不易下载,从而起到保护版权的作用。但还是有些视频格式转换软件将FLV转成一般的视频格式,如中国的软件格式工厂。随着视频网站的丰富,在2008年时这个格式已经非常普及,包括YouTubeNICONICO动画、Google Video、Yahoo! Video、MySpace,以及中国的优酷酷6BiliBili等大部分视频分享网站均采用这个格式。

然而,Flash存在着包括大量耗电以及信息安全等若干问题,随着移动设备流动应用程序的发展与普及而日益严重,2010年乔布斯曾公开抨击。2011年11月9日,Adobe公司宣布停止开发个人电脑平台以外的Flash Player,而专注于开发非专利标示语言HTML5

2016年,Youtube已经改采用HTML5技术,Google公司表示flash广告会自动转档为HTML5形式[1]。2015年6月[2],Google宣布公司旗下的Chrome浏览器停止了Flash插件的自启动。2015年9月1日起,Chrome浏览器缺省不支持这些插件程序[3],并且Amazon公司旗下电子商务和广告平台也停止使用Flash技术[4]

中国视频网站哔哩哔哩为了减少迁移至HTML5成本而开发了flv.js,可以通过浏览器支持的Media Source Extension播放FLV文档格式中的H.264和AAC编码内容,所以如今Chrome、Edge等浏览器仍然可以收看来自BiliBili的视频。[5]

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,影像类型为GIFPNG以及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元信息项目如下[6]

  • 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播放程序

桌面软件

这些播放程序包括:

桌面软件与网页端播放程序

网页端播放程序

  • 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

注释及参考来源

  1. . Paganini Plus. 2015-07-30 [2015-08-31]. (原始内容存档于2015-08-26). 2010年Apple前首席执行官Steve Jobs曾公开抨击Flash大量耗电以及信息安全的问题,而且系统本身封闭,稳定性一直存在着漏洞,一直到现在2015年,越来越多知名大企业摒弃了Flash而转往投抱HTML5,像是Youtube、Firefox、Facebook、Twitch,就连Google都表示目前会将flash广告自动转档为HTML5形式。
  2. . PingWest中文网. 2015-06-24 [2015-10-03]. (原始内容存档于2015-10-23). 6月初,Chrome和Adobe达成一项协定,最新的Chrome Beta版将会停止自动播放网页上那些不重要的Flash内容。
  3. . Chrome说明. [2015-10-03]. (原始内容存档于2015-10-08). 我们已于2015年9月1日停止支持……NPAPI插件程序(包括Silverlight、Java和Unity)将无法运作。如果您想浏览使用NPAPI插件程序的网站,必须使用其他网络浏览器。
  4. . 科技新报. 2015-08-24 [2015-10-03]. (原始内容存档于2015-10-07). 反Flash阵营中最坚定的支持者就是苹果公司,iOS系统自上线以来从未支持这项技术,随后Google旗下的Android和YouTube也从Flash阵营跳到了HTML5。在线影音领域Flash早已是昨日黄花……Facebook高端主管曾公开表态,Adobe应该马上将Flash淘汰。……目前仍在大量应用Flash技术的主要是网络广告,Amazon停止对Flash广告的支持很可能改变这一局面。自2015年9月1日Amazon公司旗下电子商务和广告平台将停止支持Flash技术,这一调整主要是因为各大浏览器厂商改变了对Flash技术的态度。
  5. . [2022-03-04]. (原始内容存档于2022-04-11).
  6. . [2012-09-05]. (原始内容存档于2011-12-31).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.