FLV视频和音频解析学习(一)

本文介绍了FLV文件格式,包括文件头、Body结构和Tag标签,特别是Script Tag中的OnMetadata信息和关键帧(keyframes)在视频流处理中的作用。通过解析OnMetadata,可以获取视频的元数据,而keyframes则用于建立索引,实现高效地视频定位和播放操作。
摘要由CSDN通过智能技术生成

1. FLV文件格式

       FLV (Flash Vedio ) 是一种视频流媒体格式,FLV是被众多新一代视频分享网站所采用,是目前增长最快、最为广泛的视频传播格式。是在sorenson公司的压缩算法的基础上开发出来的。FLV格式不仅可以轻松的导入Flash中,速度极快,并且能起到保护版权的作用,并且可以不通过本地的微软或者REAL播放器播放视频。

2. FLV文件介绍

  FLV是一个二进制文件,由文件头(FLV header)和很多tag组成。tag又可以分成三类:audio,video,script,分别代表音频流,视频流,脚本流(关键字或者文件信息之类)。

  FLV文件=FLV头文件+ tag1+tag内容1 + tag2+tag内容2 + ...+... + tagN+tag内容N

2.1 FLV Header

Signature

UI8

Signature byte always 'F' (0x46)

Signature

UI8

Signature byte always 'L' (0x4C)

Signature

UI8

Signature byte always 'V' (0x56)

Version

UI8

File version (for example, 0x01 for FLV version 1)

TypeFlagsReserved

UB [5]

Shall be 0

TypeFlagsAudio

UB [1]

1 = Audio tags are present

TypeFlagsReserved

UB [1]

Shall be 0

TypeFlagsVideo

UB [1]

1 = Video tags are present

DataOffset

UI32

The length of this header in bytes

Signature: FLV 文件的前3个字节为固定的F’‘L’‘V’,用来标识这个文件是flv格式的.在做格式探测的时候,

如果发现前3个字节为“FLV”,就认为它是flv文件

Version: 4个字节表示flv版本号

Flags: 5个字节中的第0位和第2,分别表示 video audio 存在的情况.(1表示存在,0表示不存在)

DataOffset : 最后4个字节表示FLV header 长度

2.2 FLV Body

Field

Type

Comment

PreviousTagSize0

UI32

Always 0

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值