2012-03-20 26 views
0

我有一个关于ffmpeg的问题。ffmpeg C++和AVFormatContext

我如何在我的程序中初始化AVFormatContext。我知道可以制作av_open_input_file并使用我的AVFormatContext作为参数之一,但是我想用于解码的数据不在文件中。我从我的程序的其他组件获取它作为char *数组。是否有可能仅使用此数组数组来初始化AVFormatContext结构。

回答

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); 

我这样做了输出数据但没有输入数据(我的输入数据是从视频设备抓取的原始帧)。你输入的数据是什么?

+0

我从套接字连接获取我的数据为char *编码与h.264。我必须有一个解码的视频帧。 – mmmaaak 2012-03-20 20:14:43