我对ffmpeg有疑问。
如何在程序中初始化AVFormatContext
。我知道可以制作av_open_input_file
并使用我的AVFormatContext
作为参数之一,但我想用于解码的数据不在文件中。我从程序的其他组件中获取它作为char *数组。是否可以仅使用此数据数组初始化AVFormatContext
结构。
答案 0 :(得分:0)
看看这些功能,它们可能很有用。
AVInputFormat *av_find_input_format(const char *short_name);
AVInputFormat *av_probe_input_format(AVProbeData *pd, int is_opened);
AVInputFormat *av_probe_input_format2(AVProbeData *pd, int is_opened, int *score_max);
AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened, int *score_ret);
int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt,
const char *filename, void *logctx,
unsigned int offset, unsigned int max_probe_size);
我使用输出数据而不是输入数据(我的输入数据是从视频设备抓取的原始帧)。你输入的数据是什么?