资源说明:一.FFMpeg 中的数据结构:
I. AVFormatContext
一般在使用 ffmpeg sdk 的代码中 AVFormatContext 是一个贯穿始终的数据结构,很多函数都要用到它
作为参数。FFmpeg代码中对这个数据结构的注释是:format I/O context
此结构包含了一个视频流的格式内容。其中存有了 AVInputFormat(or AVOutputFormat 同一时间
AVFormatContext 内只能存在其中一个),和 AVStream、AVPacket 这几个重要的数据结构以及一些其他的
相关信息,比如title,author,copyright等。还有一些可能在编解码中会用到的信息,诸如:duration, file_size,
bit_rate等。参考avformat.h头文件。
Useage:
声明:
AVFormatContext *oc; (1)
初始化: 由于AVFormatConext结构包含许多信息因此初始化过程是分步完成,而且有些变量如果没
有值可用,也可不初始化。但是由于一般声明都是用指针因此一个分配内存过程不可少:
oc = av_alloc_format_context(); (2)
结构中的 AVInputFormat*(或 AVOutputFormat*)是一定要初始化的,基本上这是编译码要使用什么
codec的依据所在:
oc->oformat = fmt; or oc->iformat = fmt; (3)
其中AVOutputFormat* fmt或 AVInputFormat* fmt。(AVInputFormat and AVOutputFormat的初始化在后
面介绍。随后在参考代码output_example.c中有一行:
snprintf(oc-filename, sizeof(oc->filename), “%s”, filename); (4)
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。