ftyp box有且只有一个,在mp4文件最开始的地方。它依次包括1个32位的major brand(4个字符),1个32位的minor version(整数)和1个以32位(4个字符)为单位元素的数组compatible brands。这些都是用来指示文件应用级别的信息
intMp4Meta::mp4_read_ftyp_atom(int64_t atom_header_size, int64_t atom_data_size){ int64_t atom_size; if (atom_data_size > MP4_MIN_BUFFER_SIZE) return -1; // box的大小 atom_size = atom_header_size + atom_data_size; if (meta_avail < atom_size) { // data unsufficient, reasonable from the first level return 0; } ftyp_atom.buffer = TSIOBufferCreate(); ftyp_atom.reader = TSIOBufferReaderAlloc(ftyp_atom.buffer); TSIOBufferCopy(ftyp_atom.buffer, meta_reader, atom_size, 0); // 对ftyp box的内部数据不进行解析,直接丢弃 mp4_meta_consume(atom_size); content_length = atom_size; ftyp_size = atom_size; return 1;}
新闻热点
疑难解答