Skip to content

자막 파일 포맷

자막 파일은 영상 콘텐츠에 텍스트 정보를 동기화하여 표시하는 파일 형식이다. SRT, SBV, VTT, SMI 네 가지 주요 포맷이 널리 사용되며, 각각의 특성과 용도가 다르다.

SRT (SubRip Text)

가장 범용적으로 사용되는 자막 포맷이다. 텍스트 기반의 단순한 구조로 거의 모든 미디어 플레이어에서 지원한다.

  • 구조: 자막 번호, 타임코드, 텍스트, 빈 줄로 구성된다

    • 시간 형식: HH:MM:SS,mmm --> HH:MM:SS,mmm
    • 자막 번호를 통해 순서 관리가 명확하다
    1
    00:00:01,000 --> 00:00:04,000
    안녕하세요, 여러분.
    2
    00:00:04,500 --> 00:00:06,500
    오늘은 자막 파일 형식에 대해 설명한다.
  • 호환성: 대부분의 미디어 플레이어와 편집 도구에서 지원한다

  • 서식: 볼드, 이탤릭, 색상 등 기본 서식을 지원하나 플레이어에 따라 인식 여부가 다르다

  • 편집: 일반 텍스트 에디터로 쉽게 수정할 수 있다

범용적인 자막이 필요한 경우 SRT를 우선 선택하는 것이 좋다.

SBV (SubViewer)

YouTube에서 주로 사용하는 간소화된 자막 포맷이다. SRT보다 단순한 구조를 가진다.

  • 구조: 타임코드와 텍스트만으로 구성된다

    • 시간 형식: H:MM:SS.mmm,H:MM:SS.mmm
    • 자막 번호가 없어 파일 크기가 작다
    0:00:01.000,0:00:04.000
    안녕하세요, 여러분.
    0:00:04.500,0:00:06.500
    오늘은 자막 파일 형식에 대해 설명한다.
  • 호환성: YouTube 업로드에 최적화되어 있다

  • 서식: 제한적인 서식 기능만 제공한다

YouTube 콘텐츠 제작 시 SBV를 사용하면 업로드 과정이 간편하다.

VTT (Web Video Text Tracks)

HTML5 비디오를 위한 W3C 표준 자막 포맷이다. 웹 환경에서 강력한 기능을 제공한다.

  • 구조: WEBVTT 헤더와 타임코드, 텍스트로 구성된다

    • 파일 첫 줄에 WEBVTT 선언이 필수다
    • 스타일과 메타데이터를 포함할 수 있다
    WEBVTT
    00:00:01.000 --> 00:00:04.000
    안녕하세요, 여러분.
    00:00:04.500 --> 00:00:06.500
    오늘은 자막 파일 형식에 대해 설명한다.
  • 고급 기능: 자막 위치, 정렬, 크기, 색상 등을 세밀하게 제어할 수 있다

    • CSS 스타일을 적용할 수 있다
    • 메타데이터와 챕터 정보를 포함할 수 있다
    WEBVTT
    STYLE
    ::cue {
    background-color: rgba(0,0,0,0.8);
    color: white;
    }
    00:00:01.000 --> 00:00:04.000 align:start position:10%
    안녕하세요, 여러분.
  • 호환성: HTML5 <video> 태그와 웹 기반 플레이어에서 네이티브로 지원한다

  • 다국어: 여러 언어를 효과적으로 관리할 수 있다

웹 기반 비디오 서비스를 개발하거나 고급 자막 스타일링이 필요한 경우 VTT를 사용하는 것이 적합하다.

SMI (Synchronized Multimedia Integration Language)

HTML 기반의 자막 포맷으로, 한국에서 특히 많이 사용되었다. 다국어 자막을 하나의 파일에 포함할 수 있다.

  • 구조: HTML과 유사한 태그 기반 구조다

    • <SAMI>, <HEAD>, <BODY> 태그로 구성된다
    • <SYNC> 태그로 타임코드를 지정한다
    • 시간 단위는 밀리초다
    <SAMI>
    <HEAD>
    <STYLE TYPE="text/css">
    P { font-family: Arial; font-weight: normal; color: white; }
    .KRCC { Name: Korean; lang: ko-KR; }
    .ENCC { Name: English; lang: en-US; }
    </STYLE>
    </HEAD>
    <BODY>
    <SYNC Start=1000>
    <P Class=KRCC>안녕하세요, 여러분.</P>
    <P Class=ENCC>Hello, everyone.</P>
    </SYNC>
    <SYNC Start=4500>
    <P Class=KRCC>오늘은 자막 파일 형식에 대해 설명한다.</P>
    <P Class=ENCC>Today I'll explain subtitle file formats.</P>
    </SYNC>
    </BODY>
    </SAMI>
  • 다국어: 하나의 파일에 여러 언어를 포함할 수 있다

    • 언어별 클래스를 정의하여 선택적으로 표시한다
  • 서식: HTML/CSS를 활용한 강력한 스타일링이 가능하다

  • 호환성: 국내 미디어 플레이어와 레거시 시스템에서 잘 지원된다

다국어 자막을 단일 파일로 관리해야 하거나, 레거시 시스템과의 호환성이 중요한 경우 SMI가 유용하다.

변환 및 도구

  • FFmpeg: 자막 포맷 간 변환을 지원한다

    Terminal window
    ffmpeg -i input.srt output.vtt

최신 웹 환경에서는 VTT를, 범용성이 필요한 경우 SRT를 사용하는 것을 권장한다.


참고