MP4文件格式

作者 : admin 本文共3371个字,预计阅读时间需要9分钟 发布时间: 2024-06-9 共3人阅读

ISO 协议族

  • ISO/IEC-14496:MPEG-4 协议族,包括 ISO 容器格式、MPEG-4(H.264)视频压缩标准等。
  • ISO/IEC-23008:MPEG-H 协议族,包括 H.265(HEVC)视频压缩标准等。
字段类型含义
ISO/IEC-14496-1SystemMPEG-4 的复用、同步等系统级特性
ISO/IEC-14496-2Video视频压缩标准
ISO/IEC-14496-3Audio音频压缩标准
ISO/IEC-14496-10Advanced Video Coding (AVC)H.264/AVC 标准
ISO/IEC-14496-12ISO based media formatISO 规定的基本文件封装容器的格式标准
ISO/IEC-14496-14MP4 file format定义 MP4 的封装格式
ISO/IEC-14496-15Advanced Video Coding (AVC) file format规定保存 H.264/AVC 标准的视频容器格式

MP4 封装格式

MP4 格式的文件是由一个个嵌套形式的“Box 结构”构成的。

Box 结构为一种由头结构(Box Header)和负载数据(Box Data)组成的能容纳特定信息的数据结构。

Box类型

MP4 协议中定义的 Box 类型超过 70 种,它们都定义在标准文档 ISO/IEC 14496-12 中。

字段名上级容器全称含义
ftyp文件file type文件类型
moov文件movie box音视频文件的媒体信息头结构
mdat文件media data媒体数据结构,保存实际的音视频数据
mvhdmoovmovie header视频头结构,保存文件的全局信息
trakmoovmedia track音频轨或视频轨,表示音视频文件中的某一路媒体流结构
tkhdtraktrack header音频轨、视频轨头结构,表示当前流的总体信息,如图像宽、高
edtstrakedit list container编辑列表容器,用于保存 elst
elstedtsedit list编辑列表,用于编辑流的播放时间轴
mdiatrakmedia info媒体流中的详细参数信息

MP4 文件中保存的每一路媒体流的底层参数信息都保存在 mdia。

MP4文件结构

#mermaid-svg-5G5EKLQLaUps0nFs {font-family:”trebuchet ms”,verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-5G5EKLQLaUps0nFs .error-icon{fill:#552222;}#mermaid-svg-5G5EKLQLaUps0nFs .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-5G5EKLQLaUps0nFs .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-5G5EKLQLaUps0nFs .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-5G5EKLQLaUps0nFs .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-5G5EKLQLaUps0nFs .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-5G5EKLQLaUps0nFs .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-5G5EKLQLaUps0nFs .marker{fill:#333333;stroke:#333333;}#mermaid-svg-5G5EKLQLaUps0nFs .marker.cross{stroke:#333333;}#mermaid-svg-5G5EKLQLaUps0nFs svg{font-family:”trebuchet ms”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-5G5EKLQLaUps0nFs .label{font-family:”trebuchet ms”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-5G5EKLQLaUps0nFs .cluster-label text{fill:#333;}#mermaid-svg-5G5EKLQLaUps0nFs .cluster-label span{color:#333;}#mermaid-svg-5G5EKLQLaUps0nFs .label text,#mermaid-svg-5G5EKLQLaUps0nFs span{fill:#333;color:#333;}#mermaid-svg-5G5EKLQLaUps0nFs .node rect,#mermaid-svg-5G5EKLQLaUps0nFs .node circle,#mermaid-svg-5G5EKLQLaUps0nFs .node ellipse,#mermaid-svg-5G5EKLQLaUps0nFs .node polygon,#mermaid-svg-5G5EKLQLaUps0nFs .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-5G5EKLQLaUps0nFs .node .label{text-align:center;}#mermaid-svg-5G5EKLQLaUps0nFs .node.clickable{cursor:pointer;}#mermaid-svg-5G5EKLQLaUps0nFs .arrowheadPath{fill:#333333;}#mermaid-svg-5G5EKLQLaUps0nFs .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-5G5EKLQLaUps0nFs .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-5G5EKLQLaUps0nFs .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-5G5EKLQLaUps0nFs .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-5G5EKLQLaUps0nFs .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-5G5EKLQLaUps0nFs .cluster text{fill:#333;}#mermaid-svg-5G5EKLQLaUps0nFs .cluster span{color:#333;}#mermaid-svg-5G5EKLQLaUps0nFs div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:”trebuchet ms”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-5G5EKLQLaUps0nFs :root{–mermaid-font-family:”trebuchet ms”,verdana,arial,sans-serif;}

本站无任何商业行为
个人在线分享 » MP4文件格式
E-->