我正在尝试使用我编码的每个帧发送一些元数据。 我试过这个:
编码器端:
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。
有什么想法吗?
感谢。