블로그로 돌아가기

영상 하나에 여러 언어로 자막 넣는 방법

영상 하나에 여러 언어로 자막을 넣는 법을 정리했어요: 원어로 한 번만 전사하고 같은 타이밍 위에 언어별 번역 레이어를 추가한 다음, 파일 분리·다중 트랙 MKV·구워 넣기 중에서 전달 방식 하나를 고르면 돼요.

2026년 9월 11일
Sablate Team

다국어 자막, 즉 영상 하나에 여러 언어로 자막을 넣는 일은 긴 작업 하나가 아니라 세 가지 결정이에요: 원어로 한 번만 전사하고, 같은 타이밍 위에 다른 언어를 번역 레이어로 추가한 다음, 전달 방식을 고르는 거예요 — 파일 분리, 전환 가능한 트랙을 담은 영상 하나, 또는 언어별로 구워 넣은 영상이죠. 다국어 자막 작업이 괴로워지는 대부분의 경우는 이 순서가 뒤바뀌었기 때문이에요.

이 글에서는 실제로 통하는 순서, 번역이 타이밍과 폰트에 미치는 영향, 각 플랫폼이 실제로 받아들이는 전달 형식, 그리고 YouTube 영상에 모든 언어를 올리는 방법을 차례로 살펴봐요.

한 번만 전사하고, 레이어로 번역하기

가장 많은 시간을 잡아먹는 실수는 언어마다 음성 인식을 다시 돌리는 거예요.

음성 인식은 한 번에 두 가지 일을 해요: 텍스트를 만들고, 큐 경계 — 각 자막이 시작하고 끝나는 지점 — 를 만들죠. 텍스트는 언어마다 달라야 하지만 경계는 달라지면 안 돼요. 같은 영상을 다섯 번 전사하면 조금씩 다른 경계가 다섯 세트 생기고, 스페인어에서 싱크를 고쳐도 독일어 파일에는 아무 소용이 없어져요. 두 시간짜리 녹화라면 이 문제가 몇 배로 커지면서 작업 전체가 무너져요.

대신 대본을 번역하면 하나의 타임라인을 유지할 수 있어요:

  1. 실제 타이밍을 가진, 말한 언어의 전사 하나.
  2. 한 차례의 교정 — 이름, 제품 용어, 문장 부호.
  3. 그 교정된 텍스트를 N개 언어로 번역한 결과 — 모두 같은 큐 경계를 물려받아요.

지렛대 효과가 나오는 지점은 2단계예요. 번역 전에 고친 성씨 오타는 모든 언어에서 한 번에 고쳐지지만, 번역 후에 고치면 여덟 번 따로 고쳐야 해요. 이미 완성된 SRT가 있고 다른 언어만 필요하다면, 타이밍을 깨지 않고 SRT 번역하기에서 큐 경계를 그대로 지켜 주는 도구들을 다뤄요.

Sablate에서는 작업 구조가 실제로 이렇게 짜여 있어요: 번역은 새 작업이 아니라 기존 전사에 추가되는 레이어예요. 오프라인 번역기(Argos)는 내 기기에서 실행되고, 본인의 API 키가 있으면 DeepL, OpenAI, Claude도 쓸 수 있어요. 오프라인 경로에 대해 알아둘 점 하나: Argos는 한쪽이 영어인 쌍 말고는 거의 패키지를 내놓지 않아서, 터키어→독일어 같은 조합은 직접 연결하는 패키지가 없이 영어를 중간 경유지로 거쳐 조합돼요. 작동은 하지만, 그래서 터키어→독일어 문장이 터키어→영어 문장보다 살짝 더 딱딱하게 읽히는 거예요.

시작하기 전에 전달 방식을 정하세요

이 결정이 내보내기 전체를 좌우하니 가장 먼저 정하세요.

언어별 파일 분리MKV 하나, 언어별 트랙언어별 구워 넣은 영상
시청자가 언어를 바꿀 수 있음플랫폼에서플레이어에서불가능
스타일 유지최소한(굵게, 기울임, 색상)가능, ASS 트랙가능, 설계한 그대로
YouTube / Vimeo에서 작동가능, 파일마다 업로드불가능가능, 그냥 영상이니까
TikTok / Reels / Shorts에서 작동불가능불가능가능
오프라인/TV나 USB에서 작동파일명을 맞춰야 함가능, 파일 하나가능
영상 재인코딩 여부안 함안 함, 스트림만 복사함, 언어마다 한 번씩
9번째 언어를 추가하는 비용작은 파일 하나 더트랙 하나 더완전한 인코딩 하나 더

대부분이 정착하는 방식은 이거예요: 파일을 받아주는 플랫폼에는 파일로, 보관과 로컬 재생에는 MKV 하나로, 그리고 주요 시청자가 쓰는 언어 한두 개만 구워 넣는 거예요.

특정 플랫폼이 .srt, .vtt, .ass 중 무엇을 원하는지 헷갈린다면, 형식 비교 글에서 각각이 정확히 무엇을 담는지 확인하세요.

번역이 타이밍에 미치는 영향

번역된 자막은 특정하고 예측 가능한 방식으로 문제가 생겨요: 타이밍은 여전히 맞는데, 그 줄을 읽을 수가 없어지는 거예요.

영어를 스페인어, 프랑스어, 이탈리아어, 포르투갈어로 옮기면 보통 20~30% 더 길어져요. 독일어 복합어는 다른 방식으로 길어지는데, 단어 수는 적지만 그 단어가 42자짜리 줄에 들어가지 않아요. 큐는 화자가 말을 시작하고 끝낸 지점 그대로 시작하고 끝나요. 시청자는 그 많은 글자를 1.8초 안에 읽을 수가 없을 뿐이에요.

이걸 재는 척도가 초당 글자 수(CPS)예요. 자세한 내용은 읽기 속도 가이드에서 다루고, 기준값은 Netflix의 언어별 스타일 가이드에서 가져와요:

언어성인 프로그램 읽기 속도줄당 글자 수
영어(미국)최대 20 CPS42자
러시아어최대 17 CPS42자
한국어최대 12 CPS16자
중국어(간체)최대 9 CPS16자
일본어최대 4 CPS전각 13자

이 기준은 그냥 엄격하게 정한 숫자가 아니에요. 일본어 자막은 글자 하나에 훨씬 많은 의미를 담기 때문에 같은 1초의 말에도 화면에 필요한 글자 수가 훨씬 적어지고, 영어 기준대로 큐를 가득 채운 기계 번역은 읽을 수 없게 돼요.

해결책은 절대 타임스탬프를 옮기는 게 아니에요 — 타임스탬프는 오디오와 맞춰져 있고, 그건 바꿀 수 없는 유일한 값이니까요. 해결책은 문장을 줄이거나 큐를 둘로 나누는 거예요. Sablate 편집기는 편집하는 동안 17 CPS를 넘는 큐를 모두 표시해 주는데, 이는 대부분의 라틴·키릴 문자 언어에는 적절한 경고선이고 일본어와 한국어에는 일부러 느슨하게 잡은 기준이에요 — 이걸 통과했다고 안심할 기준이 아니라 최소 기준선으로만 여기세요.

언어마다 그릴 수 있는 폰트를 갖추세요

이 문제는 렌더링하는 순간까지는 안 보이다가, 그 순간부터 아주 잘 보여요.

디스플레이 캡션 폰트 — 캡션을 캡션답게 보이게 만드는 굵고 폭이 좁은 폰트 — 는 대부분 라틴, 키릴, 그리스 문자만 지원하고 그 외에는 지원하지 않아요. 아랍어, 히브리어, 태국어, 데바나가리, 한글, CJK 문자에 이 폰트를 쓰면 빈 사각형만 나오는데, 이미 인코딩에 20분을 쓴 영상에서 그렇게 돼요.

Sablate는 각 언어 레이어의 문자 체계를 확인해서 실제로 그 글리프를 담은 시스템 폰트로 자동 교체해요. 미리보기와 구워 넣기 모두에 똑같이 적용되니 편집기에서 본 그대로 파일에 들어가요. 각 언어 레이어는 자기만의 스타일도 따로 가지는데, 이건 폰트보다 더 중요한 문제예요: 영어에서 잘 읽히는 글자 크기가 16자짜리 한국어 줄에는 너무 큰 경우가 많으니까요.

YouTube에 여러 언어 자막 업로드하기

YouTube는 영상마다 언어별로 자막 파일 하나를 별도 단계에서 업로드받아요. 여러 언어를 한 파일에 담아 올리는 방법은 없어요 — 여러 언어는 파일이 아니라 플랫폼 안에 있는 개념이에요. 앞서 설명한 작업 흐름에는 오히려 좋은 소식이에요: 번역 레이어마다 .srt 하나로 내보내지고, 그 .srt 하나가 영상의 언어 하나가 되니까요.

먼저 영상의 언어부터 설정하세요

아무것도 업로드하기 전에 영상 자체에 설정된 언어부터 확인하세요. YouTube 도움말에 따르면 자동 자막은 영상의 기본 언어로만 생성되고, 여기서 설정한 언어는 원본 트랙의 이름표로도 쓰여요. 영상 언어가 잘못 설정돼 있으면 엉뚱한 언어의 자동 전사가 내가 올린 자막 옆에 나란히 남게 돼요.

YouTube 스튜디오에서 단계별로 따라 하기

  1. YouTube 스튜디오를 열고 왼쪽 메뉴에서 자막 항목을 고르세요.
  2. 영상을 선택하세요.
  3. 언어 추가 버튼을 누르고, 곧 업로드할 파일의 언어를 고르세요.
  4. 자막 아래의 추가 버튼을 누른 다음 파일 업로드 항목을 고르세요.
  5. 타이밍 정보가 담긴 파일을 올리는 옵션(영어 인터페이스에서는 With timing)을 고르고 계속하세요 — SRT나 VTT 파일에는 이미 타임스탬프가 들어 있으니까요.
  6. 그 언어의 파일을 고르고 저장 버튼을 누르세요.
  7. 나머지 언어마다 3~6단계를 반복하세요.

제목과 설명 번역은 언어별로 같은 행에 있고, 각각 자기 열이 따로 있어요. 채워 둘 만한 가치가 있어요: 스페인어로 검색하는 시청자에게는 스페인어 제목이 보이니까요.

시청자에게 실제로 보이는 모습

업로드한 언어는 하나하나 플레이어의 자막 메뉴에 나타나고, 시청자가 그중 하나를 골라요. YouTube는 모든 캡션을 플레이어 자체 스타일로 렌더링하고 시청자마다 스타일을 직접 바꿀 수도 있어서, 내 파일에 넣은 폰트와 색상은 아무에게도 그대로 보이지 않아요. 모양이 영상의 일부라면 그 언어는 구워 넣고, 나머지는 파일로 올리세요.

YouTube 자체 자동 번역은 무료고 즉시 처리되니 비용 면에서는 정말 이기기 어려워요 — 하지만 자체 자동 전사를 번역하는 방식이라, 음성 인식이 틀린 단어는 모든 언어에서 그대로 틀리게 돼요. 내가 교정한 번역을 직접 올리면 중요한 언어에서는 그런 추측에 맡기지 않아도 돼요.

도구별로 뭐가 되고 뭐가 안 되는지

SablateYouTube 자동 번역Subtitle Edit클라우드 캡션 도구
가격$29 일회성무료무료, 오픈소스월 구독
영상이 내 기기 밖으로 나감클라우드 API 키를 켜지 않으면 안 나감나감안 나감나감
전사 하나로 여러 언어 레이어가능가능, 자체 전사 기준가능, 수동으로다양함
언어별 스타일과 문자 폰트가능불가능, 플레이어 스타일만불가능거의 없음
다중 트랙 MKV 내보내기가능 (Pro)불가능외부 먹싱으로불가능
긴 녹화Pro는 길이 제한 없음영상 전체제한 없음보통 분당 과금
영상 전체를 무료로 처리불가능 — 무료는 10분가능, 길이 무관가능, 전부 다보통 워터마크 있음

Subtitle Edit에는 솔직한 평가가 필요해요: 무료이고 훌륭하며 전사와 번역도 할 수 있어요. 대신 그만큼 설정을 요구해요 — 모델, 도구, 먹싱을 따로따로 구성해야 하고 — 스타일이 입혀진 구워 넣기는 만들지 못해요. 이런 설정을 즐기는 사람에게는 이 분야 최고의 무료 답이에요.

결과물 내보내기

레이어가 다 만들어지면 내보내기는 짧은 작업이에요:

  • 언어별 자막 파일 — 플랫폼 업로드용으로 언어마다 .srt, .vtt, .txt 중 하나.
  • 모든 언어를 담은 MKV 하나 — 각 언어를 올바른 언어 태그와 함께 자체 ASS 트랙으로 기록하고, 캡션 폰트를 파일에 첨부하고, 첫 트랙을 기본값으로 지정해요. 영상과 오디오는 스트림 복사만 하므로 재인코딩이 없고 내보내기가 인코딩이 아니라 몇 초 만에 끝나요. Pro.
  • 구워 넣은 영상 — 언어마다 16:9, 9:16, 1:1 중 하나로 렌더링 하나씩. TikTok, Reels, Shorts에서 살아남는 유일한 전달 방식이에요. 구워 넣기가 작동하는 방식에서 품질 관련 내용을 다뤄요.

무료 요금제에서는 작업 하나에 오프라인 번역 레이어 하나가 붙고, 10분 벽을 처음 넘는 작업에는 레이어 세 개가 붙을 수도 있어요. Pro는 $29 한 번의 결제로 이 제한을 모두 없애요 — 정확히 무엇이 포함되는지는 가격에서 확인하세요.

한 줄 요약

다국어 자막은 전사 여러 개가 아니라 전사 하나에 레이어 여러 개예요. 한 번만 전사하세요. 번역하기 전에 그 대본을 교정하세요. 같은 타이밍 위에 언어를 레이어로 추가하세요. 텍스트가 바뀌면 읽기 속도와 폰트도 함께 바뀌니 언어별로 확인하세요. 그런 다음 플랫폼이 실제로 받아들이는 전달 방식 하나로 내보내세요 — 그 답이 “셋 다”라 해도, 결국 해야 할 작업은 똑같아요.

자주 묻는 질문

영상 하나에 여러 언어로 자막을 넣으려면 어떻게 해야 하나요?

영상을 원어로 한 번만 전사한 다음 그 대본을 교정하고, 같은 타이밍 위에 레이어로 각 언어를 번역해요. 그다음 전달 방식을 고르면 돼요: 언어별 자막 파일 하나, 언어를 트랙으로 전환할 수 있는 영상 파일 하나, 또는 언어별로 구워 넣은 영상 하나예요. 순서가 중요한 이유는 번역 전에 고친 오류는 다시 고칠 필요가 없다는 점이에요.

영상을 번역해야 할까요, 자막 파일을 번역해야 할까요?

자막 파일을 번역하세요. 타이밍은 이미 정확하게 존재하니 번역은 그 타이밍을 그대로 쓰는 텍스트 작업이 돼요. 언어마다 음성 인식을 다시 돌리면 언어마다 큐 경계가 달라져서 각 언어가 따로따로 어긋나고, 결국 같은 싱크 문제를 여러 번 반복해서 고치게 돼요.

MP4 하나에 여러 언어 자막을 담을 수 있나요?

확실하게는 안 돼요. MP4에도 자막 트랙 타입이 있지만 플레이어마다 지원이 제각각이고 스타일은 대부분 사라져요. 이런 용도로 만들어진 컨테이너는 MKV예요 — 언어별 자막 트랙과 첨부 폰트를 함께 담아서 플레이어에서 언어를 바로 전환할 수 있어요. MP4로 배포해야 한다면 언어별 파일을 따로 주거나, 언어별로 하나씩 구워 넣으세요.

번역한 자막이 타이밍에 안 맞는 이유는 뭔가요?

언어마다 길이가 다르기 때문이에요. 영어를 스페인어, 프랑스어, 독일어로 옮기면 보통 20~30% 더 길어지는데, 읽는 시간은 원래와 똑같아야 해요. 큐가 깨지는 게 아니라 읽기 속도가 깨지는 거예요. 해결하려면 타임스탬프를 옮기지 말고 문장을 줄이거나 큐를 나누세요.

번역한 자막에는 다른 폰트가 필요한가요?

많은 경우 그래요. 대부분의 디스플레이 캡션 폰트는 라틴, 키릴, 그리스 문자만 지원해요. 아랍어, 히브리어, 태국어, 데바나가리, 한글, CJK(한중일) 문자는 해당 글리프를 실제로 담은 폰트가 있어야 하고, 없으면 구워 넣은 결과물에 빈 사각형만 나와요. 이 문제는 렌더링할 때만 드러나기 때문에 열두 개 언어를 내보내기 전에 미리 확인해 둘 만해요.

영상 하나에 언어가 너무 많아지는 기준이 있나요?

전환 가능한 MKV나 파일 세트라면 실질적인 한계는 없어요 — 언어를 추가해도 파일이 하나 늘 뿐, 렌더링이 늘지는 않으니까요. 구워 넣는 방식은 다르게 한계가 있는데, 언어마다 별도의 영상 인코딩과 별도의 업로드가 필요하기 때문이에요. 대부분은 주요 시청자가 쓰는 언어 한두 개만 구워 넣고, 나머지는 파일로 배포해요.

YouTube 영상에 여러 언어 자막을 넣으려면 어떻게 해야 하나요?

언어마다 자막 파일을 하나씩 업로드하세요. YouTube 스튜디오에서 자막을 열고 영상을 선택한 뒤 언어 추가를 누르고, 자막 아래의 추가를 눌러 파일 업로드와 타이밍 정보가 담긴 파일을 올리는 옵션(영어 인터페이스에서는 With timing)을 고른 다음 그 언어의 SRT나 VTT 파일을 선택해요. 언어마다 반복하면 돼요. 그러면 시청자가 플레이어의 자막 메뉴에서 언어를 고르고, 자막은 모두 YouTube 자체 스타일로 표시돼요.