ffmpeg的AVOption用法

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

相关推荐
不吃鱼的猫7481 天前
【ffplay 源码解析系列】02-核心数据结构详解
c++·ffmpeg·音视频
不吃鱼的猫7482 天前
【ffplay 源码解析系列】01-开篇-ffplay整体架构与启动流程
c++·架构·ffmpeg·音视频
REDcker3 天前
FFmpeg开发者快速入门
ffmpeg
不吃鱼的猫7483 天前
【从零手写播放器:FFmpeg 音视频开发实战】04-封装格式与多媒体容器
c++·ffmpeg·音视频
REDcker5 天前
FFmpeg完整文档
linux·服务器·c++·ffmpeg·音视频·c·后端开发
硬汉嵌入式5 天前
QEMU & FFmpeg作者Fabrice Bellard推出MicroQuickJS,一款面向嵌入式系统JavaScript引擎,仅需10K RAM
javascript·ffmpeg·microquickjs
Knight_AL6 天前
如何用 FFmpeg 处理 PCM 音频 & 判断 PCM 文件到底是什么格式
ffmpeg·音视频·pcm
binderIPC7 天前
macos环境下FFmpeg打包成.so文件
macos·ffmpeg·音视频
binderIPC7 天前
macos的FFmpeg环境搭建
macos·ffmpeg·音视频
TEC_INO7 天前
Linux_19:RV1126的OSD模块和SDL_TTF结合输出H264文件
linux·运维·ffmpeg