본문으로 바로 가기
SubtitleMatrix

CSV를 VTT로 변환

또는 자막 텍스트를 붙여넣으세요

이 변환에서 달라지는 것

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

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

CSV를 VTT로 바꾸는 이 방향에서는 잃는 것이 없습니다. CSV가 표현하는 모든 것을 VTT가 똑같이 담을 수 있어서 시간축과 줄 바꿈, 글자가 그대로 남고 포장만 달라집니다. 형식이 허용하는 기능을 모두 쓴 CSV라도 마찬가지입니다.

CSV는 시간을 00:00:04.126처럼 적고, VTT도 같은 순간을 같은 모양으로 적습니다. 두 형식 모두 밀리초가 한계라 타임코드가 한 글자도 달라지지 않고, 2.9초짜리 cue는 VTT에서도 2.9초입니다.

표의 행 하나가 VTT의 cue 하나가 되고, cue 위에 붙는 식별자 줄은 선택 사항이라 재생기 화면에는 나타나지 않습니다. 셀 안의 두 줄은 위아래로 그대로 나오고, cue는 시작 시간순으로 정렬됩니다. 웹 페이지에 바로 넣을 수 있는 모양입니다.

여러 파일을 넣으면 차례로 변환되어 ZIP 하나로 내려옵니다. VTT는 텍스트 파일이라 서버 없이 재생되고, 변환도 브라우저 안에서만 이루어집니다. 브라우저의 기본 자막 표시 기능으로 바로 재생됩니다.

예시

일반적인 CSV 파일을 VTT로 변환

입력

start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."

결과물

WEBVTT

00:00:01.000 --> 00:00:03.500
The quick brown fox.

00:00:04.000 --> 00:00:06.250
Jumps over, the lazy dog.

00:00:07.000 --> 00:00:09.000
Two lines here.
And a second one.

이 결과에서는 아무것도 사라지지 않습니다. 양쪽을 줄 단위로 비교해 보세요.

머리글과 빈 칸이 섞인 CSV를 같은 방식으로 변환

입력

id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.

결과물

WEBVTT

1
00:00:01.000 --> 00:00:04.000
Hello there, friend.

2
00:00:05.000 --> 00:00:07.000
Second line.

4
00:00:10.000 --> 00:00:10.001
End before start.

5
00:00:12.000 --> 00:00:14.000
Unquoted comma in text, right here.

실제 파일에서 흔한 손상입니다. 줄 바꿈이 섞이고, 공백이 남고, 빈 필드가 있습니다. 위의 깔끔한 예시와 비교해 파서가 무엇을 넘겨주는지 보세요.

자주 묻는 질문

CSV를 VTT로 바꾸면 결과가 어떻게 생겼나요?

cue 위에 선택적인 식별자 줄이 붙고 그 아래 시작·끝 시간과 본문이 옵니다. 식별자 줄은 재생기 화면에 나타나지 않습니다. CSV의 행 하나가 VTT의 cue 하나가 되어 순서와 글자는 같습니다.

CSV의 시간값은 VTT에서도 정확한가요?

밀리초까지 정확합니다. CSV와 VTT가 같은 순간을 00:00:04.126처럼 같은 모양으로 적으므로 타임코드가 들어온 그대로 나갑니다. 반올림이나 이동이 없어 2.9초짜리 cue는 VTT에서도 2.9초입니다.

CSV 셀 안의 두 줄은 VTT에서 어떻게 되나요?

두 줄이 위아래로 그대로 나옵니다. 두 줄이 한 자막이라는 사실이 유지되어 재생기가 함께 보여 주며, 다시 CSV로 읽어도 한 행입니다.

CSV cue 순서는 VTT에서도 유지되나요?

유지되고, 변환 과정에서 시작 시간이 이른 순서로 정렬됩니다. CSV가 행을 뒤섞어 두었다면 VTT 결과에서 순서가 바로잡히며, 이는 내용이 아니라 구조를 바꾸는 일입니다.

VTT를 다시 CSV로 바꾸면 무엇을 잃나요?

스타일과 형식 고유 정보를 잃습니다. 이 방향은 무손실이지만 반대 방향은 그렇지 않습니다. VTT에 태그로 남은 강조와 cue 설정은 CSV에 열이 없어 되돌릴 때 사라집니다.

CSV를 VTT로 바꾸면 결과 인코딩은 어떻게 되나요?

원본이 무엇이었든 결과는 UTF-8에 유닉스 줄 바꿈, 바이트 순서 표시 없음입니다. UTF-16이나 윈도우 단일 바이트 인코딩으로 들어온 파일은 읽는 과정에서 디코딩되며, 그 사실은 결과 패널에 표시됩니다.

관련 도구