ffmpeg-filter 使用指南

ffmpeg-filter 使用指南

说明

只是一份备份。

查看原文

作者:hguo

Filter 思想

  • filter 架构思想中第一个概念是 Graph,一般翻译为画布,如果 Graph 看做是桌子的话,那 filters 们就是桌子上的“悲剧”。所以先要有 Graph,然后再将 filter 摆在上面, filter是身上有 pin 接口, pin 的作用是统一数据接口,然后还需要一个 link 的动作, link 的作用是将指定的 2 个 filter 通过其 pin 接口连接起来,这样就形成了一个完整的 filter graph或是叫 filter link list。

  • List item

  • 如果只有 filter graph 的存在,它只是一堆参数数据和代码,并不能运行,需要一个动力泵或是动力引擎将整个过程驱动起来,这就像人还缺一颗心脏一样,那人的血液就是filter graph 的数据流。

  • 这样 FFmpeg 就把驱动的能力交给了 filter 框架外面来做,通过向 filter graph 的首个 filter 推数据和从 filter graph 的末尾 filter 拉数据从而驱动整个 filter graph 的数据流动。

229197334-5bcfea4e8d543_articlex.png

命令行使用

命令

ffmpeg -i file_copy.ts -i logo.png -filter_complex "
[1:v]scale=100:100[logo];
[0:v][logo]overlay=x=main_w-100:y=main_h-100" 
output.mp4

参数简记

  • -filter_complex:滤镜必选参数,后面跟滤镜命令
  • [1:v] :输入pin,表示视频的第1路
  • scale=100:100 :对[1:v]输入pin的处理,缩放成100:100
  • [logo] :输出pin
  • ; 每个滤镜分割
  • 0:v :两个输入,第一个视频,上一个滤镜的输出
  • overlay=x=main_w-100:y=main_h-100 :滤镜动作

评论

此博客中的热门博文

ffmpeg 音频淡出淡出并调整音量