参考: http://jiya.io/archives.html
http://blog.youkuaiyun.com/woshinia/article/category/1270366
http://my.oschina.net/mavericsoung/blog/139265 ffmpeg中MPEG2 TS 流解码的流程分析
1 int avformat_open_input(AVFormatContext **ps, const char *filename,
AVInputFormat *fmt, AVDictionary **options)
2 接口功能
- 创建AVFormatContext结构并填充其中的关键字段
- 打开一个指定URI,初始化输入模块。
- 解析多媒体文件或流的头信息,为每个流创建AVStream结构。
3 流程分析
-
如果s为空,则调用avformat_alloc_context方法为AVFormatContext结构体(以下简称s)分配内存,并使用默认值设置,具体的默认设置是av_format_context_class。
注:AVFormatContext这个结构体描述了一个媒体文件或媒体流的构成和基本信息。 -
如果传入的AVInputFormat类型形参fmt不为空,即判断输入格式是否在调用该方法之前已经探明,
如果是则直接设置s的iformat成员为该指针。如果不是则需要在后续步骤中分析输入格式。 -
AVDictionary相关设置暂不分析。
-
调用init_input,初始化输入。