date | author | title | url | tags | series | categories | weight | chapter | index | draft | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2020-09-15 22:20:49 +0800 |
Rustle Karl |
FFmpeg 视频 Fliter 详解 |
posts/ffmpeg/cli/filter/video |
|
|
|
20 |
false |
true |
false |
-
Overlay Fliter 详解 - 视频/图像的叠加
当我们通过 ffmpeg 使用简单的滤镜的时候,可以通过 -vf
与 -af
来实现滤镜效果。
当我们在处理复杂的滤镜场景的是,就需要使用 -filter_complex
参数来实现复杂的特效场景,其中 -lavfi
与 -filter_complex
效果是一样的。
scale=960:540
保持原始的宽高比:
scale=960:-1
从 (12, 34) 位置开始,将该点作为基准点,向右下进行裁剪,裁剪出 100x100 大小的视频:
crop=100:100:12:34
crop=w=100:h=100:x=12:y=34
只保留第二分钟:
trim=60:120
保留第一秒
trim=duration=1
colorkey 和 chromakey 用法参数基本一样
将绿色背景中的人物抠出来贴到另一个视频中:
ffmpeg -i input.mp4 -i input_green.mp4 -filter_complex "[1:v]chromakey=green:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map [out] output.mp4
ffmpeg -i input.png -vf colorkey=green out.png
ffmpeg -i background.png -i video.mp4 -filter_complex "[1:v]colorkey=0x3BBD1E:0.3:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.flv
ffmpeg -i video.mp4 -ss 00:00:04 -vframes 1 video.png
-ss
定位时间-vframes
限制输出的视频帧数
ffmpeg -y -i video.mp4 -vf fps=1/2 video%d.png
fps
帧率fps=1/2
每 2s 截图 1 张fps=1
每 1s 截图 1 张fps=2
每 1s 截图 2 张
ffmpeg -y -i video.mp4 -vf "select='eq(pict_type,PICT_TYPE_I)'" -vsync vfr thumb%d.png
-vf eq=brightness=0.25
取值范围是从 -1.0 到 1.0,默认值是 0。
-vf eq=contrast=1.5
取值范围是从 -2.0 到 2.0,默认值是 1.0。