Chain 으로 부족할 때
실 작업이 branch, split, re-merge 필요. 패턴 셋이 대부분 커버:
- split — stream 하나를 N 으로 duplicate.
[0:v]split=2[a][b]. - concat filter — input 다시 join (re-encode 필수).
- hstack/vstack — 비교 위해 video side by side 또는 top-bottom stack.
~12 min · filter_complex, split, concat, advanced
실 작업이 branch, split, re-merge 필요. 패턴 셋이 대부분 커버:
[0:v]split=2[a][b].# Original 옆에 graded 버전, 같은 height
ffmpeg -i in.mp4 \
-filter_complex "[0:v]split=2[orig][graded]; \
[graded]eq=contrast=1.2:saturation=1.3[graded2]; \
[orig]scale=960:-2[origs]; \
[graded2]scale=960:-2[gradeds]; \
[origs][gradeds]hstack[outv]" \
-map "[outv]" -map 0:a \
-c:v libx264 -crf 20 -preset slow \
-c:a copy \
comparison.mp4ffmpeg -i screen.mp4 -i webcam.mp4 -i logo.png \
-filter_complex "[1:v]scale=320:-2[cam]; \
[2:v]scale=140:-2[lg]; \
[0:v][cam]overlay=W-w-20:H-h-20[withcam]; \
[withcam][lg]overlay=20:20[withlogo]; \
[withlogo]drawtext=fontfile=/System/Library/Fonts/Supplemental/Arial.ttf:text='LIVE':fontcolor=red:fontsize=48:x=20:y=H-th-20:box=1:boxcolor=white@0.7:boxborderw=10[outv]" \
-map "[outv]" -map 0:a \
-c:v libx264 -crf 20 -preset slow \
-c:a aac -b:a 192k \
full_overlay.mp4# 다른 source 셋, normalize 후 concat
ffmpeg -i a.mov -i b.webm -i c.mkv \
-filter_complex "[0:v]scale=1920:1080,fps=30,setsar=1[v0]; \
[1:v]scale=1920:1080,fps=30,setsar=1[v1]; \
[2:v]scale=1920:1080,fps=30,setsar=1[v2]; \
[v0][0:a][v1][1:a][v2][2:a]concat=n=3:v=1:a=1[outv][outa]" \
-map "[outv]" -map "[outa]" \
-c:v libx264 -crf 20 -preset slow \
-c:a aac -b:a 192k \
joined.mp4아직 댓글이 없어요. 첫 댓글을 남겨보세요.