cv.cm

AI · AI 숏폼 영상

AI로 영상에 자동 자막 넣는 법

10분 분량

핵심 답변

자동 자막을 넣으려면 Whisper 같은 음성 인식 모델에 오디오를 돌리고, 이름과 숫자를 바로잡은 뒤, 텍스트를 한 줄 약 42자(중국어는 16자) 이내의 짧은 줄로 나누세요. 읽기 속도는 초당 약 20자 이하로 유지하고, SRT나 WebVTT 파일로 내보냅니다. 이 파일을 소프트 자막으로 올리거나 영상에 직접 입히면 됩니다.

음성 텍스트 변환 열기

AI 자막 생성기는 실제로 무엇을 할까

자동 자막은 자동 음성 인식(ASR)에서 나옵니다. 모델이 오디오 트랙을 듣고 문장마다 시작·종료 시간이 붙은 텍스트를 써 내는 방식이에요. Whisper는 대표적인 오픈 모델로, 논문에 따르면 68만 시간의 다국어 오디오로 학습했습니다. 그래서 모델 하나로 여러 언어를 받아쓰고 영어로 번역까지 할 수 있습니다. 모델 내부가 궁금하다면 음성 인식(speech-to-text) 원리 가이드를 참고하세요.

ASR의 결과물은 완성된 자막이 아니라 초안입니다. 유튜브의 자동 자막 도움말도 품질이 다를 수 있으니 항상 검토하고 제대로 인식되지 않은 부분을 고치라고 안내합니다. 좋은 자막이 되려면 원본 받아쓰기에 없는 세 단계가 더 필요해요. 오류 수정, 읽기 좋은 줄로 나누기, 읽을 수 있게 각 줄의 타이밍 맞추기입니다.

영상에서 자막을 만드는 곳은 크게 세 군데입니다. 플랫폼 안(유튜브, 틱톡, 인스타그램 모두 어떤 형태로든 자동 자막을 제공합니다), 편집기 안(캡컷 또는 지엔잉, 프리미어 프로, 다빈치 리졸브, Descript), 그리고 자막 파일을 내보내 주는 별도의 받아쓰기 도구입니다. 별도 파일이 가장 자유롭게 다룰 수 있고 모든 플랫폼에서 재사용할 수 있어요. 예를 들어 cv.cm의 음성 인식 도구는 브라우저에서 Whisper를 돌려 오디오를 업로드하지 않고 TXT, SRT, VTT로 내보냅니다.

단계별 작업 순서

  1. 최종 편집본에서 깨끗한 오디오 트랙을 내보냅니다. 자막은 올릴 컷과 일치해야 하므로, 화면이 확정된 뒤 마지막에 받아쓰세요.
  2. Whisper급 모델로 받아쓰기를 합니다. 언어를 알고 있다면 직접 지정하세요. 짧은 클립이나 음악으로 시작하는 클립은 자동 감지가 틀릴 수 있습니다.
  3. 소리를 들으면서 받아쓴 글을 읽습니다. 이름, 브랜드명, 숫자, 전문 용어, 발음이 비슷한 단어를 고치세요.
  4. 텍스트를 자막 카드로 나눕니다. 카드당 한두 줄의 짧은 문장으로, 자연스러운 어구 경계에서 끊어요.
  5. 타이밍을 확인합니다. 각 카드는 말이 시작될 때 나타나고, 읽을 수 있을 만큼 오래 머물러야 합니다.
  6. 화면에 맞게 스타일을 정합니다. 글꼴 크기, 외곽선이나 박스, 세이프 존 안의 위치를 정하세요.
  7. 전달합니다. SRT나 VTT를 자막 트랙으로 올리거나, 자막을 영상에 입히거나, 둘 다 하면 됩니다.

줄 길이와 읽기 속도 기준

전문 자막 가이드는 시청자가 화면을 놓치지 않고 읽을 수 있도록 엄격한 한계를 둡니다. 넷플릭스는 언어별 타임드 텍스트 스타일 가이드를 공개하고 있고, 출발점으로 삼을 만한 검증 가능한 수치입니다.

언어 (넷플릭스 가이드)한 줄 글자 수카드당 줄 수읽기 속도, 성인읽기 속도, 어린이
영어 (미국)42최대 2줄초당 최대 20자초당 최대 17자
중국어 (간체)16최대 2줄초당 최대 9자초당 최대 7자

영어 가이드는 줄을 나누는 위치도 설명합니다. 문장 부호 뒤, 접속사 앞, 전치사 앞에서 나눕니다. 관사는 명사와, 형용사는 명사와, 이름은 성과 붙여 두라고 해요.

읽기 속도 규칙을 실제로 적용해 보겠습니다. Three things nobody tells you about captions라는 카드는 공백을 포함해 44자입니다. 초당 20자 기준이면 화면에 최소 2.2초 있어야 하죠. 화자가 이 문장을 1.5초에 말한다면 카드를 더 오래 보여 주거나 글을 줄여야 합니다. 예를 들어 Three things nobody tells you(29자, 약 1.5초)로 줄일 수 있어요.

세로 숏폼은 TV 화면보다 기준이 더 빡빡해야 합니다. 가로 1080픽셀의 휴대폰 프레임에 크고 굵은 글자를 쓰면 한 줄에 42자는 한참 못 들어갑니다. 실제로는 한 줄에 라틴 문자 약 20~30자, 한글이나 중국어는 8~12자 정도가 휴대폰에서 읽기 좋아요. 짧은 구절 하나씩 카드로 보여 주고 카드를 자주 바꾸는 크리에이터가 많습니다.

SRT와 WebVTT: 두 가지 자막 파일 형식

거의 모든 플랫폼과 편집기가 SRT를 받습니다. WebVTT(VTT)는 웹 자막을 위한 W3C 형식으로, HTML 영상 요소에서 쓰입니다. 두 형식은 거의 비슷하게 생겼어요.

SRT (file: captions.srt)

1
00:00:00,000 --> 00:00:01,600
Three things nobody tells you

2
00:00:01,600 --> 00:00:03,400
about auto captions.

WebVTT (file: captions.vtt)

WEBVTT

00:00:00.000 --> 00:00:01.600
Three things nobody tells you

00:00:01.600 --> 00:00:03.400 line:70%
about auto captions.
  • SRT는 카드마다 번호를 붙이고 밀리초 앞에 쉼표를 씁니다. 예: 00:00:01,600.
  • WebVTT는 WEBVTT 줄로 시작하고, 밀리초 앞에 마침표를 쓰며(00:00:01.600), 카드 번호가 필요 없습니다.
  • WebVTT는 타이밍 뒤에 line, position, align 같은 큐 설정을 붙여 카드의 화면 위치를 정할 수 있습니다. 모든 플레이어가 이를 지원하지는 않아요.
  • 악센트와 한글·한자 같은 문자가 깨지지 않도록 둘 다 UTF-8 텍스트로 저장하세요.

하드코딩 자막과 소프트 자막

종류설명적합한 경우단점
소프트 자막 (자막 트랙)플레이어가 위에 그려 주는 별도의 SRT 또는 VTT 파일유튜브 업로드, 여러 언어, 접근성, 검색용 텍스트모든 숏폼 앱이 파일 업로드를 받지는 않고, 스타일은 플레이어 마음
하드코딩(오픈) 자막영상 픽셀에 글자를 직접 그려 넣음소리를 끄고 보는 사람이 많은 틱톡·릴스·쇼츠, 스타일을 완전히 통제하고 싶을 때끄거나 번역할 수 없고, 오류가 있으면 다시 내보내야 함

숏폼 앱용으로는 스타일을 입힌 하드코딩 자막을, 유튜브용으로는 깔끔한 SRT를 함께 쓰는 크리에이터가 많습니다. 아래 ffmpeg 명령어가 각 방식을 보여 줍니다. subtitles 필터는 libass가 포함된 ffmpeg 빌드가 필요해요.

# Burn captions into a 1080x1920 video (white text, black outline, raised above the bottom UI)
ffmpeg -i final.mp4 \
  -vf "subtitles=captions.srt:force_style='FontName=Arial,FontSize=12,Bold=1,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,BorderStyle=1,Outline=2,Alignment=2,MarginV=100'" \
  -c:v libx264 -crf 18 -pix_fmt yuv420p -c:a copy captioned.mp4

# Add a soft caption track to an MP4 without re-encoding the video
ffmpeg -i final.mp4 -i captions.srt -map 0 -map 1 -c copy -c:s mov_text \
  -metadata:s:s:0 language=eng soft_captions.mp4

하드코딩 명령어에서 SRT 파일은 높이 288 단위의 가상 캔버스에 그려지므로 FontSize=12는 1920픽셀 프레임에서 약 80픽셀이고, MarginV=100은 글자를 아래쪽에서 3분의 1쯤 위로 올립니다. 짧은 클립 하나로 테스트해 보고 조정하세요.

세로 영상용 자막 스타일

  • 위치: 앱이 계정 이름, 설명, 버튼을 보여 주는 하단 3분의 1은 피하세요. 세이프 존 픽셀 값은 세로 영상 사이즈 가이드를 참고하세요.
  • 크기: 편집기에서 크게 보이는 글자가 휴대폰에서는 딱 적당한 경우가 많습니다. 실제 휴대폰을 팔 길이만큼 떨어뜨려 놓고 확인하세요.
  • 대비: 어두운 외곽선이나 반투명 박스를 두른 흰색 또는 노란색 글자는 어떤 배경 위에서도 읽힙니다.
  • 얼굴을 가리지 마세요. 화자의 얼굴이 프레임 가운데에 있다면 자막은 입이 아니라 턱 바로 아래에 두세요.
  • 영상 하나에는 스타일 하나. 카드마다 글꼴과 색을 바꾸면 시청자가 글이 아니라 스타일을 읽게 됩니다.

단어별 또는 노래방식 자막은 한 번에 한두 단어씩 보여 주면서 말하는 단어를 강조합니다. 단어 단위 타임스탬프가 필요한데 Whisper급 도구가 만들어 줍니다. 말이 빠른 토킹 헤드 클립에서는 시선을 화면에 붙잡아 두지만, 긴 설명에서는 눈이 피로합니다. 후킹이나 펀치라인에 쓰고 나머지에는 보통의 두 줄 카드를 쓰세요.

자막 번역하기

원본 받아쓰기가 아니라 교정을 마친 원본 자막을 번역하세요. 카드 타이밍은 그대로 두고 카드 단위로 번역하면 번역된 줄이 말하는 순간과 계속 맞습니다.

번역하면 길이가 바뀝니다. 같은 내용이라도 스페인어와 독일어는 보통 영어보다 글자 수가 많고, 중국어와 일본어는 글자 수는 적지만 읽기 속도 한계가 훨씬 낮습니다. 번역한 뒤에는 모든 카드를 대상 언어의 줄 길이와 읽기 속도 기준에 맞춰 보고, 필요하면 줄이세요. 자막 파일의 기계 번역은 빠른 초안으로는 좋지만, 게시하기 전에 그 언어에 능숙한 사람이 읽어 봐야 합니다.

자동 자막의 흔한 오류와 한계

  • 이름과 신조어: 모델은 가장 비슷한 흔한 단어를 씁니다. 이름과 브랜드 표기 목록을 만들어 두고 받아쓴 글에서 검색해 보세요.
  • 숫자: 가격, 날짜, 수치를 말한 내용과 하나하나 대조하세요. 자막의 틀린 숫자는 자막이 없는 것보다 나쁩니다.
  • 음악과 소음: 배경 음악, 군중 소리, 겹치는 말소리는 정확도를 떨어뜨립니다. 가능하면 음악을 낮춘 버전으로 받아쓰세요.
  • 무음 구간의 글자: 실제로 ASR 모델이 긴 무음이나 음악만 나오는 부분에서 말을 지어내는 경우가 있습니다. 아무도 말하지 않는 곳에 나온 카드는 지우세요.
  • 혼합 언어: 언어를 오가는 클립은 한 언어로만 받아쓰기가 될 수 있습니다. 나누어서 각 부분마다 언어를 직접 지정해 받아쓰세요.
  • 접근성: 청각 장애인과 난청 시청자를 위한 자막에는 [문 닫히는 소리]처럼 중요한 소리 표시도 넣어야 하는데, ASR은 이를 넣어 주지 않습니다.

자주 묻는 질문

영상에서 자막을 무료로 만들려면 어떻게 하나요?

Whisper 기반 받아쓰기 도구나 편집기의 내장 자동 자막을 쓰고 SRT 파일로 내보내세요. 게시하기 전에 텍스트를 확인하고 고쳐야 합니다.

유튜브 자동 자막은 정확한가요?

쓸 만한 경우가 많지만 이름, 숫자, 소음이 있는 오디오에서는 믿기 어렵습니다. 유튜브 스스로도 품질이 다를 수 있으니 검토하고 수정하라고 안내합니다.

SRT와 VTT는 무엇이 다른가요?

둘 다 자막 텍스트와 시작·종료 시간을 나열합니다. SRT는 밀리초 앞에 쉼표를 쓰고 카드에 번호를 붙입니다. WebVTT는 WEBVTT로 시작하고 마침표를 쓰며 위치 설정을 넣을 수 있습니다.

자막은 한 줄에 몇 글자가 좋나요?

넷플릭스 영어 가이드는 한 줄 42자, 최대 2줄을 허용하고, 중국어 간체 가이드는 한 줄 16자를 허용합니다. 세로 숏폼에서는 더 짧은 줄이 읽기 좋습니다.

자막은 영상에 입히는 게 좋을까요, SRT로 올리는 게 좋을까요?

소리를 끄고 보는 사람이 많고 스타일을 고정하고 싶은 틱톡, 릴스, 쇼츠에는 영상에 입히세요. 유튜브나 다른 언어에는 시청자가 자막을 켜고 끌 수 있도록 SRT를 올리세요.

AI 튜토리얼 전체