[linux] ffmpeg

Leejaegun·2025년 3월 8일

linux

목록 보기
14/21

1. FFmpeg란?

FFmpeg는 “Fast Forward MPEG”의 약자로, 다양한 멀티미디어 파일(비디오/오디오) 처리에 쓰이는 강력한 오픈소스 툴입니다.

2. 특정 구간 GIF로 변환하기

ffmpeg -i input.mp4 -ss 00:00:05 -t 10 \
-vf "fps=10,scale=500:-1:flags=lanczos" -c:v gif output.gif
  • -ss 00:00:05: 5초 지점부터 시작
  • -t 10: 10초 길이만 변환
  • fps=10: 초당 10프레임 생성
  • scale=500:-1: 가로 500px, 세로는 비율 유지를 의미
  • :flags=lanczos: 고화질 스케일링 적용

3. 고화질 GIF (팔레트 최적화)

1) 팔레트 생성

ffmpeg -i input.mp4 -ss 00:00:05 -t 10 \
-vf "fps=15,scale=500:-1:flags=lanczos,palettegen" palette.png

2) 팔레트 적용

ffmpeg -i input.mp4 -i palette.png -ss 00:00:05 -t 10 \
-filter_complex "fps=15,scale=500:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif
  • palettegen & paletteuse를 통해 GIF 품질을 높임
  • fps=15: 보다 부드러운 애니메이션

4. 시작 시간 & 끝 시간으로 설정 (-to)

ffmpeg -i input.mp4 -ss 00:00:05 -to 00:00:15 \
-vf "fps=10,scale=500:-1:flags=lanczos" -c:v gif output.gif
  • -to 00:00:15: 5초부터 15초까지(총 10초) 구간만 변환

5. 꿀팁

1) 변환 전 특정 구간 미리보기

ffplay -i input.mp4 -ss 00:00:05
  • 5초 지점부터 재생해서 확인 가능

2) 더 빠른 변환 (-ss를 입력 소스 앞에 두면 키프레임 기반으로 빠르게 탐색)

ffmpeg -ss 00:00:05 -i input.mp4 -t 10 \
-vf "fps=10,scale=500:-1:flags=lanczos" -c:v gif output.gif
  • -ss를 입력 파일 앞에 두면 보다 빠르게 처리

6. 결론

  • 원하는 구간만 GIF로 만들 때 -ss + -t (혹은 -ss + -to) 조합 사용
  • 고화질 GIFpalettegen / paletteuse 옵션으로 팔레트 최적화
  • 빠른 변환에는 -ss를 입력 파일 앞에 두기

이제 FFmpeg로 손쉽게 필요한 구간만 GIF로 만들어보세요! 🚀

profile
Lee_AA

0개의 댓글