使用libavcodec每帧发送元数据

时间:2013-12-02 16:57:15

标签: ffmpeg libavcodec x264

我正在尝试使用我编码的每个帧发送一些元数据。 我试过这个:

编码器端:

AVDictionary *myMeta = NULL;
int ret = av_dict_set(&myMeta, "temp_data", "test", 0);
if (ans < 0)
{
    cout << "Error: " << ret << endl;
}
av_frame_set_metadata(frameToEncode, myMeta);

解码器方:

AVDictionaryEntry *e;
AVDictionary *dict = NULL;
dict = av_frame_get_metadata(decodedFrame);
if (dict != NULL)
{
    if (e = av_dict_get(dict, "temp_data", NULL, AV_DICT_IGNORE_SUFFIX)) {
        cout << e->value << endl;
    }
}

我正在使用x264进行编码。 解码数据后,decodeFrame的元数据成员为NULL。

有什么想法吗?

感谢。

0 个答案:

没有答案