MP4文件结构刨析
mp3和mp4解压方式原理2000字

mp3和mp4解压方式原理2000字MP3和MP4是两种常见的音视频文件格式,它们的解压方式和原理有所不同。
下面将详细介绍MP3和MP4的解压方式和原理。
一、MP3解压方式和原理MP3是一种音频编码格式,它通过压缩音频数据来减小文件大小,从而节省存储空间和传输带宽。
MP3的解压方式主要包括以下几个步骤:1.读取文件头部信息:MP3文件的开头部分包含了一些元数据,如音频采样率、声道数等信息。
解压时首先需要读取这些信息。
2.解析帧数据:MP3文件由一个个帧组成,每个帧包含了一定长度的音频数据。
解压时需要逐帧地解析帧数据。
3.解码音频数据:MP3文件中的音频数据经过了特定的编码算法,解压时需要将编码后的数据解码为原始的音频数据。
4.重建音频信号:解码后的音频数据是经过量化和压缩的,需要进行反量化和逆变换来还原出原始的音频信号。
MP3的解压原理主要基于人耳对声音的感知特性。
MP3格式利用了人耳对一些高频信号的较低敏感度,通过减少这些高频信号的数据量来实现压缩。
在解压时,通过一些复杂的算法来还原出原始的音频信号,以达到高音质的播放效果。
二、MP4解压方式和原理MP4是一种常见的视频文件格式,它不仅可以存储音频数据,还可以存储视频数据和其他多媒体数据。
MP4的解压方式主要包括以下几个步骤:1.解析文件结构:MP4文件的结构比较复杂,包含了多个轨道,每个轨道又包含了多个媒体样本。
解压时首先需要解析文件结构,确定需要解压的轨道和样本。
2.解析媒体样本:MP4文件中的媒体样本包括音频帧和视频帧,解压时需要逐帧地解析这些样本数据。
3.解码媒体数据:MP4文件中的音频和视频数据经过了特定的编码算法,解压时需要将编码后的数据解码为原始的音频和视频数据。
4.重建音视频信号:解码后的音频和视频数据是经过压缩的,需要进行一系列的处理步骤来还原出原始的音视频信号,包括去压缩、去块效应等处理。
MP4的解压原理主要是基于视频编码和音频编码技术。
mp4中的 chunk划分标准

mp4中的 chunk划分标准
MP4(MPEG-4 Part 14)是一种常见的多媒体文件格式,它使用一种称为"chunk"的数据结构来存储音频、视频和其他媒体数据。
在MP4文件中,chunk通常被称为"box",每个box包含特定类型的数据,并且有自己的长度和类型标识。
MP4文件中的chunk划分标准可以从多个角度来解释。
首先,可以从文件结构的角度来看,MP4文件由一个个box组成,每个box 包含不同类型的数据,例如视频轨道、音频轨道、文本数据等。
这些box按照特定的顺序排列,以便播放器能够正确解析和播放其中的媒体数据。
另外,从媒体数据的角度来看,视频和音频数据通常被划分为一系列连续的chunk,每个chunk包含一小段时间内的数据。
这种划分标准可以帮助播放器在播放时快速定位和解析特定时间段内的媒体数据,以实现流畅的播放效果。
此外,从技术规范的角度来看,MP4文件格式有一些特定的规范和标准,用来定义chunk的结构、类型和用途。
例如,ISO/IEC 14496-12标准规定了MP4文件中box的结构和使用方法,这些规范
对于理解和解析MP4文件中的chunk非常重要。
总的来说,MP4文件中的chunk划分标准涉及文件结构、媒体数据和技术规范等多个方面,这些标准和规范共同构成了MP4文件格式的基础,确保了不同设备和软件之间的兼容性和互操作性。
mp4原理

mp4原理MP4原理。
MP4是一种非常常见的视频文件格式,它广泛应用于各种设备和平台上。
那么,MP4是如何工作的呢?接下来,我们将深入探讨MP4的原理。
首先,我们需要了解MP4的基本结构。
MP4文件是由多个不同类型的数据块组成的。
这些数据块包括视频、音频、文本、元数据等。
MP4文件的结构由头部、媒体数据和索引组成。
头部包含了文件的基本信息,媒体数据包含了实际的音视频内容,索引则用于快速定位和访问媒体数据。
MP4文件中的视频数据通常使用H.264或者MPEG-4 Part 2这样的编码格式。
这些编码格式可以将视频数据压缩成较小的体积,同时保持较高的画质。
音频数据则可以使用AAC或者MP3这样的格式进行压缩。
这些压缩技术使得MP4文件可以在较小的文件大小下存储高质量的音视频内容。
MP4文件的播放原理也非常简单。
当我们打开一个MP4文件时,播放器会首先读取文件头部的信息,获取文件的基本参数和结构。
然后,播放器会根据索引信息来定位和读取媒体数据。
视频数据会经过解码器解码成图像,音频数据则会经过解码器解码成声音。
最终,播放器会将解码后的音视频数据进行同步播放,呈现给用户。
除了基本的音视频数据外,MP4文件还可以包含一些附加的元数据。
这些元数据可以包括视频的标题、描述、封面图片等信息。
这些信息可以帮助用户更好地了解和管理文件内容。
在移动设备和网络传输中,MP4文件还可以采用流式传输的方式进行播放。
这意味着文件可以边下载边播放,无需等待整个文件下载完成。
这种方式可以极大地提高用户的观看体验,特别是在网络条件较差的情况下。
总的来说,MP4文件作为一种通用的音视频文件格式,具有较高的压缩比和良好的播放兼容性。
它的原理简单而有效,使得用户可以方便地在各种设备和平台上播放和分享音视频内容。
希望通过本文的介绍,您对MP4文件的原理有了更深入的了解。
MP4作为一种通用的音视频文件格式,其原理和工作方式对我们理解和使用多媒体文件都具有重要意义。
MP4文件格式解析-----个人总结讲解

目录1.引言 (1)2.MP4中一些概念详解 (1)3.MP4文件结构分析 (1)3.1box结构 (1)3.2MP4总体结构 (2)3.3Movie box(moov) (3)3.3.1Movie Header box(mvhd) (3)3.3.2Trak box (4)3.4Media box (6)3.4.1Media header box(mdhd) (6)3.4.2Hdlr box (7)3.4.3Minf box (7)3.5Sample Table Box(stbl) (8)3.5.1Sample Description Box(stsd) (8)3.5.2Time To Sample Box(stts) (8)3.5.3Sample Size Box(stsz) (8)3.5.4Sample To Chunk Box(stsc) (8)3.5.5Sync Sample Box(stss) (9)3.5.6Chunk Offset Box(stco) (9)MP4文件格式解析总结1.引言MP4是一种常见的多媒体容器格式,对应MPEG-4标准,这种容器格式非常全面开放,被认为可以在其中嵌入任何形式的数据,各种编码的视频、音频等都可以。
在MP4文件中,媒体的描述信息与媒体数据是分开的,并且媒体数据的组织也很自由,不一定要按照时间顺序排列。
同时,MP4也支持流媒体,MP4目前被广泛用于封装h.264视频和AAC音频,是高清视频的代表。
MP4格式的官方文件后缀名是“.mp4”,还有其他的以mp4为基础进行的扩展或者是缩水版本的格式。
2.MP4中一些概念详解MP4文件格式中,所有的内容存在一个称为movie的容器中。
一个movie可以由多个tracks组成。
每个track就是一个随时间变化的媒体序列,track里的每个时间单位是一个sample,它可以是一帧视频,或者一段连续的压缩音频。
sample按照时间顺序排列。
mp4

谢谢观看
MPEG-4标准构成
MPEG-4码流主要包括基本码流和系统流,基本码流包括音视频和场景描述的编码流表示,每个基本码流只包 含一种数据类型,并通过各自的解码器解码。系统流则指定了根据编码视听信息和相关场景描述信息产生交互方 式的方法,并描述其交互通信系统。
系统
图1MPEG-4系统把音视频对象及其组合复用成一个场景,提供与场景互相作用的工具,使用户具有交互能力。 MPEG-4的数据在3个层中进行传输,这3层分别是压缩层、同步层和传输层。其中,压缩层是执行媒体解码的系统 组件,接收从同步层传来的压缩数据,并完成解码操作。同步层负责各个压缩媒体的同步和缓冲,一方面接收来 自传输层的同步层数据包(SL),从流中提取同步数据,为以后的同步解码和基本流解码的合成做准备;另一方面, 实现压缩的数据流和同步信息封装层的同步数据包,并将它们传输到传输层。传输层完成各种传输协议的描述, 使用DMIF应用接口,通过接口定义数据流的传输接口,并定义信道建立和断开的信号。MPEG-4的系统终端模型如 图1所示。
mp4
文件格式
目录
01 分部
03 MPEG-4标准构成
02 MPEG-4的特点 04 应用
MP4是一套用于音频、视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电工委员会(IEC)下属 的“动态图像专家组”(Moving Picture Experts Group,即MPEG)制定,第一版在1998年10月通过,第二版 在1999年12月通过。MPEG-4格式的主要用途在于上流、光盘、语音发送(视频),以及电视广播。
MPEG-4包含了MPEG-1及MPEG-2的绝大部份功能及其他格式的长处,并加入及扩充对虚拟现实模型语言 (VRML, VirtualReality Modeling Language)的支持,面向对象的合成档案(包括音效,视讯及VRML对 象),以及数字版权管理(DRM)及其他互动功能。而MPEG-4比MPEG-2更先进的其中一个特点,就是不再使用宏 区块做影像分析,而是以影像上个体为变化记录,因此尽管影像变化速度很快、码率不足时,也不会出现由一系列的子标准组成,被称为部 (part)(有时也译为卷),包括以下的部分: 第一部分(ISO/IEC -1):系统:描述视讯和音频数据流的控制、同步以及混合方式(即混流 Multiplexing,简写为MUX)。 第二部分(ISO/IEC -2):视讯:定义了一个对各种视觉讯息(包括自然视讯、静止纹理、计算机合成图形 等等)的编译码器。(例如XviD编码就属于MPEG-4 Part2) 第三部分(ISO/IEC -3):音讯:定义了一个对各种音频讯号进行编码的编译码器的集合。包括高阶音频编 码(AdvancedAudio Coding,缩写为AAC)的若干变形和其他一些音频/语音编码工具。 第四部分(ISO/IEC -4):一致性:定义了对本标准其他的部分进行一致性测试的程序。 第五部分(ISO/IEC -5):参考软件:提供了用于演示功能和说明本标准其他部分功能的软件。 第六部分(ISO/IEC -6):多媒体传输整合框架(DMIF for Delivery Multimedia IntegrationFramework) 第七部分(ISO/IEC -7):优化的参考软件:提供了对实作进行优化的例子(这里的实作指的是第五部分)。 第八部分(ISO/IEC -8):在IP络上传输:定义了在IP络上传输MPEG-4内容的方式。
mp4 reader 解析

mp4 reader 解析
MP4 Reader 解析是指对 MP4 文件进行读取和解析的过程。
MP4 (MPEG-4 Part 14) 是一种常见的多媒体文件格式,它通常
用于存储视频、音频和字幕数据。
进行 MP4 文件解析的目的
是能够提取出其中的视频和音频数据,并对其进行进一步的处理或播放。
MP4 Reader 解析一般涉及以下内容:
1. 文件头解析:读取 MP4 文件的文件头部分,包括文件格式
标识、版本号、文件大小等信息。
2. Box 解析:MP4 文件使用 Box 结构来组织数据,一个 Box
包含一个四字节的类型标识和一个长度字段,然后是实际的数据。
MP4 Reader 解析会按顺序读取各个 Box,识别其类型并
解析对应的数据。
3. 媒体数据解析:对于包含视频和音频的 MP4 文件,解析过
程会进一步解析对应的媒体数据。
视频数据通常采用 H.264 或H.265 等压缩格式,需要按照相应的解码规则进行解析和解码。
音频数据通常使用 AAC 或 MP3 等格式,也需要进行相应的
解析和解码。
通过 MP4 Reader 解析,可以获取到视频的帧数据、音频的采
样数据等,进而进行如视频播放、媒体编辑、转码等操作。
同时,MP4 Reader 解析还能够获取到一些相关的元数据,例如
视频的分辨率、帧率,音频的采样率、声道数等信息,以供后续处理使用。
mp4原理

mp4原理MP4是一种常见的视频文件格式,它基于MPEG-4视频编解码器标准,并且与音频文件格式M4A共享相同的基础结构。
MP4文件将视频、音频和文本数据以及其他媒体流组合在一个容器中,使其可以同时播放这些不同类型的数据。
MP4文件的结构可以被视为一个盒子,每个盒子都有自己的盒子类型标识。
盒子中的数据按照特定的格式进行存储和编码。
以下是MP4文件常见的盒子类型:1. ftyp(文件类型标识)盒子:定义MP4文件的版本和类型。
2. moov(电影)盒子:包含文件的描述信息,包括视频和音频的元数据,如分辨率、编码格式、时长等。
moov盒子还包含了traks(轨道)盒子,每个轨道对应一个媒体流。
3. trak(轨道)盒子:包含单个媒体流的描述信息。
4. mdia(媒体)盒子:包含单个媒体流的数据。
5. minf(媒体信息)盒子:包含媒体流的详细信息,如编码参数、采样率等。
6. stbl(采样表)盒子:包含媒体流的实际数据,如视频帧、音频采样等。
7. mdat(媒体数据)盒子:存储实际的媒体流数据。
MP4文件的播放过程如下:1. 解析MP4文件的结构,获取文件的描述信息(moov盒子)以及媒体流的信息(trak盒子)。
2. 根据描述信息,解码媒体流的数据格式和参数。
3. 将解码后的媒体流数据渲染到屏幕上,播放音频和视频。
4. 不断重复步骤3,直至播放完整个媒体流。
总的来说,MP4文件是一种将视频、音频和文本数据组合在一起的容器格式。
它通过盒子的方式存储和编码数据,通过解析和解码来实现媒体的播放。
在播放过程中,MP4文件的结构和描述信息被用来解析媒体流的数据格式和参数,然后通过渲染将媒体流数据展示给用户。
MP4文件格式的解析,以及MP4文件的分割算法

MP4⽂件格式的解析,以及MP4⽂件的分割算法MP4⽂件格式的解析,以及MP4⽂件的分割算法 mp4应该算是⼀种⽐较复杂的媒体格式了,起源于QuickTime。
以前研究的时候就花了⼀番的功夫,尤其是如何把它完美的融⼊到视频点播应⽤中,更是费尽了⼼思,主要问题是处理mp4⽂件庞⼤的“媒体头”。
当然,流媒体点播也可以采⽤flv格式来做,flv也可以封装H.264视频数据的,不过Adobe却不推荐这么做,⼈家说毕竟mp4才是H.264最佳的存储格式嘛。
这⼏天整理并重构了⼀下mp4⽂件的解析程序,融合了分解与合并的程序,以前是c语⾔写的,应⽤在linux上运⾏的服务器程序上,现在改成c++,⽅便我在其他项⽬中使⽤它,⾄于⽤不⽤移植⼀份c#的,暂时⽤不到,等有必要了再说吧。
这篇⽂章先简单介绍⼀下mp4⽂件的⼤体结构,以及它的分割算法,之后再写⽂章介绍如何把mp4完美应⽤在点播项⽬中。
⼀、MP4格式分析 MP4(MPEG-4 Part 14)是⼀种常见的多媒体容器格式,它是在“ISO/IEC 14496-14”标准⽂件中定义的,属于MPEG-4的⼀部分,是“ISO/IEC 14496-12(MPEG-4 Part 12 ISO base media file format)”标准中所定义的媒体格式的⼀种实现,后者定义了⼀种通⽤的媒体⽂件结构标准。
MP4是⼀种描述较为全⾯的容器格式,被认为可以在其中嵌⼊任何形式的数据,各种编码的视频、⾳频等都不在话下,不过我们常见的⼤部分的MP4⽂件存放的AVC(H.264)或MPEG-4(Part 2)编码的视频和AAC编码的⾳频。
MP4格式的官⽅⽂件后缀名是“.mp4”,还有其他的以mp4为基础进⾏的扩展或者是缩⽔版本的格式,包括:M4V, 3GP, F4V等。
mp4是由⼀个个“box”组成的,⼤box中存放⼩box,⼀级嵌套⼀级来存放媒体信息。
box的基本结构是: 其中,size指明了整个box所占⽤的⼤⼩,包括header部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Overview and IntroductionCore ConceptsMP4文件格式中,所有的内容存在一个称为movie的容器中。
一个movie可以由多个track s 组成。
每个track就是一个随时间变化的媒体序列,例如,视频帧序列。
track里的每个时间单位是一个sample,它可以是一帧视频,或者音频。
sample按照时间顺序排列。
注意,一帧音频可以分解成多个音频sample,所以音频一般用sample作为单位,而不用帧。
MP4文件格式的定义里面,用sample这个单词表示一个时间帧或者数据单元。
每个track会有一个或者多个sample description s。
track里面的每个sample通过引用关联到一个sample description。
这个sample description s定义了怎样解码这个sample,例如使用的压缩算法。
与其他的多媒体文件格式不同的是,MP4文件格式经常使用几个不同的概念,理解其不同是理解这个文件格式的关键。
这个文件的物理格式没有限定媒体本身的格式。
例如,许多文件格式将媒体数据分成帧,头部或者其他数据紧紧跟随每一帧视频,!!!TODO(例如MPEG2)。
而MP4文件格式不是如此。
文件的物理格式和媒体数据的排列都不受媒体的时间顺序的限制。
视频帧不需要在文件按时间顺序排列。
这就意味着如果文件中真的存在这样的一些帧,那么就有一些文件结构来描述媒体的排列和对应的时间信息。
MP4文件中所有的数据都封装在一些box中(以前叫atom)。
所有的metadata(媒体描述元数据),包括定义媒体的排列和时间信息的数据都包含在这样的一些结构box中。
MP4文件格式定义了这些box的格式。
Metadata对媒体数据(例如,视频帧)引用说明。
媒体数据可以包含在同一个的一个或多个box里,也可以在其他文件中,metadata允许使用URLs来引用其他的文件,而媒体数据在这些引用文件中的排列关系全部在第一个主文件中的metadata描述。
其他的文件不一定是MP4文件格式,例如,可能就没有一个box。
有很多种类的track,其中有三个最重要,video track包含了视频sample;audio track包含了audio sample;hint track稍有不同,它描述了一个流媒体服务器如何把文件中的媒体数据组成符合流媒体协议的数据包。
如果文件只是本地播放,可以忽略hint track,他们只与流媒体有关系。
Physical structure of the mediaBox定义了如何在sample table中找到媒体数据的排列。
这包括data reference(数据引用), t he sample size table, the sample to chunk table, and the chunk offset table. 这些表就可以找到track中每个sample在文件中的位置和大小。
data reference允许在第二个媒体文件中找到媒体的位置。
这样,一部电影就可以由一个媒体数据库中的多个不同文件组成,而且不用把它们全部拷贝到另一个新文件中。
例如,对视频编辑就很有帮助。
为了节约空间,这些表都很紧凑。
另外,interleave不是sample by sample,而是把单个track 的几个samples组合到一起,然后另外几个sample又进行新的组合,等等。
一个track的连续几个sample组成的单元就被称为chunk。
每个chunk在文件中有一个偏移量,这个偏移量是从文件开头算起的,在这个chunk内,sample是连续存储的。
这样,如果一个chunk包含两个sample,第二个sample的位置就是chunk的偏移量加上第一个sample的大小。
chunk offset table说明了每个chunk的偏移量,sample to chunk table说明了sample序号和chunk序号的映射关系。
注意chunk之间可能会有死区,没有任何媒体数据引用到这部分区域,但是chunk内部不会有这样的死区。
这样,如果在节目编辑的时候,不需要一些媒体数据,就可以简单的留在那里,而不用引用,这样就不用删除它们了。
类似的,如果媒体存放在第二个文件中,但是格式不同于M P4文件格式,这个陌生文件的头部或者其他文件格式都可以简单忽略掉。
Temporal structure of the media文件中的时间可以理解为一些结构。
电影以及每个track都有一个time scale。
它定义了一个时间轴来说明每秒钟有多少个ticks。
合理的选择这个数目,就可以实现准确的计时。
一般来说,对于audio track,就是audio的sampling rate。
对于video track,情况稍微复杂,需要合理选择。
例如,如果一个media TimeScale是30000,media sample durations是1001,就准确的定义了NTSC video的时间格式(虽然不准确,但一般就是29.97),and provide 19.9 hours of time in 32 bits.Track的时间结构受一个edit list影响,有两个用途:全部电影中的一个track的一部分时间片断变化(有可能是重用);空白时间的插入,也就是空的edits。
特别注意的是如果一个track不是从节目开头部分开始,edit list的第一个edit就一定是空的edit。
每个track的全部duration定义在文件头部,这就是对track的总结,每个sample有一个规定的duration。
一个sample的准确描述时间,也就是他的时间戳(time-stamp)就是以前的sampl e的duration之和。
Interleave文件的时间和物理结构可以是对齐的,这表明媒体数据在容器中的物理顺序就是时间顺序。
另外,如果多个track的媒体数据包含在同一个文件中,这个媒体数据可以是interleaved。
一般来说,为了方便读取一个track的媒体数据,同时保证每个表紧凑,以一个合适的时间间隔(例如1秒)做一次interleave,而不是sample by sample。
这样就可以减少chunk的数据,减小chunk of fset table的大小。
Composition如果多个audio track包含在同一个文件中,他们有可能被混合在一起进行播放,并且由一个总track volume和左/右balance控制。
类似的,video track也可以根据各自的层次序列号(从后向前)和合成模式进行混合。
另外,每个track可以用一个matrix进行变换,也可以全部电影用一个matrix进行变换。
这样既可以进行简单操作(例如放大图像,校正90º旋转),也可以做更复杂的操作(例如shearing, arb itrary rotation)。
这个混合方法只是非常简单,是一个缺省的方法,MPEG4的另一份文档会定义更强有力的方法(例如MPEG-4 BIFS)。
Random access这一章说明如何seek。
Seeking主要是利用sample table box里面包含的子box来实现的,还需要考虑edit list的影响。
可以按照以下步骤seek某一个track到某个时间T,注意这个T是以movie header box里定义的time scale为单位的:1. 如果track有一个edit list,遍历所有的edit,找到T落在哪个edit里面。
将Edit的开始时间变换为以movie time scale为单位,得到EST,T减去EST,得到T',就是在这个edit里面的duration,注意此时T'是以movie的time scale为单位的。
然后将T'转化成track媒体的time scale,得到T''。
T''与Edit的开始时间相加得到以track媒体的time scale为单位的时间点T'''。
2. 这个track的time-to-sample表说明了该track中每个sample对应的时间信息,利用这个表就可以得到T'''对应的sample N T。
3.sample N T可能不是一个random access point,这样就需要其他表的帮助来找到最近的random access point。
一个表是sync sample表,定义哪些sample是random ac cess point。
使用这个表就可以找到指定时间点最近的sync sample。
如果没有这个表,就说明所有的sample都是synchronization points,问题就变得更容易了。
另一个[mp4文件格式]获取mp4文件信息7 - 查找关键帧wqyuwss 发表于 2007-5-1 4:48:00查找过程与查找sample的过程非常类似,只是需要利用sync sample atom来确定key frame的sample序号1.确定给定时间的sample序号2.检查sync sample atom来发现这个sample序号之后的key frame3.检查sample-to-chunk atom来发现对应该sample的chunk4.从chunk offset atom中提取该trunk的偏移量5.利用sample size atom找到sample在trunk内的偏移量和sample的大小[mp4文件格式]获取mp4文件信息6 - 查找samplewqyuwss 发表于 2007-5-1 4:47:00当播放一部电影或者一个track的时候,对应的media handler必须能够正确的解析数据流,对一定的时间获取对应的媒体数据。
如果是视频媒体,media handler可能会解析多个atom,才能找到给定时间的sample的大小和位置。
具体步骤如下:1.确定时间,相对于媒体时间坐标系统2.检查time-to-sample atom来确定给定时间的sample序号。
3.检查sample-to-chunk atom来发现对应该sample的chunk。
4.从chunk offset atom中提取该trunk的偏移量。
5.利用sample size atom找到sample在trunk内的偏移量和sample的大小。
例如,如果要找第1秒的视频数据,过程如下:1.第1秒的视频数据相对于此电影的时间为6002.检查time-to-sample atom,得出每个sample的duration是40,从而得出需要寻找第6 00/40 = 15 + 1 = 16个sample3.检查sample-to-chunk atom,得到该sample属于第5个chunk的第一个sample,该ch unk共有4个sample4.检查chunk offset atom找到第5个trunk的偏移量是204725.由于第16个sample是第5个trunk的第一个sample,所以不用检查sample size atom,trunk的偏移量即是该sample的偏移量20472。