Skip to content

Latest commit

 

History

History
156 lines (108 loc) · 3.63 KB

video.md

File metadata and controls

156 lines (108 loc) · 3.63 KB
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
ffmpeg
filter
FFmpeg 从入门到放弃
学习笔记
20
false
true
false

vf 与 filter_complex 的区别

当我们通过 ffmpeg 使用简单的滤镜的时候,可以通过 -vf-af 来实现滤镜效果。

当我们在处理复杂的滤镜场景的是,就需要使用 -filter_complex 参数来实现复杂的特效场景,其中 -lavfi-filter_complex 效果是一样的。

常用 Filter 及其用途

scale 视频/图像的缩放

scale=960:540

保持原始的宽高比:

scale=960:-1

crop 视频/图像的裁剪

从 (12, 34) 位置开始,将该点作为基准点,向右下进行裁剪,裁剪出 100x100 大小的视频:

crop=100:100:12:34
crop=w=100:h=100:x=12:y=34

trim 截取视频的片段

只保留第二分钟:

trim=60:120

保留第一秒

trim=duration=1

rotate 以任意角度旋转视频

扣图合并

colorkey 和 chromakey 用法参数基本一样

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

colorkey

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。