블로그로 돌아가기

영상에 자막 굽는 방법 (어디에도 업로드하지 않고)

내 컴퓨터에서 영상에 자막을 굽는 법을 정리했어요: 실제로 통하는 방법 네 가지를 비교하고, 그대로 쓸 수 있는 FFmpeg 명령어와 재인코딩으로 생기는 품질 손실을 피하는 방법까지 자세히 다뤄요.

2026년 9월 11일
Sablate Team

영상에 자막을 굽는다는 건 텍스트를 화면 자체에 그려 넣고 다시 인코딩하는 일이에요. 그래서 캡션이 파일과 함께 픽셀로 옮겨 다녀요. 자막 파일을 전혀 받지 않는 TikTok, Reels, Shorts에는 이 방법이 꼭 필요하고, 캡션이 접근성 옵션이 아니라 디자인의 일부일 때도 마찬가지예요. 이 작업에는 아무것도 업로드할 필요가 없어요 — FFmpeg, HandBrake, 데스크톱 자막 앱은 모두 브라우저 도구가 가진 파일 크기 한계 없이 로컬에서 처리해요.

여기서는 자막을 굽는 네 가지 방법, 실제로 작동하는 명령어, 그리고 품질을 실제로 떨어뜨리는 두 가지 요인을 다뤄요.

구워 넣기가 정답인 순간

구워 넣기(하드서브)자막 파일 또는 트랙(소프트서브)
시청자가 끌 수 있음아니요
TikTok, Reels, Shorts에서 작동아니요, 지원 안 됨
YouTube, Vimeo에서 작동네, 검색도 가능
접근성 준수로 인정됨대부분 아니요
검색 엔진에 색인됨아니요
나중에 오타 고치기영상을 다시 렌더링텍스트 파일을 편집
파일 하나에 여러 언어아니요, 언어마다 렌더링네, 언어마다 트랙
스타일이 정확히 유지됨ASS 트랙에서만

대부분에게 실용적인 답은 둘 다예요: 다른 방법이 통하지 않는 세로형 소셜 플랫폼에는 구워 넣고, 자막 파일을 받아주는 곳에는 어디든 파일을 함께 보내세요. 파일은 검색되고, 전환되고, 고칠 수 있으니까요. 작업 하나로 둘 다 얻고 싶다면 다국어 작업 흐름에서 같은 타임라인으로 두 결과물을 모두 만드는 방법을 다뤄요.

자막을 굽는 네 가지 방법

FFmpegHandBrake브라우저 도구데스크톱 자막 앱
가격무료무료무료 등급 이후 구독일회성 또는 구독
영상을 업로드함아니요아니요네, 파일 전체를아니요
파일 크기/길이 제한없음없음있음, 보통 엄격함없음
자막을 만들어줌아니요아니요
스타일 제어ASS나 force_style을 통해제한적템플릿완전함, 실시간 미리보기 포함
학습 곡선명령줄보통없음낮음

솔직하게 짚을 점 두 가지가 있어요. FFmpeg와 HandBrake는 이 작업에서 무료이면서도 훌륭해요. 완성된 자막 파일이 이미 있다면 FFmpeg는 명령어 한 줄로 끝나니 굳이 다른 걸 살 이유가 없어요. 이 둘이 못 하는 건 자막을 만드는 일이에요 — 이미 다른 곳에서 타이밍을 맞추고 교정한 파일을 구워 넣기만 해요. 브라우저 도구는 자막을 직접 만들어주지만 업로드가 선택이 아니라 필수라서, 기밀 자료나 용량 상한을 넘는 영상에는 쓸 수 없어요.

FFmpeg로 구워 넣기

일반 SRT라면:

ffmpeg -i input.mp4 -vf "subtitles=subs.srt" -c:a copy output.mp4

스타일이 있는 ASS 파일이라면 스타일이 뭉개지지 않고 그대로 적용되도록 subtitles 대신 ass 필터를 쓰세요:

ffmpeg -i input.mp4 -vf "ass=subs.ass" -c:a copy output.mp4

기본값을 그대로 받는 대신 품질을 직접 지정하려면:

ffmpeg -i input.mp4 -vf "subtitles=subs.srt" \
  -c:v libx264 -crf 18 -preset slow -c:a copy output.mp4

SRT를 다른 형식으로 바꾸지 않고 스타일만 다시 입히려면:

ffmpeg -i input.mp4 \
  -vf "subtitles=subs.srt:force_style='FontName=Arial,FontSize=24,Outline=2'" \
  -c:a copy output.mp4

Windows의 함정. 필터 안의 경로는 셸이 아니라 필터 자체가 해석하기 때문에 드라이브 문자의 콜론과 백슬래시를 이스케이프해야 해요. 파일이 분명히 있는데도 명령어가 "파일을 찾을 수 없다"는 오류로 실패하는 가장 흔한 원인이 바로 이거예요:

ffmpeg -i input.mp4 -vf "subtitles='C\:/Videos/subs.srt'" -c:a copy output.mp4

가능하면 자막 파일을 작업 디렉터리 안에 두고 파일명만 그대로 넘기세요 — 그러면 이 문제 자체가 생기지 않아요.

실제로 품질을 깎아먹는 것

두 가지 요인이 있고, 구워 넣기 자체는 그 이유가 아니에요.

이미 압축된 파일을 다시 인코딩하는 것. 구워 넣기는 재인코딩을 거쳐야 하고, 그건 손실이 있는 과정이에요. 마스터 파일에 하면 눈에 보이는 손실이 거의 없어요. 플랫폼이 이미 압축한 파일에 하면 압축 손상을 또 압축하는 셈이 되고, 그 지점에서 블록 현상과 뭉개짐이 나타나요. 항상 갖고 있는 가장 고품질인 버전에서 시작하고, 이미 한 번 구워 넣은 파일에 캡션을 다시 굽지 마세요.

기본 인코더 설정을 그대로 받는 것. x264에서 -crf 18은 대부분의 콘텐츠에서 눈으로 거의 구분이 안 되고, 기본값인 23은 디테일이 많은 영상에서 눈에 띄게 뭉개져요. -preset slow는 시간을 더 쓰는 대신 같은 품질에서 파일을 더 작게 만들어줘요. 그리고 -c:a copy는 오디오 스트림을 그대로 두는데, 화면만 바꾸는 작업에서 오디오를 다시 인코딩할 이유는 없으니까요.

렌더링 결과가 미리보기와 다른 이유

원인은 두 가지이고, 둘 다 인코딩을 하기 전에 고칠 수 있어요.

폰트. 렌더러는 찾을 수 있는 폰트로 그려요. 선택한 폰트가 설치돼 있지 않거나 해당 문자를 그릴 수 없으면 — 대부분의 디스플레이 캡션 폰트는 라틴, 키릴, 그리스 문자만 지원하고 그 외에는 지원하지 않아요 — 다른 폰트로 대체되고, 아랍어, 태국어, 한글, CJK 문자는 빈 사각형으로 나올 수 있어요. 열두 개 언어를 렌더링하고 나서가 아니라 하기 전에 폰트를 확인하세요.

캔버스 크기. ASS의 위치와 폰트 크기는 영상의 픽셀 크기가 아니라 파일에 선언된 가상 캔버스를 기준으로 정해져요. 캔버스를 고정하지 않으면 같은 폰트 크기라도 1080p와 4K 소스에서 화면에 보이는 글자 크기가 달라져요. Sablate는 캡션 캔버스를 높이 1080의 가상 프레임으로 고정하고, 회전 메타데이터를 포함한 소스의 실제 비율에서 너비를 계산해요. 그래서 어떤 해상도로 찍었든 폰트 크기가 항상 같은 의미를 가지고, 편집기 미리보기도 렌더러가 쓰는 것과 정확히 같은 캔버스를 기준으로 스케일을 맞춰요.

도구마다 구워 넣기 품질이 이렇게까지 차이 나는 이유도 여기에 있어요. 많은 온라인 편집기는 캡션을 평평한 텍스트 오버레이로 합성하지만, Sablate의 구워 넣기는 미디어 플레이어가 ASS 자막에 쓰는 것과 같은 엔진인 libass로 렌더링해요. 그래서 외곽선, 그림자, 단어 단위 카라오케 타이밍, 문자 체계에 맞는 폰트까지 근사한 그래픽이 아니라 진짜 자막 타이포그래피로 나와요.

세로형과 정사각형 출력

영상이 Reels, Shorts, TikTok으로 갈 예정이라면 나중에 자르지 말고 렌더링하는 동안 비율을 변환하세요. 완성된 16:9 구워 넣기를 9:16으로 자르면 화면과 함께 캡션의 양쪽도 잘려나가요.

Sablate는 16:9(1920×1080), 9:16(1080×1920), 1:1(1080×1080)로 렌더링하는데, 목표 프레임에 맞춰 자르거나 소스를 블러 처리한 배경으로 채우고, 캡션은 최종 프레임에 맞춰 배치해요. 세로 프레임에서는 텍스트를 화면 아래 5분의 1 밖에 두세요 — 대부분의 휴대폰에서는 그 영역을 플랫폼 자체 인터페이스가 차지하니까요.

명령줄 없이 하는 방법

교정된 자막 파일이 아직 없다면, 구워 넣기는 더 긴 작업의 마지막 단계일 뿐이에요: 전사하고, 교정하고, 스타일을 입히고, 렌더링하는 거죠. Sablate는 이 과정 전체를 내 컴퓨터 안에서 끝까지 처리해요 — 로컬에서 실행되는 Whisper 전사, 타임라인 재조정과 읽기 속도 경고가 있는 편집기, 13가지 캡션 프리셋, 그리고 미리보기와 똑같이 나오는 구워 넣기까지요.

구워 넣기는 무료 요금제에서도 작은 워터마크와 함께 쓸 수 있고, Pro는 워터마크를 없애고 .ass, 다중 트랙 .mkv, 일괄 내보내기까지 $29 한 번의 결제로 더해줘요. 다운로드하거나 전체 내용은 가격 페이지에서 확인하세요.

한 줄 요약

플랫폼이 자막 파일을 전혀 읽지 못하거나 캡션이 그 자체로 디자인의 일부일 때는 구워 넣으세요 — 그 외에는 어디든 자막 파일을 함께 보내세요. 고칠 수 있는 텍스트가 고칠 수 없는 픽셀보다 나으니까요. 업로드용 복사본이 아니라 마스터 파일에서 렌더링하세요. CRF 18을 쓰고 오디오는 복사만 하세요. 그리고 인코딩에 시간을 쓰기 전에 폰트와 캔버스를 확인하세요 — 완벽한 자막 파일을 잘못 나오게 만드는 두 가지 원인이 바로 그거니까요.