fmp4格式解析

一个典型的fmp4格式如下

fmp4格式解析_第1张图片

sidx box(segment index):

SidxBox:
unsigned int(32) size; 
int(32) type;
if (size==1) {
    unsigned int(64) largesize;
}
unsigned int(8) version;
bit(24) flags;
unsigned int(32) reference_ID;
unsigned int(32) timescale;
if(version == 0) {
    unsigned int(32) earliest_presentation_time;
    unsigned int(32) first_offset;
}
if(version == 1) {
    unsigned int(64) earliest_presentation_time;
    unsigned int(64) first_offset;
}
unsigned int(16) reserved;
unsigned int(16) reference_count;

for (i=0; i < reference_count; i++) {
    bit(1) reference_type;
    unsigned int(31) referenced_size;
    unsigned int(32) subsegment_duration;
    bit(1) starts_with_SAP;
    bit(3) SAP_type;
    unsigned int(28) SAP_delta_time;
}

reference_ID:如果sidx被“parent”sidx引用,reference_ID的值应该同引用者sidx box的reference_ID 值一致。

timescale:时间刻度。

earliest_presentation_time:最早的呈现时间。

first_offset:从该box后到索引材料的第一个字节的距离(以字节为单位)。

reserved:0。

reference_count:reference个数。

reference_type:置1表示引用的是一个sidx box,否则则是media content。

referenced_size:从引用项的第一个字节到下一个引用项的第一个字节的字节距离,或者在最后一个条目的情况下,到引用材料的结尾的距离。

subsegment_duration:时长,与earliest_presentation_time的单位相同。

starts_with_SAP:

SAP_type:

SAP_delta_time:

fmp4格式解析_第2张图片

 

 

 

你可能感兴趣的:(mp4,fmp4)