1 描述
本文介绍如果通过ffmpeg顶层的API调用,来修改muxer的AVOption选项,使muxer执行不同的行为
2 函数调用
2.1 外部程序调用
AVDictionary *opts = NULL;
av_dict_set(&opts, "movflags", "frag_keyframe", 0);
int ret = avformat_write_header(mOutCtx, &opts);
av_dict_free(&opts);
2.2 av_dict_set 实现
在movenc.c当中, 通过AVDictionary的设置一步一步调用,把frag_keyframe设置到了
MOVMuxContext *mov = s->priv_data;
的mov->flags当中的FF_MOV_FLAG_FRAG_KEYFRAME
3 工具
流程图使用工具: VSCode + 插件draw.io