← 블로그로 돌아가기

SRT, VTT, SBV, ASS 자막 파일 차이점 정리

Picute Team 작성···8 min read

SRT (SubRip)

가장 널리 쓰이는 자막 포맷입니다. 구조가 단순해서 메모장으로도 열고 고칠 수 있고, 대부분의 영상 플랫폼과 편집 프로그램, 플레이어가 읽습니다.

1
00:00:01,000 --> 00:00:04,000
안녕하세요, 오늘 영상에 오신 것을 환영합니다.

2
00:00:04,500 --> 00:00:07,000
오늘은 AI 자막에 대해 알아보겠습니다.

블록마다 번호, 시작과 끝 시각(시:분:초,밀리초), 자막 텍스트, 빈 줄이 순서대로 옵니다. 밀리초 앞 구분자가 쉼표라는 점이 VTT와 다릅니다.

굵게, 기울임 같은 기본 태그 정도만 쓸 수 있고 위치, 폰트, 색상은 플레이어마다 처리가 달라서 믿고 쓰기 어렵습니다. 유튜브 업로드, 편집 프로그램으로 가져오기, 번역 작업처럼 텍스트와 타이밍만 있으면 되는 경우에 씁니다.

VTT (WebVTT)

HTML5 <track> 요소에서 쓰는 웹 표준 포맷입니다. 생김새는 SRT와 거의 같습니다.

WEBVTT

00:00:01.000 --> 00:00:04.000 align:center
안녕하세요, 오늘 영상에 오신 것을 환영합니다.

00:00:04.500 --> 00:00:07.000
오늘은 AI 자막에 대해 알아보겠습니다.

SRT와 다른 점은 다음과 같습니다.

  • 첫 줄에 WEBVTT 헤더가 있어야 합니다.
  • 밀리초 앞 구분자가 마침표입니다(00:00:04.500).
  • 큐 번호는 없어도 됩니다.
  • 타이밍 줄 뒤에 align, position, line, size 같은 큐 설정을 붙여 위치와 정렬을 지정할 수 있습니다.
  • 브라우저에서는 CSS ::cue로 자막 모양을 바꿀 수 있습니다.

웹사이트에 영상을 직접 넣을 때, Vimeo 같은 영상 호스팅이나 이러닝 플랫폼에서 많이 씁니다. 유튜브도 VTT 업로드를 받습니다.

SBV (유튜브)

유튜브 스튜디오에서 자막을 내려받을 때 고를 수 있는 포맷 중 하나입니다. 큐 번호가 없고, 시작과 끝 시각을 쉼표로 이어 한 줄에 씁니다.

0:00:01.000,0:00:04.000
안녕하세요, 오늘 영상에 오신 것을 환영합니다.

0:00:04.500,0:00:07.000
오늘은 AI 자막에 대해 알아보겠습니다.

시작과 끝 사이에 --> 대신 쉼표가 들어가기 때문에 SRT만 읽는 도구에 그대로 넣으면 오류가 납니다. 스타일이나 위치 정보는 없습니다. 유튜브 밖에서 편집하려면 먼저 SBV를 SRT로 바꾸는 변환기로 바꿔 두는 편이 편합니다.

ASS/SSA (Advanced SubStation Alpha)

SubStation Alpha(SSA)에서 발전한 포맷으로, Aegisub 같은 편집기와 애니 팬자막 작업에서 많이 씁니다. 자막마다 폰트, 크기, 색, 테두리, 그림자, 화면 좌표, 페이드와 이동 효과를 정할 수 있고, \k 태그로 음절마다 색이 바뀌는 카라오케 효과도 만들 수 있습니다.

[Script Info]
ScriptType: v4.00+
PlayResX: 1920
PlayResY: 1080

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour...
Style: Default,Arial,40,&H00FFFFFF,&H000000FF...

[Events]
Format: Layer, Start, End, Style, Name, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,안녕하세요

스타일은 [V4+ Styles]에 이름을 붙여 정의하고, 대사는 [Events]의 Dialogue: 줄에 씁니다. 시각은 센티초(1/100초) 단위입니다. 구조가 복잡해서 손으로 고치기보다는 Aegisub 같은 편집기로 다룹니다.

VLC, MPC-HC, mpv 같은 PC 플레이어는 ASS 스타일을 그대로 보여 주지만, 유튜브는 ASS 파일을 받지 않습니다. 텍스트와 타이밍만 필요하면 ASS/SSA를 SRT로 바꾸는 변환기가 스타일 태그를 걷어 내고 센티초 타이밍을 SRT 밀리초로 바꿉니다. 반대로 SRT에 기본 스타일을 붙여 ASS로 만들려면 SRT를 ASS로 바꾸는 변환기를 쓰면 됩니다.

포맷별 비교

특성 SRT VTT SBV ASS
호환성 매우 높음 높음(웹) 낮음(유튜브) 낮음(PC 플레이어)
스타일 지정 기본 태그 큐 설정, CSS 없음 상세
손으로 편집 쉬움 쉬움 쉬움 어려움
HTML5 웹 표준 X O X X
애니메이션, 카라오케 X X X O
유튜브 업로드 O O O X

변환 방법

Picute의 무료 변환기는 모두 브라우저 안에서 처리되고 파일을 서버로 올리지 않습니다.

설치형 도구를 쓴다면 다음이 많이 쓰입니다.

  • Subtitle Edit (Windows, 무료): 대부분의 포맷끼리 변환
  • Aegisub (무료): ASS 편집
  • FFmpeg (명령줄, 무료): ffmpeg -i input.srt output.vtt

변환할 때 확인할 것:

  • SRT와 VTT를 오갈 때는 밀리초 구분자(쉼표와 마침표)와 WEBVTT 헤더가 맞게 바뀌었는지 봅니다.
  • SBV를 SRT로 바꾸면 큐 번호가 새로 붙고 시각 표기가 SRT 형식으로 바뀝니다.
  • ASS를 SRT나 VTT로 바꾸면 스타일과 효과는 사라지고 텍스트와 타이밍만 남습니다.
  • 한국어 자막은 UTF-8(BOM 없음)로 저장해야 다른 도구에서 깨지지 않습니다.

용도별 포맷 선택

사용 목적 포맷
유튜브 업로드 SRT 또는 VTT
유튜브에서 내려받은 자막 편집 SBV를 SRT로 바꿔서 편집
웹사이트에 직접 넣는 영상 VTT
영상 편집 프로그램 SRT
애니 팬자막, 카라오케 ASS
PC 플레이어 ASS 또는 SRT
자막 파일 업로드를 받지 않는 SNS 자막을 영상에 입힌 MP4

Picute에서 내보내는 형식

Picute에서 영상 파일이나 유튜브 링크로 자막을 만들면 편집기에서 SRT와 VTT 자막 파일, 자막을 영상에 입힌 MP4로 내보낼 수 있습니다. ASS가 필요하면 SRT로 받은 뒤 위의 SRT를 ASS로 바꾸는 변환기를 쓰면 됩니다.

Picute에서 영상으로 자막 만들기SRT, VTT 자막 파일과 자막을 입힌 MP4로 내보낼 수 있습니다

자주 묻는 질문

한국어 자막을 변환했더니 글자가 깨져요.

변환기보다는 파일 인코딩이 원인인 경우가 많습니다. 오래된 한글 자막은 EUC-KR이나 CP949로 저장된 경우가 있고, 이 파일을 UTF-8을 기대하는 도구로 열면 글자가 깨집니다. 원래 인코딩을 지정해 다시 연 뒤 UTF-8(BOM 없음)로 저장하면 됩니다. 방법은 한글 자막 인코딩 깨짐 해결에 정리해 두었고, 자막 인코딩 변환기로 브라우저에서 바로 바꿀 수도 있습니다.