音视频编解码:FLV封装格式笔记

一、简介:
FLV是一种既可以做直播又可以做点播的封装格式。FLV应该算是3G时代到4G时代初期时的产物,因为那个时候受限于带宽能力及存储限制,FLV以其良好的画质效果,更小的体积而备受青睐,当然,随着5G时代短视频和直播领域的兴起,当存储空间不再是瓶颈,FLV终会被MP4/TS等取代,FLV封装有较为严格的音视频编码限制,即FLV封装的音频格式以AAC/MP3/SPEEX为主,视频则以H264为主。FLV的封装格式比较简单,均以FLVTAG的形式存在,并且每一个TAG都是独立存在的

二、FLVTAG介绍:
1.FLV文件格式分为两部分:一部分为FLV文件头,另一部分为FLV文件内容。FLV文件头解析如下:
在这里插入图片描述
可以看到,当码流文件的前三个字节被判定为FLV的时候,即认为是FLV封装。

2.跳过封装头之后,就是封装内容,文件封装内容排布如下:

FLV_HEADERPreTagSize0TAG1PreTagSize1TAG2
flv文件头描述信息大小总是为0(4字节)第1个TAG上一个TAG的大小:tag的header+body(4字节)第2个TAG

3.TAG的header排布:
在这里插入图片描述
在这里插入图片描述
tag_header中包含了码流的timestamp,以及描述了后续tag_body是音频流还是视频流。

4.TAG的body排布:
tag_body根据音视频类型其内部关键字肯定是不一样的,如果从FLVTAG的Header中读取到TagType为0x09,则该TAG为视频数据TAG
在这里插入图片描述
在这里插入图片描述
如果从FLVTAG的Header中解析到TagType为0x08,则TAG为音频
在这里插入图片描述
在这里插入图片描述
四、FLV分析工具:
有网友自制的非常好用的工具FlvAnalyzer,解析出来的数据如下:
在这里插入图片描述
五,鸣谢:
博客大部分内容摘自刘歧、赵文杰著《FFmpeg从入门到精通》

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习Linux音视频编解码的路线可以参考以下步骤: 1. 了解AVS标准:AVS是中国的第二代信源编码标准,用于数字音视频编码压缩。你可以先了解AVS的基本原理和技术特点,以及它在数字音视频产业中的应用。 2. 学习音视频编解码基础知识:音视频编解码是将原始音视频数据进行压缩和解压缩的过程。你可以学习音视频编码的基本概念、常用的音视频编码算法和标准。 3. 掌握Linux操作系统:Linux是一个广泛使用的开源操作系统,它在音视频领域有很多应用。你可以学习Linux的基本操作和命令,熟悉Linux环境下的开发和编程工具。 4. 学习流媒体技术:流媒体是指通过网络传输音视频数据的技术。你可以学习流媒体的基本原理、协议和常用的流媒体服务器软件。 5. 掌握音视频编解码工具:Linux上有很多开源的音视频编解码工具,如FFmpeg、GStreamer等。你可以学习这些工具的使用方法和参数配置,了解它们在音视频编解码中的应用。 6. 实践项目:通过实践项目来巩固所学的知识。你可以选择一些开源的音视频项目,如视频播放器、音频编辑器等,进行学习和实践。 总之,学习Linux音视频编解码需要掌握AVS标准、音视频编解码基础知识、Linux操作系统、流媒体技术和音视频编解码工具,并通过实践项目来应用所学的知识。这样就能建立起一个相对完整的学习路线。<span class="em">1</span><span class="em">2</span><span class="em">3</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值