1.主要结构体关系
![](https://img.haomeiwen.com/i2048812/961d95f534381a19.png)
AVFormatContext:统领全局的基本结构体,主要用于处理封装格式(flv, mpegts, mp4等)。
AVIOContext:输入输出对应的结构体,用于输入输出(读写文件,RTMP协议等)。
AVStream,AVCodecParameters:视音频流对应的结构体,用于视音频编解码。
AVFrame:存储非压缩的数据(RGB/YUV/PCM采样数据)
AVPacket:存储压缩数据(H264/HEVC/AAC等码流数据)
2.AVFormatContext
![](https://img.haomeiwen.com/i2048812/62048464b20b452b.png)
3.AVStream
![](https://img.haomeiwen.com/i2048812/29a8d3bd220bef0d.png)
4.AVPacket
见《FFMPEG结构体:AVPacket解析》
网友评论
if (!max_analyze_duration) {
max_stream_analyze_duration =
max_analyze_duration = 5*AV_TIME_BASE;
max_subtitle_analyze_duration = 30*AV_TIME_BASE;
if (!strcmp(ic->iformat->name, "flv"))
max_stream_analyze_duration = 90*AV_TIME_BASE;
if (!strcmp(ic->iformat->name, "mpeg") || !strcmp(ic->iformat->name, "mpegts"))
max_stream_analyze_duration = 7*AV_TIME_BASE;
}