AVFormatContext

简要描述
  • 描述一个媒体文件或媒体流的构成和基本信息,在avformat.h中被声明;这是FFMpeg中最为基本的一个结构,是其他所有结构的根,是一个多媒体文件或流的根本抽象。其中nb_streams和streams所表示的AVStream结构指针数组包含了所有内嵌媒体流的描述;iformat和oformat指向对应的demuxer和muxer指针;pb则指向一个控制底层数据读写的ByteIOContext结构
参数
参数名 类型 说明
pb AVIOContext* 输入数据的缓存
nb_streams unsigned int 视音频的个数
streams AVStreams** 视音频流
filename char[1024] 文件名
duration int64_t 时长,单位为微妙us,转换为秒需要 / 1000000
bit_rate int 比特率(单位bps,转换为kbps需要 / 1000)
metadata AVDictionary* 元数据
av_class const AVClass* A class for logging and @ref avoptions. Set by avformat_alloc_context()
iformat struct AVInputFormat* The input container format
oformat struct AVOutputFormat* The output container format
priv_data void* Format private data. This is an AVOptions-enabled struct
初始化方法
    AVFormatContext* pCtx;
    pCtx = avformat_alloc_context();
    ret = avformat_open_input(&pCtx, url.c_str(), 0, 0);