ffmpeg-AVFilter 和 Filter Graph 使用指南

FFmpeg 的 libavfilter 是一个强大的多媒体滤镜处理框架,允许你对音视频流进行各种处理(如缩放、裁剪、格式转换、混音等)。以下是关于 AVFilter 和 Filter Graph 的核心用法。

1. 基本概念

  • AVFilter: 单个滤镜(如 scaletrimoverlay

  • AVFilterContext: 滤镜实例

  • AVFilterGraph: 滤镜图,包含多个滤镜和它们的连接关系

  • AVFilterInOut: 表示滤镜图的输入/输出

2. 基本使用流程

2.1 创建滤镜图

c

AVFilterGraph *filter_graph = avfilter_graph_alloc();
if (!filter_graph) {
    // 错误处理
}

2.2 创建并添加滤镜

c

AVFilterContext *src_ctx;
AVFilterContext *sink_ctx;
AVFilter *src_filter = avfilter_get_by_name("buffer");
AVFilter *sink_filter = avfilter_get_by_name("buffersink");

// 创建源滤镜(输入)
char args[512];
snprintf(args, sizeof(args),
         "video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d",
         width, height, pix_fmt,
  
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值