본문으로 바로 가기
SubtitleMatrix

SBV를 TTML로 변환

형식 변환YouTube SBV
또는 자막 텍스트를 붙여넣으세요

이 변환에서 달라지는 것

이 방향에서는 아무것도 잃지 않습니다. 원본 형식의 모든 기능이 대상 형식에 갈 곳이 있습니다.

이 목록은 불러온 특정 파일이 아니라 두 형식의 기능 행렬에서 나옵니다. 어떤 파일은 형식이 허용하지만 행렬이 모델링하지 않는 기능을 쓰고 있다면 더 많이 잃을 수 있습니다.

SBV를 TTML로 바꾸는 페이지입니다. TTML은 XML로 자막을 적는 표준 형식이고, SBV의 자막 블록과 두 시각, 텍스트, 줄바꿈을 모두 표현할 수 있어 이 방향은 무손실입니다.

SBV는 `0:00:04.126`, TTML은 `begin="00:00:04.126"`으로 같은 순간을 적습니다. 끝 시각도 `end` 속성으로 그대로 들어가고 밀리초 값에 변화가 없습니다. 문서 맨 위에는 XML 선언이 붙습니다.

자막 하나는 `<p>` 요소 하나가 되고 `<body>` 안에 들어갑니다. 두 줄짜리 자막은 `<br/>`로 이어지며, 이것이 TTML의 강제 줄바꿈 표기입니다. 스타일이나 위치를 담은 별도 정보는 원본 SBV에 없으므로 새로 생기지도 않습니다.

파일은 업로드되지 않고 브라우저 안에서 처리됩니다. 여러 파일을 순서대로 변환하고 결과를 ZIP 하나로 받을 수 있습니다. 변환이 도는 동안 탭을 닫으면 작업이 중단되므로 끝날 때까지 창을 열어 두세요. ZIP은 파일별 하위 폴더 없이 한 번에 풀리고, 각 파일 이름은 원본 그대로 유지됩니다.

예시

전형적인 SBV 파일을 TTML로 변환

입력

0:00:01.000,0:00:03.500
The quick brown fox.

0:00:04.000,0:00:06.250
Jumps over the lazy dog.

0:00:07.000,0:00:09.000
Two lines here.
And a second one.

결과물

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:01.000" end="00:00:03.500">The quick brown fox.</p>
<p begin="00:00:04.000" end="00:00:06.250">Jumps over the lazy dog.</p>
<p begin="00:00:07.000" end="00:00:09.000">Two lines here.<br/>And a second one.</p>  </body>
</tt>

버려지는 것이 없습니다. 각 p 요소의 begin과 end가 원래 두 시각과 맞는지 확인해 보세요.

지저분한 SBV를 TTML로 바꿀 때

입력

0:00:02.000,0:00:04.000
Carriage-return line endings.

	0:00:06.000,0:00:08.000
Indented timecode, no final newline.

결과물

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:02.000" end="00:00:04.000">Carriage-return line endings.</p>
<p begin="00:00:06.000" end="00:00:08.000">Indented timecode, no final newline.</p>  </body>
</tt>

실제 파일에 흔한 손상입니다. 섞인 줄바꿈 문자와 앞뒤 공백이 있어도 읽을 수 있는 자막은 모두 p 요소가 됩니다.

자주 묻는 질문

SBV를 TTML로 바꾸면 자막은 어떤 요소가 되나요?

`<p>` 요소 하나가 자막 하나입니다. `begin`과 `end` 속성에 두 시각이 들어가고, 텍스트는 요소 내용으로 들어가며, 전체가 `<body>` 안에 놓입니다.

SBV의 시각이 TTML에서 밀리초까지 같은가요?

네. `0:00:04.126`이 `begin="00:00:04.126"`이 되고, 끝 시각도 `end`에 그대로 들어갑니다. 반올림이 없어 2.9초짜리 자막은 TTML에서도 2.9초입니다.

SBV의 두 줄 자막은 TTML에서 어떻게 이어지나요?

한 `<p>` 안에서 `<br/>`로 이어집니다. TTML의 강제 줄바꿈 표기이며, 두 줄은 같은 자막 요소에 속해 함께 표시됩니다.

SBV를 TTML로 바꿀 때 자막 순서는 어떻게 되나요?

시작 시각이 이른 순서로 p 요소가 놓입니다. 원본이 뒤섞여 있었다면 정렬되어 나오고, 이는 파일 구조를 바로잡는 의도된 변화입니다.

TTML을 다시 SBV로 바꾸면 무엇이 사라지나요?

TTML에 스타일이나 위치, 형식 고유 정보가 있으면 SBV에 자리가 없어 사라집니다. 지금 방향인 SBV→TTML은 무손실이며, 손실은 되돌릴 때만 생깁니다.

SBV를 TTML로 저장하면 인코딩은 무엇인가요?

출력은 UTF-8이고 줄바꿈은 유닉스 방식, BOM은 없습니다. XML 선언에도 UTF-8이 적히므로, 받은 파일을 어떤 도구로 열어도 인코딩을 잘못 짚지 않습니다.

관련 도구