범용 자막 형식

열기저장XML다국어

Matroska 시대의 XML 자막 형식입니다. 이름 붙은 스타일, 한 파일에 여러 언어, 확장 여지를 갖췄습니다. 이를 채택한 플레이어는 많지 않았지만, Subtitld가 유지하는 모든 것을 담을 수 있어서 Subtitld는 프로젝트를 이 형식으로 저장합니다.

한눈에 보기

확장자.usf
미디어 타입text/xml
사양USF 1.1, CoreCodec 프로젝트(2010), 현재는 Titlevision에서 관리
시간 정밀도밀리초
텍스트 인코딩XML에 선언됨. 다르게 선언하지 않으면 UTF-8입니다.
스타일이름 붙은 스타일, 텍스트 안의 <i>, <b>, <u>, <font>
위치 지정스타일이나 텍스트에 대해 아홉 개 위치와 여백
화자텍스트마다 speaker
언어한 파일에 여러 개. 언어마다 <subtitles> 블록 하나, ISO 639-2 코드로 구분
컨테이너 안Matroska에서는 S_TEXT/USF

파일의 구조

XML 문서입니다. 메타데이터와 스타일이 담긴 머리 부분 뒤에, 언어마다 자막 블록이 이어집니다.

<USFSubtitles version="1.0">
<metadata>…</metadata>
<styles>…</styles>
<subtitles>
<language code="por">
  Portuguese (Brazil)
</language>
<subtitle
  start="00:00:01.000"
  stop="00:00:02.500">
<text>Olá!</text>
</subtitle>
</subtitles>
</USFSubtitles>
  1. 1 · 루트

    <USFSubtitles>, 따르는 USF 버전과 함께 적습니다.

  2. 2 · 머리

    제목, 저자, 언어, 자막이 사용할 이름 붙은 스타일.

  3. 3 · 언어

    언어마다 <subtitles> 블록 하나. ISO 639-2 코드로 구분합니다.

  4. 4 · 자막

    시작, 끝(또는 길이), 텍스트.

시간

초만 써도 됩니다. 100은 00:01:40.000이고, 1.5는 1.5초입니다. 자막은 stop 대신 duration으로 길이를 줄 수도 있습니다.

텍스트

USF의 텍스트는 XHTML의 일부입니다. 태그는 소문자로 쓰고, 올바르게 중첩하며, <br/>는 닫힌 형태로 씁니다.

요소 효과 Subtitld에서
<i>, <b>, <u> 기울임, 굵게, 밑줄 유지됨
<font color="#00FF0000"> 색, 그리고 글꼴, 크기, 외곽선, 그림자 색만 유지됨
<br/> 줄바꿈 유지됨
<s> 취소선. USF의 계획 목록에는 있지만 사양에는 없습니다 취소선으로 기록. 다른 도구는 텍스트를 일반 텍스트로 보일 수 있습니다
<karaoke>, <k t="250"/> 가라오케 타이밍 텍스트만 유지됨
<image>, <shape> 그림과 도형 유지되지 않음

알파 값이 앞에 있고, 0에서 시작해 줄어듭니다. USF의 색은 #AARRGGBB이며, 00은 불투명, FF는 투명입니다. #00FF0000은 완전한 빨간색이고, 알파가 없는 #FF0000도 같은 빨간색입니다.

스타일과 위치

<style name="Narrator">
  <fontstyle italic="yes"/>
  <position alignment="TopCenter"/>
</style>

텍스트는 <text style="Narrator">처럼 이름으로 스타일을 지정하며, 그 스타일의 글꼴, 색, 기울임, 굵기, 밑줄, 위치를 받습니다. 위치는 TopLeft에서 BottomRight까지 아홉 가지 중 하나입니다. Default라는 이름의 스타일은 모든 자막을 바꾸므로, Subtitld는 이를 쓰지 않아 플레이어가 자체 모양을 유지하게 합니다.

언어

언어마다 <subtitles> 블록이 있으며, ISO 639-2 코드로 이름을 붙입니다. eng, fre, ger, por처럼요. 한 코드가 Subtitld가 아는 여러 언어를 가리킬 수 있으므로, Subtitld는 요소 안에 언어 이름도 함께 씁니다. 읽을 때도 이를 보고 por를 브라질 포르투갈어나 포르투갈 포르투갈어로 구분합니다.

<language code="por">
  Portuguese (Brazil)
</language>

Subtitld의 USF

Subtitld의 프로젝트는 USF입니다. .usfx 프로젝트는 USF에 영상, 음성, 더빙을 함께 담은 파일입니다.

.usf에 남는 것
  • 모든 자막의 텍스트, 서식, 위치
  • 번역, 블록마다 하나씩
  • 화자와 그 색, 요청하면 사진도
  • 더빙과 그 음성, 요청하면 클립 자체도
  • 밀리초 단위의 시작과 끝
갈 곳이 없는 것
  • 줄 단위의 글꼴, 크기, 외곽선, 그림자
  • 그림, 도형, 가라오케 타이밍
  • 효과

Subtitld가 추가한 내용은 다른 도구가 그대로 둡니다.

USF 파일 열기

Subtitld는 Subtitld가 쓴 파일과 다른 도구가 쓴 파일을 읽습니다.

  • XML이 선언한 인코딩;
  • 텍스트가 사용하는 이름 붙은 스타일의 기울임, 굵게, 밑줄, 색, 위치;
  • 일부 도구가 쓰는 방식의 italic, bold, underline이 붙은 <font>;
  • stop이 없을 때의 duration, 그리고 초만 쓴 시간;
  • 한 자막 안의 여러 텍스트는 줄로 처리;
  • 언어 블록은 시간으로 첫 블록과 맞춰지므로, 블록마다 자막 수가 같을 필요는 없습니다;
  • ISO 639-2 코드와 언어 이름, 그리고 이전 Subtitld 버전이 쓴 코드.

USF가 아닌 파일이면 그렇다고 알리고 아무것도 열지 않습니다.

USF 저장

USF를 선택하고 화자 사진을 포함하도록 한 Subtitld 내보내기 대화상자

USF는 프로젝트 전체를 담으므로, 내보내기를 누른 다음 자막과 USF를 선택하면 안에 무엇을 넣을지만 묻습니다.

  • 화자 이미지 포함각 화자의 사진을 base64로, 해당 스타일 안에 넣습니다.
  • 오디오 클립 포함각 더빙의 클립을 base64로, 해당 자막 안에 넣습니다.

파일은 UTF-8이며, 언어는 ISO 639-2 코드와 이름으로 기록됩니다. USF가 요구하는 제목이 붙고, Default 스타일은 없습니다.

알아두면 좋은 사실

2002

USF는 2002년 11월에 처음 공개되었습니다. 고급 SubStation Alpha의 XML 대안으로 만든 CoreCodec 프로젝트입니다.

1.1

마지막 버전은 2010년 11월 것입니다. 그 사양은 여전히 <s>를 계획 목록에 올려 둡니다.

VLC 0.9

0.9 버전부터 VLC는 USF의 텍스트와 타이밍을, VSFilter와 같이 일부 서식과 함께 보여 줍니다.

관련 형식

고칠 .usf 파일이 있으신가요?

Subtitld에서 동영상과 함께 열고, 파형에서 시간을 다시 맞춰 보세요.

Subtitld 다운로드