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

Speed 변경

~10 min · speed, setpts, atempo

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

Speed ≠ frame rate

재생 speed 변경이 frame rate 변경과 달라. fps 가 frame drop/duplicate; speed 변경이 실제로 video re-time. 조각:

  • setpts=PTS*N — video frame timestamp 에 N 곱. N=0.5 = 2x speed (frame 당 시간 절반). N=2 = 절반 speed.
  • atempo=N — pitch 변경 없이 audio tempo 변경. Filter 당 0.5–2.0 범위 — 더 큰 변경엔 chain.

흔한 speed 값

  • 2x: setpts=PTS*0.5 + atempo=2
  • Half: setpts=PTS*2 + atempo=0.5
  • 3x: setpts=PTS*0.333 + atempo=2,atempo=1.5 (chain)

Code

Audio sync 와 함께 speed up / slow down·bash
# 2x speed
ffmpeg -i in.mp4 \
  -filter_complex "[0:v]setpts=PTS*0.5[v];[0:a]atempo=2[a]" \
  -map "[v]" -map "[a]" \
  -c:v libx264 -crf 20 -c:a aac -b:a 192k \
  out_2x.mp4

# 0.5x slow motion (보간 없이, frame duplicate)
ffmpeg -i in.mp4 \
  -filter_complex "[0:v]setpts=PTS*2[v];[0:a]atempo=0.5[a]" \
  -map "[v]" -map "[a]" \
  -c:v libx264 -crf 20 -c:a aac -b:a 192k \
  out_slow.mp4
Motion 보간 으로 부드러운 slow-mo·bash
# 진짜 30→120 motion-보간 slow-mo (synthetic frame 으로 4x slower)
ffmpeg -i in.mp4 \
  -filter_complex "[0:v]minterpolate=fps=120:mi_mode=mci:mc_mode=aobmc:vsbmf=1:scd=fdiff,setpts=PTS*4[v]; \
                   [0:a]atempo=0.5,atempo=0.5[a]" \
  -map "[v]" -map "[a]" \
  -c:v libx264 -crf 20 -preset slow \
  -c:a aac -b:a 192k \
  smooth_slowmo.mp4

External links

Exercise

60초 clip 잡아. Audio sync 유지하며 2x speed up. 그 다음 motion 보간 없이 0.5x slow down. 그 다음 minterpolate 120fps 로 slow down 하고 차이 (부드럽지만 ghosty 가능) 관찰. 어느 거 ship 할지 픽: (a) fast-forward 몽타주, (b) 스포츠 replay slow-mo.

Progress

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

댓글 0

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

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