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

【音视频】MP4封装格式

基本概念

使用MP4box.js查看MP4内部组成结构

整体结构

数据索引(moov)+数据流包(mdat)

各个包的位置,大小,信息,时间戳,编码方式等全在数据索引

数据流包只有纯二进制码流数据

在这里插入图片描述

数据索引 moov

树形目录结构

由mvhd头信息和多个trak组成

每一个trak对应一个码流包
在这里插入图片描述
mvhd头信息
在这里插入图片描述

音频trak

在这里插入图片描述

视频trak

在这里插入图片描述

数据流包 mdat

在这里插入图片描述
在这里插入图片描述

重要总结

时间戳存放位置

数据索引(moov)的每个trag下的stts

数据存放位置

数据流包(mdat)中

怎么区别 音频 视频数据

moov的每个trak的mdia中minf⾥⾯的⼦容器,⾳频和视频轨是有区别的

  • 视频轨:vmhd
  • ⾳频轨:smhd
http://www.lryc.cn/news/174792.html

相关文章:

  • 环境-使用vagrant快速创建linux虚拟机
  • 10.1网站编写(Tomcat和servlet基础)
  • 10CQRS
  • DAZ To UMA⭐一.DAZ简单使用教程
  • 面试题 —— Java集合篇(23题)
  • SpringBoot2.7.14整合Swagger3.0的详细步骤及容易踩坑的地方
  • 题解:ABC321D - Set Menu
  • 什么是Progressive Web App(PWA)?它们有哪些特点?
  • MySQL的高级SQL语句
  • 基于人脸5个关键点的人脸对齐(人脸纠正)
  • vue3中两个el-select下拉框选项相互影响
  • 博弈论——反应函数
  • UE5读取json文件
  • Vue中的插槽--组件复用,内容自定义
  • 完全指南:mv命令用法、示例和注意事项 | Linux文件移动与重命名
  • gitee生成公钥和远程仓库与本地仓库使用验证
  • 请求后端接口413
  • HarmonyOS之 开发环境搭建
  • QTC++ day12
  • Vue3中使用Proxy API取代defineProperty API的原因
  • 构建工具Webpack简介
  • Docker部署单点Elasticsearch与Kibana
  • opencv实现仿射变换和透射变换
  • 抖音seo账号矩阵源码系统
  • 性能优化之防抖
  • postgresql用户和角色
  • 设计模式之备忘录模式
  • 大数据Flink(八十八):Interval Join(时间区间 Join)
  • 数字IC笔试千题解--判断题篇(五)
  • Kubernetes(k8s)上搭建一主两从的mysql8集群