以下内容源于朱有鹏课程,如有侵权,请告知删除。

本季内容

(1)将编解码得到的视频打包成mp4格式并存储到TF卡

  • MP4的组织形式和box解析
  • 移植和使用mp4v2开源库来打包MP4
  • 进一步研究MP4解包播放和mp4v2源码
  • 自己编程进行MP4的打包、解包、分割等。

(2)解决调试相关的问题

  • 添加网络telnet调试
  • 海思proc文件系统调试接口

一、视频文件概述

(1)视频文件的本质:记录压缩后的视频帧并且能被播放器还原解码播放

  • 比如快递一件东西,h.264负责怎样制造这件东西,而MP4负责怎样运送这件东西。

(2)视频文件的关键:高效率地记录信息、兼容性

  • 高效率地记录信息:同一件东西,怎样运送才最快?(压缩的时间、空间等等)
  • 兼容性:这个快递公司可以运送哪些东西?(支持哪些文件格式)
  • 其中MP4是运送的最快、可运物品最多的物流公司。所以很多人用它。

(3)视频文件的信息:索引信息、有效信息

  • 有效信息,即视频文件里面真正与视频、音频有关的数据:I,P,B帧。
  • 索引信息,可以增加容错性。

二、MP4格式概述

(1)MP4由MP3升级而来,包含video和audio在内

(2)MP4是h.264的最主流打包格式

  • h.264的视频流最常用的打包格式是MP4

(3)MP4文件内部采用网络字节序(大端模式)

  • 因为最初发明MP4也是为了在网络中使用

三、使用MP4Info工具来分析MP4文件格式

1、关于MP4文件格式分析的网络资源

  • https://www.cnblogs.com/ranson7zop/p/7889272.html
  • 微信推送的文章
  • 简书上的介绍文章

2、备注

(1)winhex可以打开二进制文件。

(2)可以用notepad打开mp4文件修改里面的二进制数据。

  • 通过插件菜单选项进入view Hex模式可以编辑数据。
  • 比如通过修改第二组四个字节(字符编码为ftype)的数据,mp4播放器识别不了。但VLC还是能播放,其容错性还是可以的,因为它是研发使用的工具而不是正式软件产品。

3、分析过程【简述,详细见参考第一篇】

(1)MP4Info工具的使用【1111】

  • 文件过大的话会打开失败的。这里用一个大小合适的测试视频【1111】。

(2)分析过程

A、整体印象

1)MP4文件由各种不同类型的box组成,打包和解包时都是以box为单位的。

  • 每个box有类型、大小。

2)每个box的格式

  • 开头的四个字节:表明该box的大小。这样就可以实现所有box的定位。
  • 下一组的四个字节:表明该box的类型。

B、ftyp类型box

  • MP4文件的第一个box是ftyp类型的box。
  • 整个文件有且仅有一个ftyp类型的box。

D、moov类型的box

  • (一般情况下)MP4文件的第二个box是moov类型的box。
  • 整个文件有且仅有一个moov类型的box。
  • “moov”中会包含1个“mvhd”和若干个“trak”。其中“mvhd”为header box,一般作为“moov”的第一个子box出现。“trak”包含了一个track的相关信息,是一个container box。

这里仅作一个印象分析,更多详细内容见博:https://www.cnblogs.com/ranson7zop/p/7889272.html

第七季1:MP4文件格式解析相关推荐

  1. mp4文件格式解析(一)

    原文地址:mp4文件格式解析(一)作者:可下人间 目前MP4的概念被炒得很火,也很乱.最开始MP4指的是音频(MP3的升级版),即MPEG-2 AAC标准.随后MP4概念被转移到视频上,对应的是MPE ...

  2. 【音视频】MP4文件格式解析

    MP4文件格式解析 一.目的 二.MP4结构一览 2.2 MP4结构参考图 2.2 MP4结构参考表 三. MP4格式解析 & 实例分析 3.1 box 3.2 ftyp (File Type ...

  3. 关于MP4文件格式解析

    MP4 文件格式 综述 关键概念 MP4 文件格式中,所有的内容存在一个称为movie的容器中.一个movie 可以由多个tracks 组成.每个track就是一个随时间变化的媒体序列,例如,视频帧序 ...

  4. 【音视频知识】MP4文件格式解析-详解

    目前MP4的概念被炒得很火,也很乱.最开始MP4指的是音频(MP3的升级版),即MPEG-2 AAC标准.随后MP4概念被转移到视频上,对应的是MPEG-4标准.而现在我们流行的叫法,多半是指能播放M ...

  5. MP4文件格式解析(结合实例分析)

    系列文章目录 MP4文件解析 文章目录 系列文章目录 前言 一.MP4文件的构成 二.MP4文件内部结构 1.基本结构 2.整体结构 三.结合实例 1.File Type Box(ftyp) 2.Mo ...

  6. MP4文件格式解析之结合实例分析

    文章目录 一.前言 之前一直接触MP4格式的文件,但一直没有静下心来仔细研究,最近有时间,总结记录一下,顺便也查漏补缺一下.我们首先清楚的是,MP4 也称为 MPEG-4 第 14 部分,是继承 MP ...

  7. 手机视频文件格式解析之 3GP/MP4

    转载自百度文库 作者: k歌之王      2009-08-23 前言:做完了手机全能播放器的项目, 又要告别几个月来并肩作战,即将去北京发展的Manager zhu.准备把 做过的3GP/FLV/A ...

  8. MP4文件格式分析及分割实现(附源码)

    MP4文件格式分析及分割实现(附源码) MP4文件格式分析                   MP4(MPEG-4 Part 14)是一种常见的多媒体容器格式,它是在"ISO/IEC 14 ...

  9. mp4文件解析(c#)

    ISO/IEC 14496 ISO/IEC 14496 是MPEG专家组制定的MPEG-4标准,于2000年年初正式成为国际标准.MPEG-4与MPEG-1和MPEG-2有很大的不同.MPEG-4不只 ...

最新文章

  1. R语言构建xgboost模型:控制训练信息输出级别verbose参数
  2. 中消协发布2018年春节消费提示
  3. php curl安装检查,如何判断php的curl是否已安装
  4. 16 导出pcb各网络的布线长度_PCB原理图常见错误分析
  5. 复制SQLSERVER数据库文件
  6. linux 下添加,修改,删除路由
  7. HMM和CRF 条件随机场详解
  8. 吃透理财三句话人人都能成百万富翁
  9. 【JVM】JVM指令集总结
  10. 频发:记ADG备库日志应用延迟的一次故障处理-云和恩墨技术通讯精选
  11. cordova APP 检查更新
  12. 7 -- Spring的基本用法 -- 6... Spring 3.0 提供的Java配置管理
  13. 2143亿!2018年天猫“双11”成交总额是这样预测的
  14. transition实现隐藏显示菜单栏效果
  15. 数据绑定控件Reperter
  16. EPLAN液压气动流体元件符号库导入
  17. 海思16DV300 移动侦测
  18. Frenet和笛卡尔坐标系互转
  19. 基于HTML+CSS+JavaScript制作服装商城网站设计毕业论文源码
  20. 海明码的编码和校验方法

热门文章

  1. php 两变量值互换 方法
  2. Overload重載和Override重写的区别。Overloaded的方法是否可以改变返回值的类型?
  3. android studio发布项目到github
  4. UESTC 250 windy数 数位dp
  5. 在单文档中显示我的第一个对话框
  6. Rust核心团队前成员Brian Anderson加入PingCAP
  7. 1106: 回文数(函数专题)
  8. 前端进阶系列(六):盒模型
  9. 高并发系统之降级特技
  10. You have new mail in /var/spool/mail/root消除提示的方法