TXT를 JSON으로 변환
또는 자막 텍스트를 붙여넣으세요
옵션
원본에 종료 시간이 없을 때(일반 텍스트, LRC) 사용합니다. 결과물의 시간축은 변환되는 것이 아니라 여기서 새로 만들어지므로, 이 숫자가 그대로 결과가 됩니다.
이 변환에서 달라지는 것
1가지가 버려지거나 결정이 필요합니다
- 타이밍
시간축 자체 — 원본이 타이밍을 기록하지 않아 결과물의 시간축은 변환된 것이 아니라 새로 만든 것입니다
이 목록은 불러온 특정 파일이 아니라 두 형식의 기능 행렬에서 나옵니다. 어떤 파일은 형식이 허용하지만 행렬이 모델링하지 않는 기능을 쓰고 있다면 더 많이 잃을 수 있습니다.
TXT를 JSON으로 바꾸면 줄마다 cue 객체가 생기고 start와 end가 새로 채워집니다. TXT에는 시간이 전혀 없으므로 이 값들은 변환된 것이 아니라 여기서 배치한 것이며, 손실 목록의 시간 항목이 그 뜻입니다. 글자와 순서는 그대로 남습니다.
TXT는 줄의 순서만 담고, JSON은 cue마다 start와 end를 4126 같은 밀리초 정수로 적습니다. 첫 줄이 0에서 시작하고 다음 줄은 앞 줄이 끝난 지점에서 시작하므로 간격이 일정하며, 페이지의 표시 시간 옵션이 각 줄의 폭을 정합니다.
각 줄이 cue 하나가 되고, 빈 줄은 문단 구분으로만 쓰여 cue가 되지 않습니다. JSON은 스타일과 위치, 노래방 정보를 담을 수 있는 형식이지만 TXT에 그런 정보가 없으므로 결과에도 없습니다. 나중에 스크립트로 다루기 좋은 모양입니다.
여러 파일을 넣으면 차례로 변환되어 ZIP 하나로 내려옵니다. 변환은 브라우저 안에서 실행되며 원본 텍스트는 어디에도 업로드되지 않습니다. 다시 TXT로 되돌리면 배치한 시간은 사라집니다.
예시
일반적인 TXT 파일을 JSON으로 변환
입력
The quick brown fox jumps over the lazy dog.
Second paragraph, first line.
Second paragraph, second line.
결과물
{
"version": 1,
"cues": [
{
"start": 0,
"end": 2000,
"lines": [
"The quick brown fox jumps over the lazy dog."
]
},
{
"start": 2000,
"end": 4000,
"lines": [
"Second paragraph, first line."
]
},
{
"start": 4000,
"end": 6000,
"lines": [
"Second paragraph, second line."
]
}
]
}
이 결과에서 사라지는 것: 시간. 나머지는 줄 단위로 같습니다.
줄 바꿈이 섞인 TXT를 같은 방식으로 변환
입력
Hello world.
Second block.
결과물
{
"version": 1,
"cues": [
{
"start": 0,
"end": 2000,
"lines": [
"Hello world."
]
},
{
"start": 2000,
"end": 4000,
"lines": [
"Second block."
]
}
]
}
실제 파일에서 흔한 손상입니다. 줄 바꿈이 섞이고, 공백이 남고, 빈 필드가 있습니다. 위의 깔끔한 예시와 비교해 파서가 무엇을 넘겨주는지 보세요.
자주 묻는 질문
TXT를 JSON으로 바꾸면 타임코드는 어디서 나오나요?
새로 만들어집니다. TXT에는 시간이 전혀 없어서 결과의 시간축은 변환이 아니라 배치입니다. 첫 줄이 0에서 시작하고 다음 줄은 앞 줄이 끝난 지점에서 시작하며, 페이지의 표시 시간 옵션이 각 구간의 폭을 정합니다.
TXT를 JSON으로 바꾸면 결과가 어떻게 생겼나요?
cue 객체의 배열이 나오고 각 객체는 id, start, end, text를 가집니다. TXT의 줄 하나가 JSON의 cue 하나가 되어 순서와 글자는 같고, 시간은 밀리초 정수로 적힙니다.
TXT cue 순서는 JSON에서도 유지되나요?
유지되고, 변환 과정에서 시작 시간이 이른 순서로 정렬됩니다. TXT가 줄을 뒤섞어 두었다면 JSON 결과에서 순서가 바로잡히며, 이는 내용이 아니라 구조를 바꾸는 일입니다.
빈 줄은 JSON 결과에서 어떻게 되나요?
빈 줄은 cue가 되지 않습니다. TXT에서 문단 구분으로만 쓰이므로 결과 배열에 빈 cue가 생기지 않고, 시간축에도 빈 구간이 남지 않습니다. 쉼이 필요하면 표시 시간을 늘리세요.
JSON을 다시 TXT로 바꾸면 무엇을 잃나요?
시간, 스타일, 위치, 노래방, 줄 묶음을 잃습니다. 이 방향에서 새로 만든 시간은 JSON에 기록되지만 TXT로 되돌리면 다시 사라지고, 여러 줄짜리 자막도 풀려서 각각 다른 줄이 됩니다.
TXT를 JSON으로 바꾸면 결과 인코딩은 어떻게 되나요?
원본이 무엇이었든 결과는 UTF-8에 유닉스 줄 바꿈, 바이트 순서 표시 없음입니다. UTF-16이나 윈도우 단일 바이트 인코딩으로 들어온 파일은 읽는 과정에서 디코딩되며, 그 사실은 결과 패널에 표시됩니다.