Flash Video是什么?

来源:TechTMT.Com  作者:整理  日期:2022-02-23 14:17:33

FlashVideo,是一种网络视频格式,用作流媒体格式,它的出现有效地解决了视频文件导入 Flash 后,使导出的SWF文件体积庞大,不能在网络上有效使用等缺点。 一般 FLV 文件包在 SWF PLAYER 的壳里,并且 FLV 可以很好的保护原始地址,不容易被下载到,从而起到保护版权的作用。

Flash Video

但还是有些视频格式转换软件将 FLV 转成一般的视频格式,如中国的软件格式工厂。随着视频网站的丰富,在 2008 年时这个格式已经非常普及,包括 YouTube、NICONICO 动画、Google Video、Yahoo! Video、MySpace,以及中国的优酷、酷 6 等大部分视频分享网站均采用这个格式。

然而,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 技术。

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 作为一个默认的元信息项目。

分类:资讯
标签:是什么
编辑:tmt
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。文章版权归原作者所有,内容不代表本站立场!
免责声明: 阁下应知本站所提供的内容不能做为操作依据。本站作为信息内容发布平台,不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考! 如文中内容影响到您的合法权益(含文章中文字、图片等),请及时联系本站,我们会及时删除处理。