前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >音视频知识体系(基础篇4)----FLV格式解析

音视频知识体系(基础篇4)----FLV格式解析

作者头像
jerrypxiao
发布2021-04-16 10:20:37
2.2K0
发布2021-04-16 10:20:37
举报
文章被收录于专栏:音视频专栏音视频专栏

前言

首先,我们来回顾一下直播的整个链路(详见 音视频知识体系(基础篇1)----媒体格式)。我们最常接触到的是直播的播放器端,例如,斗鱼、虎牙、快手、抖音里面的直播。我们又称播放器为收流端,技术上可以看作为流媒体数据的接收显示器。 在直播中,FLV格式流数据接收仍旧是主流,那我们这篇文章就来看下如何下载和处理FLV格式的流媒体数据。

image.png

1. 准备工作

要先看如何获取一段flv的流。我们使用ffmpeg工具 ffmpeg -i rtmp://server/live/streamName -c copy out.flv -i : 指定文件 -c : 指定为音视频 out.flv 下载下来的流

2. Flv格式分析

FLV视频格式是Adobe推出的Flash可直接播放的视频流。需要注意的概念是编码格式和文件封装格式。编码格式是指编码器输出的“裸”的视频流或音频流,常见的视频编码格式就是H.264,常见的音频编码格式是AAC和MP3。FLV是一种文件封装格式,它可以封装H264和AAC,其他常见的文件封装格式还有MP4、TS、MKV等等。不同的文件封装格式可以相互转换,只要把一种文件封装格式拆包,解出“裸”的视频流和音频流,再按另一种文件封装格式打包,就可以完成转换,不需要重新编码,因此速度非常快。

FLV的文件格式定义最权威的就是Adobe的官方文档 https://www.adobe.com/content/dam/acom/en/devnet/flv/video_file_format_spec_v10.pdf

总体上看,FLV包括文件头(File Header)和文件体(File Body)两部分,其中文件体由一系列的Tag组成。因此一个FLV文件是如图1结构。

示意图

其中,每个Tag前面还包含了Previous Tag Size字段,表示前面一个Tag的大小。Tag的类型可以是视频、音频和Script,每个Tag只能包含以上三种类型的数据中的一种。图2展示了FLV文件的详细结构。

Flv格式

2.1 Header分析

flv head

----待续

3. 参考

[1] 多媒体文件格式(二):FLV 格式 [2] FLV视频文件格式分析(廖雪峰) [3] https://blog.csdn.net/leixiaohua1020/article/details/17934487

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1. 准备工作
  • 2. Flv格式分析
    • 2.1 Header分析
    • 3. 参考
    相关产品与服务
    云直播
    云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档