동영상 GIF 변환기

동영상을 GIF로 변환하고 밈 자막 삽입

이 도구는 큰 화면(PC)에서 사용하는 것을 권장합니다.

동영상 GIF 변환기 소개

이 도구는 동영상을 원하는 구간만큼 재생 위치를 옮겨 가며 한 장씩 캔버스에 그려 캡처하고, 그 프레임들을 직접 GIF로 인코딩합니다. 외부 변환 서버나 FFmpeg를 쓰지 않고, 팔레트 추출(median-cut)과 LZW 압축까지 도구 안의 코드가 처리합니다. 상단·하단 자막(임팩트 글꼴, 흰 글자에 검은 테두리)을 영상 위에 얹거나 위아래 흰 띠를 덧대 넣을 수도 있습니다.

GIF는 1987년에 나온 이미지 형식이라 동영상 코덱과 비교하면 매우 비효율적입니다. 같은 3초짜리 장면이 MP4로는 수백 KB인데 GIF로는 몇 MB가 되는 일이 흔합니다. 용량을 결정하는 손잡이는 프레임 속도, 너비, 색 수 세 가지이고, 아래에서 각각이 어떻게 작용하는지 설명합니다.

GIF는 한 프레임에 256색까지만 쓸 수 있다

GIF 규격은 색표(팔레트) 한 개에 최대 256색만 허용하고, 각 픽셀은 그 색표의 번호로 저장됩니다. 동영상 한 장면에는 수만 가지 색이 있으므로 어떤 256색(또는 더 적은 색)을 남길지 골라야 합니다. 이 도구는 캡처한 모든 프레임에서 픽셀을 표본으로 모은 다음, 색 공간에서 가장 넓게 퍼진 상자를 반씩 계속 쪼개는 median-cut 방식으로 공용 팔레트 하나를 만듭니다.

그다음 각 픽셀을 팔레트에서 가장 가까운 색으로 바꿉니다. 이 도구는 디더링(오차를 주변 픽셀에 흩뿌려 중간색을 흉내 내는 기법)을 하지 않기 때문에, 하늘이나 피부처럼 부드럽게 변하는 영역에는 계단처럼 띠가 생깁니다. 대신 디더링이 없으면 인접 픽셀이 같은 번호로 이어져 LZW 압축이 잘 되므로 파일이 작아집니다. 색 수를 64로 줄이면 띠가 더 뚜렷해지지만, 만화나 게임 화면처럼 원래 색이 적은 영상은 거의 티가 나지 않습니다.

같은 장면이 GIF에서 MP4보다 몇 배 큰 이유

H.264 같은 동영상 코덱은 이전 프레임에서 움직인 부분만 움직임 벡터와 차이값으로 저장합니다. 가만히 있는 배경은 사실상 공짜입니다. GIF의 LZW는 한 프레임 안에서 반복되는 픽셀 줄만 압축할 뿐 프레임 사이의 유사성을 보지 않고, 이 도구는 매 프레임을 전체 화면으로 기록합니다. 그래서 GIF 용량은 대략 「픽셀 수 × 프레임 수」에 비례해 늘어납니다.

웹 페이지에 짧은 반복 영상을 넣는다면 GIF 대신 자동재생·무음·반복 설정을 한 video 태그가 훨씬 가볍다는 것이 web.dev의 권고이기도 합니다. GIF가 여전히 필요한 곳은 동영상을 받지 않는 게시판, 메신저 이모티콘, 이메일처럼 「그림 파일」로만 올릴 수 있는 곳입니다.

프레임 속도와 너비, 무엇부터 줄일까

용량은 너비의 제곱에 비례합니다. 가로 480px을 360px로 줄이면 픽셀 수가 (360/480)² = 0.5625배, 즉 약 44% 줄어듭니다. 프레임 속도는 1차로 비례해 15fps에서 10fps로 내리면 프레임 수가 3분의 1 줄어듭니다. 화면 속 글자가 읽혀야 한다면 너비를 지키고 fps를 낮추고, 빠른 동작이 핵심이면 fps를 지키고 너비를 줄이는 식으로 고릅니다.

GIF의 프레임 지연 시간은 100분의 1초 단위로만 저장됩니다. 15fps(66.7ms)를 매 프레임 7/100초로 반올림하면 약 14.3fps로 느려지므로, 이 도구는 반올림 오차를 다음 프레임으로 넘겨 7·7·6/100초처럼 섞어 씁니다. 12fps는 8·8·9/100초가 번갈아 들어가 1초에 정확히 12프레임이 됩니다. 프레임 하나하나의 간격은 최대 1/100초 들쭉날쭉하지만 전체 재생 시간은 원본 구간과 맞습니다. 25fps(4/100초)나 10fps(10/100초)처럼 100을 나누어 떨어뜨리는 값은 모든 간격이 같습니다. 긴 구간에 높은 fps를 주면 이 도구는 프레임을 최대 200장으로 제한하고 fps를 자동으로 낮춥니다.

밈 자막이 잘 읽히게 하려면

자막은 GIF 팔레트에 들어가는 색 중 하나로 그려지므로, 흰 글자와 검은 테두리는 팔레트가 작아도 거의 항상 보존됩니다. 색 글자를 쓰면 팔레트에서 그 색과 가까운 색이 없어 탁해질 수 있습니다. 긴 문장은 자동으로 줄바꿈되고, 한 덩어리가 8줄을 넘으면 마지막 줄이 「…」로 잘립니다.

영상 위에 바로 얹는 방식은 화면이 가려지고, 위아래 흰 띠를 붙이는 방식은 화면을 가리지 않는 대신 GIF 높이가 늘어나 용량도 그만큼 커집니다.

예시

균형 프리셋으로 5초 구간

입력
1920×1080 영상, 5초, 12fps, 너비 360px, 128색
결과
60프레임, 360×203px, 도구 예상치 약 2.2MB

예상치는 360×203×7비트(128색)×0.6(LZW 압축률 가정)÷8 ≈ 38,367바이트/프레임 × 60프레임입니다. 실제 크기는 화면 움직임과 색 분포에 따라 달라지며, 정지 화면이 많으면 훨씬 작아집니다.

같은 구간을 가벼운 프리셋으로

입력
5초, 8fps, 너비 240px, 64색
결과
40프레임, 240×135px, 예상치 약 0.5MB

픽셀 수는 약 44%, 프레임 수는 67%, 색 비트는 6/7로 줄어 곱하면 원래의 약 4분의 1 수준입니다. 이모티콘이나 반응짤 크기라면 이 정도로 충분합니다.

20초를 15fps로 요청했을 때

입력
구간 20초, 15fps
결과
200프레임, 실제 10fps(지연 100ms)

20×15 = 300프레임이 상한 200을 넘어서 fps가 200÷20 = 10으로 자동 조정됩니다. 긴 GIF가 필요하면 너비와 색 수를 먼저 줄이는 편이 낫습니다.

사용 방법

  1. 동영상 파일을 불러오고 필름스트립에서 시작·끝 지점을 정합니다.
  2. 프리셋을 고르거나 fps·너비·색 수를 직접 입력합니다.
  3. 필요하면 상단·하단 자막을 입력하고 배치 방식을 고릅니다.
  4. GIF를 만들고 미리 본 뒤 내려받습니다.

자주 묻는 질문

GIF 용량을 가장 효과적으로 줄이는 방법은?

너비를 줄이는 것입니다. 용량이 너비의 제곱에 비례하므로 480px을 320px로 줄이면 픽셀이 절반 이하가 됩니다. 그다음이 구간 길이와 fps, 마지막이 색 수입니다.

하늘이나 그라데이션에 줄무늬가 생겨요.

256색 이하로 줄이면서 생기는 색 띠(밴딩)입니다. 이 도구는 디더링을 하지 않으므로 색 수를 256까지 올리면 완화됩니다. 대신 용량은 늘어납니다.

15fps로 설정하면 속도가 정확한가요?

GIF 지연 시간은 1/100초 단위라 66.7ms를 그대로 담을 수 없습니다. 이 도구는 7·7·6/100초를 섞어 평균이 15fps가 되게 하므로 전체 길이는 맞습니다. 프레임 간격까지 완전히 고르게 하려면 10, 20, 25fps처럼 100으로 나누어 떨어지는 값을 쓰세요.

소리는 들어가나요?

GIF 형식에는 오디오가 없습니다. 소리가 필요하면 동영상 압축 도구로 MP4를 만드세요.

메신저에 올렸더니 움직이지 않아요.

일부 서비스는 용량이 크거나 규격을 넘는 GIF를 정지 이미지나 동영상으로 바꿔 올립니다. 서비스마다 기준이 다르고 자주 바뀌므로, 너비와 fps를 낮춰 파일을 작게 만든 뒤 다시 시도해 보세요.

출처

기준일:

개인정보와 저장 방식