TXT를 TTML로 변환
또는 자막 텍스트를 붙여넣으세요
옵션
원본에 종료 시간이 없을 때(일반 텍스트, LRC) 사용합니다. 결과물의 시간축은 변환되는 것이 아니라 여기서 새로 만들어지므로, 이 숫자가 그대로 결과가 됩니다.
이 변환에서 달라지는 것
1가지가 버려지거나 결정이 필요합니다
- 타이밍
시간축 자체 — 원본이 타이밍을 기록하지 않아 결과물의 시간축은 변환된 것이 아니라 새로 만든 것입니다
이 목록은 불러온 특정 파일이 아니라 두 형식의 기능 행렬에서 나옵니다. 어떤 파일은 형식이 허용하지만 행렬이 모델링하지 않는 기능을 쓰고 있다면 더 많이 잃을 수 있습니다.
TXT를 TTML로 바꾸면 줄마다 p 요소가 생기고 begin과 end가 새로 채워집니다. TXT에는 시간이 없으므로 이 값들은 변환된 것이 아니라 여기서 배치한 것이며, 손실 목록의 시간 항목이 그 뜻입니다. 글자는 한 줄도 바뀌지 않습니다.
TXT는 줄의 순서만 담고, TTML은 begin과 end를 00:00:04.126 같은 시계 값으로 적습니다. 첫 줄이 0에서 시작하고 다음 줄은 앞 줄이 끝난 지점에서 시작하며, 페이지의 표시 시간 옵션이 각 줄의 폭을 정합니다. 배치된 값은 밀리초까지 그대로 적힙니다.
각 줄이 TTML의 cue 하나가 되고, 빈 줄은 문단 구분으로만 쓰여 cue가 되지 않습니다. TTML은 XML 문서라 방송·스트리밍 파이프라인에 쓰이며, 재생기에서 직접 열기보다 다른 도구가 읽는 중간 형식으로 쓰이는 경우가 많습니다.
여러 파일을 넣으면 차례로 변환되어 ZIP 하나로 내려옵니다. 변환은 브라우저 안에서 실행되며 원본 텍스트는 기기 밖으로 나가지 않습니다.
예시
일반적인 TXT 파일을 TTML로 변환
입력
The quick brown fox jumps over the lazy dog.
Second paragraph, first line.
Second paragraph, second line.
결과물
<?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:00.000" end="00:00:02.000">The quick brown fox jumps over the lazy dog.</p>
<p begin="00:00:02.000" end="00:00:04.000">Second paragraph, first line.</p>
<p begin="00:00:04.000" end="00:00:06.000">Second paragraph, second line.</p> </body>
</tt>
이 결과에서 사라지는 것: 시간. 나머지는 줄 단위로 같습니다.
줄 바꿈이 섞인 TXT를 같은 방식으로 변환
입력
Hello world.
Second block.
결과물
<?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:00.000" end="00:00:02.000">Hello world.</p>
<p begin="00:00:02.000" end="00:00:04.000">Second block.</p> </body>
</tt>
실제 파일에서 흔한 손상입니다. 줄 바꿈이 섞이고, 공백이 남고, 빈 필드가 있습니다. 위의 깔끔한 예시와 비교해 파서가 무엇을 넘겨주는지 보세요.
자주 묻는 질문
TXT를 TTML로 바꾸면 begin과 end는 어디서 나오나요?
새로 만들어집니다. TXT에는 시간이 전혀 없어서 결과의 시간축은 변환이 아니라 배치입니다. 첫 줄이 0에서 시작하고 다음 줄은 앞 줄이 끝난 지점에서 시작하며, 페이지의 표시 시간 옵션이 각 구간의 폭을 정합니다.
TXT를 TTML로 바꾸면 결과가 어떻게 생겼나요?
cue 번호 없이 자막마다 begin과 end 속성을 가진 p 요소가 되고, body와 보통 div 안에 들어가며 문서 맨 위에는 XML 선언이 붙습니다. TXT의 줄 하나가 TTML의 cue 하나가 되어 순서와 글자는 같습니다.
TXT cue 순서는 TTML에서도 유지되나요?
유지되고, 변환 과정에서 시작 시간이 이른 순서로 정렬됩니다. TXT가 줄을 뒤섞어 두었다면 TTML 결과에서 순서가 바로잡히며, 이는 내용이 아니라 구조를 바꾸는 일입니다.
빈 줄은 TTML 결과에서 어떻게 되나요?
빈 줄은 cue가 되지 않습니다. TXT에서 문단 구분으로만 쓰이므로 결과에 빈 p 요소가 생기지 않고, 시간축에도 빈 구간이 남지 않습니다. 쉼이 필요하면 표시 시간을 늘리세요.
TTML을 다시 TXT로 바꾸면 무엇을 잃나요?
시간, 스타일, 위치, 줄 묶음, 형식 고유 정보를 잃습니다. TTML에는 begin과 end가 있지만 TXT에는 시간을 적는 자리가 없어 되돌리면 사라지고, 머리말의 스타일 표와 레이아웃도 남지 않습니다.
TXT를 TTML로 바꾸면 결과 인코딩은 어떻게 되나요?
원본이 무엇이었든 결과는 UTF-8에 유닉스 줄 바꿈, 바이트 순서 표시 없음입니다. UTF-16이나 윈도우 단일 바이트 인코딩으로 들어온 파일은 읽는 과정에서 디코딩되며, 그 사실은 결과 패널에 표시됩니다.