Flash Video是什么

Fanly问答2020-09-21 02:23:32阅读(...)

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

Flash Video,是一种网络视频格式,用作流媒体格式,它的出现有效地解决了视频文件导入 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 作为一个默认的元信息项目。

收藏0个人收藏
走进科技生活方式

评论交流

泪雪默认头像请「登录」后参与评论
  1. 加载中..