一句话总结:
MP4像瑞士军刀——功能多但启动慢;FLV像一次性筷子——简单粗暴秒开播!
一、出身背景
| 格式 | 出生年份 | 老爸 | 主打场景 |
|---|---|---|---|
| FLV | 2002 | Adobe | 直播、实时流(远古时期YouTube) |
| MP4 | 2001 | ISO国际标准组织 | 本地存储、点播(手机电影) |
二、结构差异(解剖课)
1. FLV结构——直男思维
[Header] + [Tag1] + [Tag2] + ...
每个Tag包含:
- 音频数据(AAC/MP3)
- 视频数据(H.264/VP6)
- 脚本数据(弹幕、时间戳)
特点:
- 简单:边下载边播放,适合直播推流
- 缺点:不支持复杂功能(如章节、多字幕)
2. MP4结构——强迫症晚期
[ftyp] + [moov] + [mdat] + ...
- moov:元数据(视频时长、分辨率、编码格式)
- mdat:实际音视频数据
特点:
- 功能全:支持多轨道(字幕、章节)、DRM加密
- 痛点:必须加载完moov才能播放 → 首屏慢
三、性能PK(实战对比)
| 项目 | FLV | MP4 |
|---|---|---|
| 首屏速度 | 0.5秒(直接开播) | 2秒+(需等moov加载) |
| 流式传输 | 天生支持(适合直播) | 需faststart优化moov位置 |
| 编辑友好度 | 差(数据连续难剪切) | 优(可快速定位关键帧) |
| 兼容性 | 需Flash(已过时) | 全平台通吃(手机/PC/TV) |
四、编码兼容性
| 格式 | 视频编码支持 | 音频编码支持 |
|---|---|---|
| FLV | H.264、VP6、Sorenson Spark | AAC、MP3、Nellymoser |
| MP4 | H.264/265、AV1、VP9 | AAC、MP3、AC-3、杜比全景声 |
关键结论:
- FLV:老古董,基本被HLS和DASH取代
- MP4:全能战士,但需注意
moov前置优化
五、各场景选型指南
| 场景 | 推荐格式 | 理由 |
|---|---|---|
| 直播推流 | FLV/RTMP | 低延迟,兼容旧系统 |
| 短视频平台 | MP4 | 编辑友好,封面截图方便 |
| 蓝光电影 | MP4 | 支持HDR、多音轨、字幕 |
| 监控录像 | FLV | 实时写入无需索引(但越来越少见) |
六、代码示例(FFmpeg操作)
1. 转MP4并优化首屏加载
ffmpeg -i input.flv -movflags faststart output.mp4
2. 提取FLV中的H.264视频流
ffmpeg -i input.flv -c:v copy -an output.h264
口诀:
“FLV简单秒开香,直播推流它最强,
MP4全能兼容广,优化moov别心慌,
老项目用FLV扛,新需求选MP4上!”