ZigZag Sin
登 陆
上一篇:stss Box 下一篇:stco Box

stsz Box

Time
2022-2-21 11:39 阅读 314

具体 Box 分析

Sttz Box

官方定义

image-20211231215003931

传送门:MP4 文档 P29页

介绍

这个 Box 也比较简单,里面给出每个 Sample 的 Size 的大小。关于这个 Box 的作用,这是我们在文件读取和解析 Sample 的关键可以找到任意 Sample 对应在文件中的位置。

工具分析

image-20211231215413417

这里对应 Sample count 就是总的 Sample 数量,里面对应的是每一个 Sample size,Sample Count 从1开始。

image-20211231215842331

其中该 Box 是 Full Box,后面有四字节的 version 和 flag 字段,其中 flag 默认值用0,这里分析略过,这里就直接解析 Data 的字段。

字段大小实际值(16进制)含义
sample size400 00 00 000表示每一个sample大小不一样,不为0则每一个sample大小为当前值
sample count400 00 05 25当前 Track 下有多少个 sample
sample size4 对应每一个Sample的大小

代码定义

// BaseBox.h  

// ...
// 其他 Box 的定义

class TimeStszBox : public BaseBox {
public:
    Timebyte version = 0;
    Timebyte flags = 0;
    unsigned int sample_size = 0; // 指定默认的sample大小,如果每个sample大小不相等,则这个字段值为0,每个sample大小存在下表中。
    unsigned int sample_count = 0; // 该track中所有sample的数量
    unsigned int entry_size = 0; // 每个sample的大小
    TimeStszBox(BoxHeader h, Timebyte * d): BaseBox(h, d){};
};

实现

// TimeStszBox.cpp



上一篇:stss Box 下一篇:stco Box
给我买个键盘吧。。。求打赏。。。
欢迎加群,一起交流~~~