目录
- 参考
- metadata API
- API方式获取metadata
1. 参考
2. metadata获取
metadata API允许libavformat在解包时将元metadata导出。
使用ffmpeg命令行工具导出元数据:
ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE
使用ffmpeg命令行工具从FFMETADATAFILE 文件中加载元数据信息输出到输出文件中:
ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec copy OUTPUT
3. API方式获取metadata
以下的代码来源于[2]。
/**
* @file
* Shows how the metadata API can be used in application programs.
* @example metadata.c
*/
#include <stdio.h>
#include <libavformat/avformat.h>
#include <libavutil/dict.h>
int main (int argc, char **argv)
{
AVFormatContext *fmt_ctx = NULL;
AVDictionaryEntry *tag = NULL;
int ret;
if (argc != 2) {
printf("usage: %s <input_file>\n"
"example program to demonstrate the use of the libavformat metadata API.\n"
"\n", argv[0]);
return 1;
}
if ((ret = avformat_open_input(&fmt_ctx, argv[1], NULL, NULL)))
return ret;
while ((tag = av_dict_get(fmt_ctx->metadata, "", tag, AV_DICT_IGNORE_SUFFIX)))
printf("%s=%s\n", tag->key, tag->value);
avformat_close_input(&fmt_ctx);
return 0;
}
以下为测试输入为一个mp4文件时的输出结果。
mp4
major_brand=isom
minor_version=512
compatible_brands=isomiso2avc1mp41
encoder=Lavf57.71.100
网友评论