FLV (Flash Video)文件格式是一个流媒体文件格式,设计用于通过 Flash 播放器播放视频和音频。它由头部、主体和尾部组成,主体包含多个数据标签(视频、音频和元数据)。
下面是 FLV 文件格式的结构以及它的基本组成部分:
1. FLV 文件格式结构
FLV 文件
├── FLV Header (头部)
│ ├── Signature (签名) - 固定为 "FLV" (3 字节)
│ ├── Version (版本) - FLV 格式版本号 (1 字节)
│ └── TypeFlags (类型标志) - 指定文件是否包含视频、音频等 (1 字节)
│
├── Body (主体)
│ ├── Tag 1
│ │ ├── Tag Header (标签头)
│ │ │ ├── Previous Tag Size (前一个标签的大小)
│ │ │ └── Tag Type (标签类型)
│ │ ├── Data (数据部分)
│ │ │ ├── Video Data (视频数据) 或 Audio Data (音频数据)
│ │ │ └── Metadata (元数据)
│ │ └── Timestamp (时间戳)
│ ├── Tag 2
│ │ └── 同上
│ └── ... (多个标签)
│
└── FLV Footer (尾部)
└── FileSize (文件大小) - 可选的文件总大小字段 (4 字节)
2. 标签类型(Tag Types)
FLV 文件包含多个 标签,每个标签包含一个视频、音频或元数据块。常见的标签类型如下:
| 标签类型 | 描述 | 数据格式 |
|---|---|---|
| 0x08 | 视频数据标签 (Video Tag) | 包含视频帧数据,如 H.264 编码的视频 |
| 0x09 | 音频数据标签 (Audio Tag) | 包含音频帧数据,如 MP3、AAC 音频 |
| 0x12 | 元数据标签 (Metadata Tag) | 包含附加信息(例如,视频的元数据) |
3. FLV 文件播放流程
- 解析 FLV Header:播放器读取 FLV 文件的头部,确认文件类型和版本。
- 读取 Body:播放器读取并解析每个视频、音频或元数据标签,根据时间戳顺序播放。
- 播放数据:根据视频和音频数据流,逐步播放 FLV 文件内容。
- FLV Footer:若文件大小信息存在,播放器可以读取并验证文件的完整性。
1103

被折叠的 条评论
为什么被折叠?



