MP4(二)-解复用器
来源:互联网 发布:mac怎么删除文件夹 编辑:程序博客网 时间:2024/05/20 04:09
MP4的一些基本的信息在上一篇博文已经介绍,转载的别人的博文,不过写的很好。这里指将几个遇到的问题,碰到新问题希望大家一起交流。
文件中的绝对位置。不是相对于某一个box.stsz标记了每一个sample的大小,stsc则是chunk和sample的对应关系。
这里有个问题就是Stsc中有个 参数是first_chunk,这个是什么意思呢?
First chunk
1
4
5
8
可以看出chunk1、chunk2、chunk3都有4个sample,chunk4有3个sample,chunk5、chunk6、chunk7有4个sample……
就是这个意思。
名称:“avcC",这个box里面存放了H264的sps,pps等信息.
每一帧都要加,这个头根据的填写根据,帧长度,声道,采样率有个下标:
//ADTS 头中相对有用的信息 采样率、声道数、帧长度
//adts头
//typedef struct
//{
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//} ADTS_HEADER;
//•0: 96000 Hz
//•1: 88200 Hz
//•2: 64000 Hz
//•3: 48000 Hz
//•4: 44100 Hz
//•5: 32000 Hz
//•6: 24000 Hz
//•7: 22050 Hz
//•8: 16000 Hz
//•9: 12000 Hz
//•10: 11025 Hz
//•11: 8000 Hz
//•12: 7350 Hz
//•13: Reserved
//•14: Reserved
//•15: frequency is written explictly
//•0: Defined in AOT Specifc Config
//•1: 1 channel: front-center
//•2: 2 channels: front-left, front-right
//•3: 3 channels: front-center, front-left, front-right
//•4: 4 channels: front-center, front-left, front-right, back-center
//•5: 5 channels: front-center, front-left, front-right, back-left, back-right
//•6: 6 channels: front-center, front-left, front-right, back-left, back-right, LFE-channel
//•7: 8 channels: front-center, front-left, front-right, side-left, side-right, back-left, back-right, LFE-
channel
//•8-15: Reserved
00 00 00 01 ,如果遇到一帧数据是I帧则需要将sps,pps填写到前面。关键帧信息在stssbox中存储,有些I帧前面是个SEI
帧,也就是说取出来的是两帧数据,则需要将这两帧分开,记住前缀 00 00 00 01 的问题。
需要分析所需要的box.
一个问题就是文件定位数据帧的时候定位会有问题。
改进:
1:demux.cpp,548行的eles代码替
else
2:stsd_box.cpp,
- MP4(二)-解复用器
- MP4(二)-解复用器
- MP4格式分析二
- mp4文件格式解析(二)
- mp4文件格式解析(二)
- mp4文件格式解析(二)
- mp4文件格式解析(二)
- mp4文件格式解析(二)
- MP4学习(二)MP4文件格式的解析,以及MP4文件的分割算法
- mp4
- mp4
- mp4
- mp4文件格式详细解析(二)
- MP4文件格式解析 之 二 (Sample table atom )
- MP4文件格式解析 之 二 (Sample table atom )
- nginx开发(二)配置mp4文件在线播放
- MP4格式分析之元数据moov(二)
- 软编码Flv 到Mp4 容器(二) flv tag拆解
- java源码:HashMap实现原理
- 【Leetcode】之Symmetric Tree
- PAT (Basic Level) Practise-1041
- 详细解析RxAndroid的使用方式
- Android关于R文件全部爆红的原因
- MP4(二)-解复用器
- Go语言学习笔记1/2
- Linux网络--主机DNS配置
- BMP图像处理
- HDU-2014
- Maven学习笔记(3) --- 生命周期
- python执行定时任务
- 抽象
- Android RecyclerView使用完全案例,一次阅读解决所有问题