H.264标准(二)FLV封装格式详解

首先用工具分析一个flv文件,flv是一种封装格式,是adobe公司推出的。官方文档可以参考:video_file_format_spec_v10_1,本文根据官方文档总结。

https://img-blog.csdn.net/20170616095103836?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVqanVubGlu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

FLV 文件格式

这里写图片描述

FLV格式主要包括: FLV Header和FLV Body两部分.

  • Header
    • Header包括文件类型,流信息(是否包含视频音频),header长度等信息.
  • Body
    • Body由一个个Tag组成.
    • Tag包含的信息主要为: 视频、音频或脚本信息.
    • Body中一般第一个Tag为脚本信息(meta data, 包含视频音频的编码格式,视频的宽高信息等,该类型的Tag一般有且仅有一个),其后的Tag为Video或Audio的Tag.

这里写图片描述

The FLV tag contains metadata for audio, video, or scripts, optional encryption metadata, and the payload

这里写图片描述

视频数据:

这里写图片描述

AVCVIDEOPACKET

这里写图片描述

cts偏移:cts = (pts - dts) / 90 。cts的单位是毫秒。

音频数据:

这里写图片描述

onMetaData

这里写图片描述

onMetaData是FLV文件中的第一个Tag, 用来表示当前文件的一些基本信息: 比如视音频的编码类型id、视频的宽和高、文件大小、视频长度、创建日期等。
其中有两个编解码器id,一个是audiocodecid, 还有一个是videocodecid,

  • audiocodecid

    • 音频的编码类型的id,如AAC的audiocodecid=10

    这里写图片描述

  • videocodecid

    • 视频的编码类型的id,如AVC的videocodecid=7

    这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值