随着对于AVFormatContext 各个参数的学习,逐渐可以从 整体架构上 再认识一下 AVFormatContext 了。
还是从解封装的第一步开始。
int avformat_open_input(AVFormatContext **ps, const char *url, ff_const59 AVInputFormat *fmt, AVDictionary **options);

实际上是

这个url 不仅仅可以是本地文件,也可以是网络传递过来的文件,实际上是 传输过来的,也就是说,是使用传输层的协议,对应ffmpeg中的结构体就是 AVIOContext
//此处 应该分析 AVIOContext 是怎么得来的,以及如何自定义 AVIOContext 结构体。