init_complex_filtergraph初始化复杂滤镜—ffmpeg.c源码分析
ffmpeg.exe
的滤镜分为两种,简单滤镜 和 复杂滤镜。简单滤镜已经在 FFmpeg转换器分析-基础篇 一章的《init_simple_filtergraph初始化简单滤镜》《configure_filtergraph配置滤镜容器》文章中讲解过了。
现在来重温一下简单滤镜的知识,简单滤镜是指命令行没有使用 -filter_complex
选项,如下:
ffmpeg -i juren.mp4 juren.flv
ffmpeg -i juren.mp4 -vf "null" juren.flv
上面两条命令是等价的,即便你命令行没有使用 -vf
指定视频滤镜,在 ffmpeg.c
内部也会创建一个 null
的滤镜把输入输出连接起来。
而复杂滤镜的命令行示例如下:
ffmpeg -i juren-30s.mp4 -i logo.jpg -filter_complex "[1:v]scale=176:144[logo];[0:v][logo]overlay=x=0:y=0" output.mp4 -y
效果图如下:
VIP 专属文章.....