FLV(1) ------FLV协议

FLV与RTMP关系密切,你甚至可以认为FLV就是RTMP。

FLV与RTMP的区别?

RTMP加一个头tag就成了FLV

我们现在分析下FLV的协议

FLV包括FLV Header和数据两部分

我们先分析FLV Header,FLV Header有九个字节。我们来分析下

1-3字节表示当前是‘F’ 、'L'、‘V’

4字节表示当前的flv版本号

5字节:具体表示为1-5位为0,6位代表存在音频,7位保留位是0, 8位代表存在视频

6-9字节:代表header的大小,目前数值为9

 

下面我们看看下FLV的数据部分

FLV的数据是由pre tagsize 、tag、pre tagsize 、tag交替出现组成。

pre tagsize 占四个字节,表示前一个tag的大小。第一个pre tagsize为0,因为是第一个所以为0.

我们重点分析下tag

Tag有三种类型,Audio Tag(音频Tag),Video Tag(视频Tag),script Tag(又称Metadata Tag)

tag的表示如下:

tag的类型: 1字节 音频0X08 视频 0x09 script data 0x12

DATA SIZE:3字节 tag大小

TimeStamp:3字节 时间戳

E:时间戳扩展,如果3字节不够用,再增加一个字节

StreamId:3个字节总是为0

 

我用一个思维导图来描述

 

 

https://blog.csdn.net/weixin_42462202/article/details/88661883 这篇文章写的特别详细,可以结合思维导图来理解。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值