日常小知识,视频,日常小知识视频
228
2023 / 06 / 10
Flash Video 是一种网络视频格式,用作流媒体格式,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上有效使用等缺点。
Flash Video,是一种网络视频格式,用作流媒体格式,它的出现有效地解决了视频文件导入 Flash 后,使导出的 SWF 文件体积庞大,不能在网络上有效使用等缺点。 一般 FLV 文件包在 SWF PLAYER 的壳里,并且 FLV 可以很好的保护原始地址,不容易被下载到,从而起到保护版权的作用。
但还是有些视频格式转换软件将 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 技术。
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 头文件+ 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 作为一个默认的元信息项目。
发表评论
暂时没有评论,来抢沙发吧~