什么是一 .m4v 文件?
M4V 文件格式,由 Apple 开发,是一种视频容器,可选择使用数字版权管理 (DRM) 复制保护来保护隐私或复制。视频和音轨由容器文件环绕,以索引和组织播放流。此外,容器还提供类似于 DVD 上的章节的功能。 Apple 使用 M4V 对其 iTunes Store 中的视频进行编码。它通过 Apple 的 FairPlay 复制保护保护未经授权的复制,允许 M4V 文件仅在拥有用于购买视频的帐户的授权计算机上播放。但是,如果从 M4V 文件中删除了 DRM 保护,则可以通过将扩展名从 .m4v 更改为 .mp4 来在其他视频播放器中播放这些文件,这就是 M4V 文件与 MPEG-4 相关联的原因。 M4V 对视频使用 H.264,对音频编码和解码使用 AAC 和杜比数字。
M4V 文件结构
M4V 文件具有连续的块,每个块中包含 8 字节标题、4 字节块大小和 4 字节块类型。第一个块是“ftype",在偏移量 8 处有一个子类型。M4V 由必须为“M4V_“的子类型定义。进一步的块类型是预定义的签名:“ftyp”、“mdat"、“moov"、“pnot"、“udta"、“uuid"、“moof"、“free"、“skip"、“jP2"、“wide" 、“加载"、“ctab"、“imap"、“matt"、“kmat"、“clip"、“crgn"、“sync"、“chap"、“tmcd"、“scpt"、“ssrc"、“ PICT"。迭代块,直到检测到未知类型,我们组成 M4V 文件。
以下是对样本的检查:通过 Hex Viewer 检查样本 m4v 文件的二进制数据,可以观察到它以偏移量 4 处的签名 ftyp(十六进制:66 74 79 70)开始,它定义了 QuickTime容器文件类型。文件子类型是 M4V_(十六进制:4D 34 56 20),它指向 M4V (MPEG-4) 文件类型。第一个块大小为 32(十六进制:00 00 00 20,big-endian,高字节优先),大小位于偏移量 0。在偏移量 32(十六进制:20)处,位于第二个块,大小为 30,322(十六进制: 00 00 76 72, big-endian, lower-byte first) and type moov (hex: 6D 6F 6F 76).下一个块位于偏移量 32+30,322#30,354(十六进制:00 00 76 92),大小为 8(十六进制:00 00 00 08),类型为 free(十六进制:66 72 65 65)。
M4V 中使用的编解码器###
视频编解码器 H.264
H.264 是一种视频压缩标准,可将数字视频转换为在需要传输或存储时需要较少空间的格式。 M4V 使用 H.264 进行视频压缩。它的应用范围包括 DVD、电视、视频会议和互联网上的视频流。 H.264 由两个主要部分组成:编码器——压缩视频,解码器——解压缩压缩的视频。在下图中,编码和解码过程被突出显示,其他过程在 H.264 标准中涵盖。
H.264 中的视频编解码过程#####
对于压缩的 H.264 比特流,视频编码器进行预测、转换和编码过程。同时,解码器进行解码、逆变换、重构的逆过程,生成视频文件。 H.264 占用 MPEG 的一半大小。
音频编解码器####
高级音频编码 (AAC) 是一种用于有损数字音频压缩的音频编解码器,用于 M4V 容器。 AAC 是 MP3 格式的继承者,在相同比特率的情况下,其质量比 MP3 更好。 AAC 格式在压缩过程中会丢弃一些信息,这些信息不太重要。 AAC 是一种基于可变比特率 (VBR) 块的编解码器,其中每个块解码为 1024 个时域样本。
### 参考 ###