【音视频】FLV封装格式

基本概念

文件头(Header)+文件体(Body)

flv文件头

主要是看signture和typeflags

flv文件体

重点:Tag包数据

Tag结构详细说明

注意:

  • 每个Tag的头字段DataSize只是该Tag下data部分的大小,不包括Tag的header部分的大小

音频 AudioTag Data

所在位置

⾳频Tag Data区域开始:

  • 第⼀个字节包含了⾳频数据的参数信息

  • 第⼆个字节以后为⾳频流数据

视频 Video Tag Data

所在位置

视频Tag Data区域开始:

  • 第⼀个字节包含了视频数据的参数信息

  • 第⼆个字节以后为视频流数据

总结

时间戳存放位置

复制代码
位置:
Timestamp:每一个Tag的头信息第5个字节-第7个字节,一共三个字节
TimestampExtended:还有一个扩展字节
一共4个字节

时间戳占4个字节 其中第四个字节是⾼位 前三个字节是低位(每个tag的5~8字节),毫秒级

数据存放位置

复制代码
位置:
音频Tag Data:
	● 第⼀个字节包含了⾳频数据的参数信息,
	● 第⼆个字节开始为⾳频流数据。
视频Tag Data:
    ● 第⼀个字节包含视频数据的参数信息------帧类型4+编码器4
    ● 第⼆个字节开始为视频流数据

怎么区别 音频 视频数据

复制代码
位置:
TagType

视频码流包序列

复制代码
当前序列:
其中TS、flv⼀般按照编码顺序排列
编码顺序 I P P B B B......
对应帧号 0 1 5 3 2 4.......
相关推荐
上海合宙LuatOS16 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
Android系统攻城狮17 小时前
Android16进阶之音频播放定位MediaPlayer.seekTo调用流程与实战(二百二十七)
音视频·mediaplayer·android16·音频进阶·音频性能实战
晚霞的不甘18 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
听麟19 小时前
HarmonyOS 6.0+ 跨端智慧政务服务平台开发实战:多端协同办理与电子证照管理落地
笔记·华为·wpf·音视频·harmonyos·政务
晚霞的不甘20 小时前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
零一iTEM20 小时前
MAX98357A_音频输出测试
单片机·嵌入式硬件·开源·音视频·硬件工程
Android系统攻城狮1 天前
Android16进阶之获取播放位置MediaPlayer.getCurrentPosition调用流程与实战(二百二十八)
音视频·android16·音频进阶·音频性能实战
愚公搬代码1 天前
【愚公系列】《AI短视频创作一本通》020-AI短视频创作实例精解(文旅宣传AI短视频实例精解)
人工智能·音视频
有位神秘人1 天前
Android获取设备中本地音频
android·音视频
硫酸锌011 天前
使用ffmpeg合并文件夹内的所有*.mp4格式视频
ffmpeg·音视频