블로그로 돌아가기
활용 사례•2022-01-10•8 min 읽기

SRT 파일 만드는 법과 동영상에 자막 추가하기

SRT 파일 만드는 법과 동영상에 자막 추가하기
TL
Team Laxis
Laxis 팀 @ Laxis

SRT 파일이란

SRT 파일은 어떤 글자를 정확히 언제 보여 줄지 동영상 플레이어에 알려 주는 일반 텍스트 자막 파일입니다. SRT는 SubRip Subtitle의 약자로, 이 파일을 처음 만든 프로그램인 SubRip에서 이름을 따왔습니다. 안에는 번호가 매겨진 블록만 있으며, 각 블록은 시작·종료 타임코드 한 쌍과 한두 줄의 텍스트로 이루어져 있습니다.

동영상도, 오디오도, 스타일도 담겨 있지 않고, 동영상을 읽거나 그 안에서 무언가를 뽑아내지도 않습니다. 파일은 동영상 옆에 놓이고, 플레이어가 시간을 기준으로 둘을 맞춥니다. 대부분의 SRT 문제는 여기서 설명됩니다. 타임코드가 틀리면 자막도 틀립니다.

SRT 파일 안은 어떻게 생겼나

아무 .srt나 일반 텍스트 편집기로 열면 네 부분으로 된 똑같은 블록이 반복되는 것을 볼 수 있습니다.

1
00:00:01,000 --> 00:00:03,400
제품 소개에 오신 것을 환영합니다.

2
00:00:03,600 --> 00:00:07,200
먼저 대시보드부터 살펴보고,
이어서 보고서로 넘어가겠습니다.

3
00:00:07,400 --> 00:00:10,100
이 화면의 모든 데이터는 실시간입니다.

이것이 완전하고 유효한 SRT 파일입니다. 각 부분은 다음과 같은 모양이어야 합니다.

부분위 예시에서형식 요구 사항
순번2한 줄에 단독으로 놓인 정수. 1부터 시작해 하나씩 늘리고, 건너뛰지 않음.
타임코드 줄00:00:03,600 --> 00:00:07,200HH:MM:SS,mmm --> HH:MM:SS,mmm. 시·분·초는 두 자리, 밀리초는 세 자리, 밀리초 앞에는 쉼표, 두 값 사이에는 "공백-화살표-공백".
자막 텍스트먼저 대시보드부터 살펴보고,한두 줄의 일반 텍스트. 여기서 줄을 바꾸면 화면에서도 줄이 바뀜.
빈 줄(각 블록 뒤의 빈 줄)빈 줄 하나로 블록을 닫음. 파일은 줄바꿈으로 끝냄.

밀리초 앞의 쉼표는 손으로 쓴 자막 파일에서 가장 흔한 실수입니다. 00:00:03.600처럼 마침표로 쓴 타임코드는 WebVTT 문법이지 SRT가 아닙니다. 어떤 플레이어는 그 블록을 건너뛰고, 어떤 플레이어는 파일 전체를 거부하며, 어떤 플레이어는 그 지점부터 자막을 더 이상 표시하지 않습니다.

그래서 다음은 거의 똑같아 보여도 잘못된 예입니다.

2
00:00:03.600 --> 00:00:07.200
이 블록은 마침표를 사용하므로 유효한 SRT가 아닙니다.

자막을 읽기 쉽게 만드는 규칙

문법상으로는 300자짜리 문단을 화면에 0.2초만 띄워도 막을 방법이 없습니다. 가장 널리 쓰이는 공개 자막 가이드라인은 Netflix의 것으로, 누구나 무료로 읽을 수 있습니다.

  • 한 줄 길이: 약 42자. Netflix의 English Timed Text Style Guide는 한 줄에 42자를 엄격한 상한으로 정합니다.
  • 최대 두 줄. Netflix의 일반 타임드 텍스트 요구 사항은 자막을 두 줄로 제한하며, 상한을 넘지 않으면 한 줄로 유지합니다.
  • 표시 시간: 대략 1~7초. 같은 요구 사항은 자막 하나당 최소 6분의 5초, 최대 7초를 정합니다.
  • 읽기 속도. Netflix는 성인 프로그램에 초당 최대 20자, 어린이 프로그램에 최대 17자를 허용합니다. 시청자를 모른다면 17이 더 안전한 목표입니다.
  • 구가 끊기는 곳에서 줄을 바꾸세요. Netflix의 지침은 문장 부호 뒤, 접속사 앞, 전치사 앞에서 줄을 바꾸고, 관사와 명사, 이름과 성을 절대 떼어 놓지 말라는 것입니다.

말로 한 문장은 보통 두세 개의 블록이 필요합니다. 그래서 자막 텍스트는 같은 오디오의 전사본보다 짧고 훨씬 많이 잘려 나갑니다.

SRT 파일 만드는 방법

현실적인 방법은 세 가지이며, 주된 차이는 얼마나 많이 타이핑하느냐입니다.

일반 텍스트 편집기에서 직접 입력하기

짧은 클립이라면 이것이 가장 빠른 방법입니다. 위에 나온 모양대로 블록을 입력하고 저장하세요. 잘못되기 쉬운 곳은 네 가지입니다.

  • 확장자. Windows는 알려진 확장자를 숨기기 때문에, 메모장은 captions.srt.txt로 저장합니다. "파일 형식"을 "모든 파일"로 바꾸고 captions.srt를 끝까지 입력하세요. macOS의 텍스트 편집기에서는 먼저 "포맷" > "일반 텍스트로 만들기"를 선택해야 합니다.
  • 인코딩. ANSI나 UTF-16이 아니라 UTF-8로 저장하세요. YouTube 문서도 SRT 파일은 일반 UTF-8이어야 한다고 명시합니다.
  • 쉼표. 마침표가 아닙니다.
  • 빈 줄. 블록 사이에는 하나, 블록 안에는 없어야 합니다.

먼저 전사한 뒤 텍스트를 블록으로 나누기

오디오가 몇 분을 넘으면, 보통은 타임스탬프가 붙은 전사본을 받아 자막 크기의 블록으로 자르는 방법을 씁니다. Laxis는 업로드한 오디오와 동영상 파일을 받아, 작업의 바탕이 될 타임스탬프 전사본을 돌려줍니다. 업로드 단계는 오디오를 텍스트로 전사하는 방법 가이드에서, 원본이 동영상이라면 동영상을 텍스트로 전사하는 방법 안내에서 다룹니다.

둘은 같은 문서가 아닙니다. 전사본은 화자 라벨이 붙은 연속된 문단이고, 자막 파일은 글자 수 상한 안에서 시간이 매겨진 블록으로 잘려 있습니다. 처음 접하는 개념이라면 전사본에 실제로 무엇이 들어 있는지를 참고하세요. 자동으로 만든 결과물은 게시하기 전에 꼭 읽어 보세요. 고유명사, 숫자, 겹치는 발언에 오류가 몰립니다.

플랫폼이 자막을 만들게 하고 파일을 내려받기

동영상이 이미 YouTube에 있다면, YouTube 자동 자막이 만든 트랙을 YouTube Studio에서 내려받아 텍스트 편집기로 고칠 수 있습니다. 타이밍은 대개 거의 맞고, 문구는 대개 손봐야 합니다. 완성본이 아니라 출발점으로 여기세요.

SRT 파일을 동영상에 붙이는 방법

YouTube

YouTube Studio에서 동영상을 열고 "자막"으로 가서 언어를 추가한 뒤, "파일 업로드"를 선택하고 타이밍이 포함된 옵션을 고른 다음 .srt를 선택하세요. YouTube는 SubRip(.srt)을 지원 자막 형식 중 하나로 명시하며, 파일 안의 스타일 표시는 무시합니다.

데스크톱 동영상 플레이어

자막 파일의 기본 이름을 동영상과 똑같이 맞추고 같은 폴더에 두세요.

product-walkthrough.mp4
product-walkthrough.srt

VLC를 비롯한 대부분의 데스크톱 플레이어는 이를 자동으로 불러옵니다. 불러오지 않으면 재생 중인 창에 .srt를 끌어다 놓거나 플레이어의 자막 메뉴에서 추가하세요. 언어가 여러 개라면 확장자 앞에 언어 코드를 붙입니다: product-walkthrough.en.srt.

소셜 플랫폼

업로드 화면에서 자막 관련 칸을 찾아 그곳에 .srt를 올리세요. 그런 칸이 없다면 글자를 영상에 직접 새겨 넣어야 하는데, 숏폼 동영상은 대부분 이런 경우입니다. TikTok 동영상에 텍스트를 넣는 방법 안내에서 그 방법을 다룹니다.

웹 페이지

HTML5 <track> 요소는 SRT를 받지 않고 WebVTT를 요구하므로, 먼저 파일을 변환해야 합니다. 변환은 거의 식은 죽 먹기이며, 두 형식이 계속 함께 쓰이는 이유 중 하나이기도 합니다.

외부 자막과 번인 자막

이 차이가 위의 방법 중 어느 것이 여러분에게 해당하는지를 가르며, 대부분의 사람은 우연히 이 차이와 마주칩니다.

외부(사이드카) 자막은 동영상과 함께 전달되는 별도의 .srt 파일입니다. 시청자는 자막을 켜고 끄거나 언어를 바꿀 수 있고, 플랫폼과 검색 엔진은 텍스트를 읽을 수 있으며, 오타를 고치려면 텍스트 파일만 수정해 다시 올리면 됩니다. 동영상을 다시 인코딩할 일은 없습니다. 단점은 플레이어나 플랫폼이 자막 트랙을 지원해야 하는데, 지원하지 않는 곳이 많다는 점입니다.

번인 자막은 하드코딩 자막 또는 오픈 캡션이라고도 하며, 내보낼 때 프레임에 직접 그려 넣은 픽셀입니다. 음소거로 자동 재생되며 자막 트랙을 떼어 버리는 피드를 포함해 어디서나 보이지만, 끄거나 번역할 수 없고, 기계가 읽을 수 없으며, 오타 하나에도 동영상을 다시 렌더링해야 합니다.

받아 주는 곳에서는 외부 SRT를 쓰고, 받아 주지 않는 곳에서만 글자를 번인하세요.

문제 해결

자막이 싱크가 맞지 않음

동영상의 시작 부분에서 한 번, 끝부분에서 다시 한 번 싱크를 확인하세요. 두 곳의 차이가 같다면 일정한 오프셋입니다. 모든 타임코드에 같은 양을 더하거나 빼면 되며, 대부분의 자막 편집기는 한 번에 처리합니다. 차이가 점점 커진다면 드리프트이며, 거의 언제나 프레임 레이트 불일치 때문입니다. 밀어서는 드리프트가 고쳐지지 않습니다. 두 프레임 레이트의 비율에 맞춰 타이밍을 다시 늘리거나 줄여야 합니다.

악센트가 붙은 글자가 깨져 보임

악센트가 붙은 이름이 물음표, 네모, 이상한 라틴 문자 쌍으로 나타난다면 자막 문제가 아니라 인코딩 문제입니다. 파일을 UTF-8로 다시 저장하세요. 대부분의 편집기는 저장 대화상자에서 인코딩을 고를 수 있습니다.

파일이 아예 불러와지지 않음

가능성이 높은 순서대로: 파일 이름이 실제로는 .srt.txt이다, 타임코드에 쉼표 대신 마침표를 썼다, 블록 사이의 빈 줄이 빠졌다, 순번이 뒤섞였거나 중복되었다, 파일이 RTF나 DOCX로 저장되었다. 위의 유효한 예시와 블록 단위로 비교해 보세요.

소셜 플랫폼에서 자막이 보이지 않음

업로드 화면에 자막 칸이 없었다면, 플랫폼은 자막 파일을 애초에 받지 못한 것입니다. 대신 글자를 동영상에 번인하세요.

SRT vs VTT vs ASS

SRTWebVTTASS
정식 명칭SubRip SubtitleWeb Video Text TracksAdvanced SubStation Alpha
확장자.srt.vtt.ass
밀리초 구분 기호쉼표마침표마침표 뒤에 100분의 1초
스타일과 위치 지정없음위치 지정, 그리고 CSS를 통한 스타일글꼴, 색상, 위치, 노래방식 타이밍까지 완전한 조판
헤더없음파일이 WEBVTT로 시작스크립트 정보 섹션
적합한 용도플레이어, 편집기, 업로드 양식을 가리지 않는 거의 보편적인 호환성HTML5 <track> 요소를 통한 브라우저 재생글자 모양을 제대로 제어해야 하는 조판 중심 작업

파일이 어디서나 작동하길 바라고 특별한 모양이 필요 없다면 평범한 SRT를 쓰세요.

출발점이 될 타임스탬프 텍스트 얻기

위의 서식 작업은 금방 끝납니다. 한 시간 분량의 오디오를 손으로 전사하는 일은 그렇지 않습니다. 그 부분이 자막 파일로 가는 길을 막고 있다면, Laxis AI 미팅 어시스턴트가 업로드한 오디오와 동영상을 100개 이상의 언어로 전사하고, 자막 블록으로 자를 수 있는 타임스탬프 텍스트를 돌려줍니다. 무료 플랜은 월 300분 전사에 녹음 한 건당 45분 한도이며, 유료 플랜은 사용자당 월 $15.99부터 시작합니다.

자주 묻는 질문

SRT 파일은 전사본과 같은 것인가요?

아닙니다. 전사본은 화자 라벨이 붙은, 길이 제한 없는 연속된 글로 그 자체로 읽기 위한 것입니다. SRT 파일은 같은 말을 동영상이 재생되는 동안 화면에서 읽을 수 있을 만큼 짧게, 시간이 매겨진 블록으로 자른 것입니다. 하나를 다른 하나로 바꾸려면 문장 나누기, 상한에 맞춰 줄이기, 시간 배정 같은 편집이 필요합니다.

전용 소프트웨어 없이 SRT 파일을 열고 편집할 수 있나요?

네. SRT 파일은 일반 텍스트이므로 메모장, 텍스트 편집기, Vim, VS Code 모두 됩니다. Microsoft Word나 Google 문서 같은 워드프로세서는 자체 형식으로 저장해 파일을 망가뜨리므로 피하세요. 단어 하나를 고치는 게 아니라 타임코드 수백 개를 조정해야 한다면, 전용 자막 편집기가 시간을 크게 아껴 줍니다.

SRT 파일을 추가하면 동영상 파일 자체가 바뀌나요?

아닙니다. 외부 SRT는 동영상을 건드리지 않습니다. 플레이어가 두 파일을 함께 읽어 재생 중에 글자를 위에 그려 주므로, 오타는 SRT만 고치면 됩니다. 번인 자막은 다릅니다. 내보낼 때 프레임에 고정되므로 고치려면 다시 렌더링해야 합니다.

자막이 처음에는 맞다가 점점 어긋나는 이유는 무엇인가요?

오차가 점점 커진다면 시작 시간이 틀린 것이 아니라 프레임 레이트가 맞지 않는 것입니다. 23.976 fps 마스터에 맞춰 만든 자막을 25 fps 사본에서 재생하면 꾸준히 뒤처집니다. 모든 타임코드를 일정량 밀어서는 고쳐지지 않습니다. 두 프레임 레이트의 비율에 맞춰 타이밍을 다시 조정해야 합니다.

자막 한 줄에는 몇 글자까지 넣어야 하나요?

Netflix의 English Timed Text Style Guide는 한 줄을 42자, 자막 하나를 두 줄로 제한합니다. Netflix는 또한 화면 표시 시간을 최소 6분의 5초, 최대 7초로, 성인 프로그램의 읽기 속도 상한을 초당 20자로 정합니다. 이 숫자들은 거의 모든 동영상에 무난한 기본값입니다.

SRT 자막이 동영상 검색 노출에 도움이 되나요?

외부 자막 파일은 번인 자막이 제공하지 못하는, 기계가 읽을 수 있는 텍스트를 플랫폼에 제공합니다. 그것이 순위를 움직이는지는 플랫폼에 달려 있으며, 정직한 답이라면 결과를 약속하지 않습니다. 더 분명한 이점은 도달 범위입니다. 자막이 있으면 소리를 끈 상태에서도, 청각 장애가 있거나 잘 듣지 못하는 시청자도 동영상을 볼 수 있습니다.

관련 제품

Laxis 회의 어시스턴트

지금 바로 노트를 자동화하세요.

  • Zoom, Google Meet, Teams, 대면 회의까지 봇 없이 기록
  • AI 요약, 할 일, 후속 메일을 100개 이상 언어로
  • Mac, Windows, iPhone, Android 지원, 무료 플랜 제공

신용카드 없이 무료로 시작하세요.

자세히 알아보기 ▷