FFmpeg
的濾鏡命令是用于音視頻處理中的強大工具,可以完成剪裁、縮放、加水印、調色、合成、旋轉、模糊、疊加字幕等復雜的操作。其核心語法格式一般如下:
ffmpeg -i input.mp4 -vf "濾鏡參數" output.mp4
或者帶音頻濾鏡:
ffmpeg -i input.mp4 -vf "視頻濾鏡" -af "音頻濾鏡" output.mp4
常見視頻濾鏡(-vf
)
濾鏡名稱 | 功能說明 | 示例 |
---|---|---|
scale | 縮放視頻尺寸 | -vf "scale=1280:720" |
crop | 裁剪視頻區域 | -vf "crop=640:360:0:0" |
drawtext | 添加文字水印 | -vf "drawtext=text='Hello':x=10:y=10:fontsize=24:fontcolor=white" |
overlay | 疊加視頻/圖片 | -i bg.mp4 -i logo.png -filter_complex "overlay=10:10" |
hflip / vflip | 水平/垂直翻轉 | -vf "hflip" |
transpose | 旋轉90度(1 順時針) | -vf "transpose=1" |
eq | 調整亮度/對比度/飽和度 | -vf "eq=brightness=0.06:contrast=1.5:saturation=1.2" |
fps | 調整幀率 | -vf "fps=30" |
setpts | 設置時間戳(變速) | -vf "setpts=0.5*PTS" (加快2倍) |
fade | 添加淡入淡出效果 | -vf "fade=t=in:st=0:d=3" |
drawbox | 畫框 | -vf "drawbox=x=100:y=100:w=200:h=100:color=red@0.5" |
lut | 調色 LUT 濾鏡 | -vf "lut=y='val*1.5'" |
常見音頻濾鏡(-af
)
濾鏡名稱 | 功能說明 | 示例 |
---|---|---|
volume | 調整音量 | -af "volume=1.5" (音量放大1.5倍) |
aecho | 回聲效果 | -af "aecho=0.8:0.9:1000:0.3" |
atempo | 語速變快/變慢 | -af "atempo=2.0" (加快2倍) |
highpass | 高頻濾波 | -af "highpass=f=2000" |
lowpass | 低頻濾波 | -af "lowpass=f=500" |
pan | 聲道重混 | `-af "pan=stereo |
示例
視頻相關
縮放視頻(保持寬高比)
# -1 表示自動計算高度以保持寬高比。
ffmpeg -i input.mp4 -vf "scale=1280:-1" output.mp4
裁剪視頻
# 從 (100,50) 開始,裁剪大小為 640x360。
ffmpeg -i input.mp4 -vf "crop=640:360:100:50" output.mp4
添加文字水印
# 需要安裝字體支持,或者加參數 :fontfile=/path/to/font.ttf
ffmpeg -i input.mp4 -vf "drawtext=text='Hello World':x=10:y=10:fontsize=24:fontcolor=white" output.mp4
添加圖片水印
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4
模糊視頻區域(高斯模糊)
ffmpeg -i input.mp4 -vf "boxblur=10:1" output.mp4
或僅模糊局部區域:
ffmpeg -i input.mp4 -filter_complex "[0:v]crop=200:200:100:100,boxblur=10:1[blur];[0:v][blur] overlay=100:100" output.mp4
視頻旋轉(順時針90度)
ffmpeg -i input.mp4 -vf "transpose=1" output.mp4
設置幀率為30fps
ffmpeg -i input.mp4 -vf "fps=30" output.mp4
視頻加速2倍播放
ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output.mp4
視頻減速(慢放)
ffmpeg -i input.mp4 -vf "setpts=2.0*PTS" output.mp4
視頻畫中畫(PIP)
# 把 small.mp4 縮放后疊加在右下角。
ffmpeg -i main.mp4 -i small.mp4 -filter_complex "[1:v]scale=320:240[small];[0:v][small] overlay=W-w-10:H-h-10" output.mp4
音頻相關
音量調大1.5倍
ffmpeg -i input.mp4 -af "volume=1.5" output.mp4
加快音頻播放速度(語速)
# atempo 只能在 0.5 到 2.0 之間,需多次疊加實現更大變化
ffmpeg -i input.mp4 -af "atempo=2.0" output.mp4
添加回聲效果
ffmpeg -i input.mp4 -af "aecho=0.8:0.9:1000:0.3" output.mp4
混音或改變聲道
# 將左聲道復制到右聲道,適用于單聲道轉雙聲道。
ffmpeg -i input.mp4 -af "pan=stereo|c0=c0|c1=c0" output.mp4