当前位置: 首页 > news >正文

4、音视频封装格式---FLV

  • FLV
    FLV是一种容器封装格式,是由Adobe公司发布和维护的,用于将视频编码流与音频编码流进行封装。对于任意一种封装格式,都有其头部区域与数据区域,在FLV中,称之为FLV Header与Body。
    对于FLV Header,一个FLV文件只有一个FLV Header,前三字节是signature用来标记FLV文件,通常为“F”,“L”,“V”;第四字节是version代表版本号,通常为0x01。
    对于FLV Body可以分为多个priviousDatasize与TAG,priviousDatasize代表前一个TAG长度,TAG又细分为Tag header与Tag Data,Tag header中的第1字节代表该TAG类型,Tag Data包含着真正的TAG数据。
    Tag Data又可以分为VIdeo Tag与Audio Tag;VIdeo Tag中的Frame Type代表帧类型区分是否是关键帧,Audio Tag中的SoundFormat:音频格式、SoundRate:采样率、SoundSize:采样大小、SoundType:声道类型。
    对于FLV的第一个TAG包,通常称为Script Tag (一个FLV文件中只有这样一个TAG),Script Tag 是由两个 AMF 包组合起来(AMF 包 = 数据类型+ 数据长度 + 数据)。AMF 包 1: 通常是一个字符串,值为 “onMetaData”;AMF 包 2: 通常用于描述元数据信息,包括:视频宽高、码率、帧率、编解码器ID,音频码率、编解码器ID

  • FLV整体结构
    在这里插入图片描述FLV帧内具体结构:
    在这里插入图片描述Video Tag、Audio Tag帧内结构:
    在这里插入图片描述

相关文章:

  • 深度学习之半监督学习:一文梳理目标检测中的半监督学习策略
  • IT专业入门,高考假期预习指南
  • 浅谈前置处理器之用户参数
  • 一文学会LVS:概念、架构、原理、搭建过程、常用命令及实战案例
  • 基于Java微信小程序小说阅读系统设计和实现(源码+LW+调试文档+讲解等)
  • 使用 Vue 实现包含单选框的弹窗功能(附Demo)
  • 苹果公司的Wifi定位服务(WPS)存在被滥用的风险
  • GPIO和PIN
  • 用户想知道数据库每天增长几个G,到底都是啥?
  • Jmeter 入门指南:从零开始学习
  • 【分享】Word“打开密码”的常见问题及解决方法
  • electron教程(一)创建项目
  • uniapp + vue3 + Script Setup 写法变动 (持续更新)
  • IP白名单及其作用解析
  • 获取HTML元素的offsetParent属性
  • 网络传输文件的问题
  • Laravel Telescope:优雅的应用调试工具
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • linux安装openssl、swoole等扩展的具体步骤
  • log4j2输出到kafka
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • Web Storage相关
  • 对超线程几个不同角度的解释
  • 技术:超级实用的电脑小技巧
  • 免费小说阅读小程序
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 整理一些计算机基础知识!
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​secrets --- 生成管理密码的安全随机数​
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (3)(3.5) 遥测无线电区域条例
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (ibm)Java 语言的 XPath API
  • (zhuan) 一些RL的文献(及笔记)
  • (备忘)Java Map 遍历
  • (第30天)二叉树阶段总结
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (四)JPA - JQPL 实现增删改查
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • .net mvc部分视图
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net6+aspose.words导出word并转pdf
  • .Net7 环境安装配置
  • /bin/bash^M: bad interpreter: No such file or directory
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @RequestMapping用法详解
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [C++]STL之map
  • [CakePHP] 在Controller中使用Helper