C.W.K.
Stream
Lesson 10 of 10 · published

Complex Filter Graph

~12 min · filter_complex, split, concat, advanced

Level 0Viewer
0 XP0/73 lessons0/15 achievements
0/100 XP to next level100 XP to go0% complete

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.

Code

Side-by-side 비교 (split + scale + hstack)·bash
# 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.mp4
Picture-in-picture + logo + lower-third 한 번에·bash
ffmpeg -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
Heterogeneous clip concat·bash
# 다른 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

External links

Exercise

Side-by-side 비교 filtergraph 빌드 + 자기 clip 에 돌려. Orig 와 graded side 다른지 확인. 그 다음 full PiP-with-logo-and-lower-third recipe — 'LIVE' badge 를 자기 brand name 으로 교체. 측정: encode 가 reasonable 시간에 완료?

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.