← 블로그

FFmpeg로 이미지를 JPG, PNG, WebP, GIF로 변환하는 방법 (2026 가이드)

FFmpeg를 사용하여 JPG, PNG, WebP, GIF 형식 간 이미지를 변환하는 완벽 가이드. 일괄 변환, 품질 제어 및 무료 원클릭 대안을 포함합니다.

4 min read

FFmpeg는 단순한 동영상 도구가 아닙니다—이미지 포맷 변환에도 강력한 기능을 발휘합니다. PNG 스크린샷을 JPG로 변환하거나, 웹 최적화를 위해 WebP로 변환하거나, 이미지 시퀀스로 GIF를 만들 때까지, FFmpeg는 커맨드 라인에서 모든 것을 처리합니다.

물론 명령어 입력이 번거롭다면, 마지막에 무료 원클릭 솔루션을 소개해 드립니다.


사전 준비: FFmpeg 설치

FFmpeg

macOS:

brew install ffmpeg

Ubuntu/Debian:

sudo apt update && sudo apt install ffmpeg

Windows: ffmpeg.org에서 다운로드한 후 압축을 풀고, bin 폴더를 PATH에 추가하세요.


기본 이미지 변환

PNG → JPG

ffmpeg -i input.png -q:v 2 output.jpg
  • -q:v 2 — JPEG 품질 (1 = 최고, 31 = 최저). 2–5를 권장합니다.

JPG → PNG

ffmpeg -i input.jpg output.png

PNG는 무손실 포맷이므로 품질 파라미터가 필요 없습니다.

PNG/JPG → WebP

ffmpeg -i input.png -quality 80 output.webp
  • -quality 80 — WebP 품질 (0–100). 75–85가 적절한 균형입니다.

WebP → PNG

ffmpeg -i input.webp output.png

WebP → JPG

ffmpeg -i input.webp -q:v 2 output.jpg

BMP → PNG

ffmpeg -i input.bmp output.png

TIFF → JPG

ffmpeg -i input.tiff -q:v 2 output.jpg

GIF 작업

이미지 시퀀스 → GIF

일련의 이미지(frame001.png, frame002.png, …)를 애니메이션 GIF로 변환:

ffmpeg -framerate 10 -i frame%03d.png -vf "scale=480:-1:flags=lanczos" output.gif
  • -framerate 10 — 초당 10 프레임
  • frame%03d.png — frame001.png, frame002.png 등의 패턴 매칭
  • scale=480:-1 — 너비를 480px로 조정, 높이는 자동
  • flags=lanczos — 고품질 스케일링 알고리즘

동영상 → GIF

ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos" -loop 0 output.gif

GIF → 이미지 시퀀스

GIF의 모든 프레임 추출:

ffmpeg -i input.gif frame%03d.png

GIF → MP4

GIF는 용량이 큽니다—MP4로 변환하면 90% 이상 크기를 줄일 수 있습니다:

ffmpeg -i input.gif -movflags +faststart -pix_fmt yuv420p output.mp4

고급 옵션

JPEG 품질 조절

ffmpeg -i input.png -q:v 5 output.jpg
-q:v품질파일 크기
1최고가장 큼
2–3매우 좋음
5좋음중간
10보통작음
31최저가장 작음

WebP 품질 조절

# 손실 WebP
ffmpeg -i input.png -quality 85 output.webp

# 무손실 WebP
ffmpeg -i input.png -lossless 1 output.webp

이미지 크기 조절

특정 너비로 조정 (종횡비 유지):

ffmpeg -i input.png -vf "scale=800:-1" output.png

특정 크기로 조정:

ffmpeg -i input.png -vf "scale=800:600" output.jpg

색상 공간 변경

그레이스케일로 변환:

ffmpeg -i input.png -vf "format=gray" output.png

일괄 변환

모든 PNG → JPG 변환

Linux/macOS:

for f in *.png; do
  ffmpeg -i "$f" -q:v 2 "${f%.png}.jpg"
done

모든 JPG → WebP 변환

for f in *.jpg; do
  ffmpeg -i "$f" -quality 80 "${f%.jpg}.webp"
done

Windows (PowerShell):

Get-ChildItem *.png | ForEach-Object {
  ffmpeg -i $_.Name -q:v 2 ($_.BaseName + ".jpg")
}

자주 발생하는 오류와 해결법

“출력 파일이 비어 있거나 전체가 검은색” 일부 포맷에서는 픽셀 포맷을 명시해야 합니다:

ffmpeg -i input.png -pix_fmt rgb24 output.jpg

“GIF 출력 색상이 엉망” GIF는 256색으로 제한됩니다. 팔레트를 사용해 품질을 개선하세요:

ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,palettegen" palette.png
ffmpeg -i input.mp4 -i palette.png -lavfi "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif

“포맷을 인식할 수 없음” 포맷을 명시적으로 지정하세요:

ffmpeg -f image2 -i input.bmp output.png

터미널 없이 사용하기: WaveSpeed Desktop

FFmpeg로 이미지 하나를 변환하는 건 어렵지 않습니다. 하지만 품질, 포맷, 크기를 조절하면서 여러 이미지를 일괄 변환하려면? 금방 번거로워집니다.

WaveSpeed Desktop에는 이 과정을 간편하게 만들어 주는 이미지 변환기가 내장되어 있습니다:

  • 이미지를 하나 또는 여러 장 드래그 앤 드롭
  • 출력 포맷 선택 (JPG, PNG, WebP, GIF)
  • 변환 클릭 — 완료

FFmpeg도, 터미널도, 품질 플래그를 외울 필요도 없습니다.

WaveSpeed Desktop 이미지 변환기

WaveSpeed Desktop 무료 다운로드: https://github.com/WaveSpeedAI/wavespeed-desktop/releases


자주 묻는 질문

웹에서 가장 좋은 이미지 포맷은 무엇인가요? WebP가 압축률 대비 품질 면에서 가장 우수합니다. 브라우저 호환성이 문제가 없다면 WebP를 사용하세요. 그렇지 않은 경우, 사진에는 JPEG, 투명도가 있는 그래픽에는 PNG를 사용하세요.

JPG를 PNG로 변환하면 품질이 향상되나요? 아닙니다. 오디오와 마찬가지로, JPEG 압축 과정에서 손실된 정보는 복구할 수 없습니다. PNG 파일의 용량만 커질 뿐입니다.

WebP는 JPEG보다 얼마나 더 작은가요? 동일한 시각적 품질 기준으로 일반적으로 25–35% 더 작습니다.

FFmpeg로 RAW 카메라 파일을 처리할 수 있나요? FFmpeg의 RAW 파일 지원은 제한적입니다. RAW 변환에는 ImageMagick이나 darktable 같은 전용 도구가 더 적합합니다.