第一次打包,中间认识到一些观念,在这里记录一下
ffmpeg在做格式转换时(比如我这里将h264的es流打包为MP4格式),最根本的一个结构体是AVFormatContext,从字面上理解Format就是格式
接下来就是流的概念AVStream,它在AVFormatContext里,因为一个MP4文件里既有视频又有音频,所有在AVFormatContext可能会有不止一个流
因此AVFormatContext里的AVStream **streams;字段指向了流的数组,unsigned int nb_streams;字段标明了数据个数。
streams里又有AVCodecContext结构,标明了流的编解码信息
#define AV_TIME_BASE 1000000
这个值,理解为赫兹,比如25帧,在AV_TIME_BASE下的时间戳递增就是该是就是AV_TIME_BASE/25=40000,
g711的压缩比是2:1