我正在按照此代码使用 C 中的 FFmpeg 库。FFmpeg 库的文档很少,很难理解每个函数的确切作用。
我理解代码(正在做什么)。但我缺乏清晰度。谁能帮帮我?
Q1) **struct AVFrameContext **** 和文件名(所需的最少非 NULL 参数)被传递给函数 avformat_open_input()。顾名思义,输入文件是“打开的”。如何 ?
在 file_open 中完成的主要事情是
你可以在 FFmpeg 中查看那里libavformat\utils.c
真正发生的事情:
int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options)
{
AVFormatContext *s = *ps;
int ret = 0;
AVDictionary *tmp = NULL;
ID3v2ExtraMeta *id3v2_extra_meta = NULL;
if (!s && !(s = avformat_alloc_context()))
return AVERROR(ENOMEM);
// on and on