SSubToolDesk
ko
VTT → TXT

WebVTT 캡션을 일반 텍스트로 변환하기

Zoom, Microsoft Teams, Google Meet, 또는 YouTube의 .vtt 내보내기를 읽기 쉬운 스크립트로 정리해 보세요. 음성 태그와 큐 메타데이터가 자동으로 제거되며, 아무것도 업로드되지 않습니다.

감지됨: …
파일을 끌어다 놓거나, 붙여넣거나, 직접 편집해 주세요
…
로컬

파일이 서버에 전송되지 않습니다. 이 페이지의 모든 변환은 JavaScript FileReader API를 사용하여 브라우저에서 로컬로 실행됩니다. 아무것도 업로드, 기록, 저장되지 않습니다. 기밀 Zoom/Teams 녹화본, 미공개 영상, 법률 인터뷰에도 안전하게 사용할 수 있습니다.

VTT to TXT 변환은 이렇게 작동합니다

WebVTT(Web Video Text Tracks)는 HTML5 비디오를 위한 W3C 표준 캡션 형식이며, Zoom, Microsoft Teams, Google Meet, YouTube가 회의 스크립트나 비디오 캡션 파일을 다운로드할 때 내보내는 형식입니다. 모든 .vtt 파일은 WEBVTT 헤더 줄로 시작하고, 이어서 마침표로 구분된 밀리초로 타이밍이 맞춰진 큐가 이어집니다(SRT의 쉼표가 아니라 00:00:03.500). WebVTT는 SRT보다 더 풍부한 메타데이터도 지원합니다. 타이밍 줄의 align:start position:10%와 같은 큐 설정, 누가 말하고 있는지 표시하는 <v Speaker Name> 같은 음성 태그, 그리고 대화가 아니라 주석이나 CSS 비슷한 스타일을 담는 NOTE / STYLE / REGION 블록 등입니다.

이 중 어느 것도 일반 텍스트 스크립트에는 필요하지 않습니다. SubToolDesk의 파서는 브라우저의 FileReader API를 통해 파일을 로컬에서 읽고, 헤더와 메타데이터 블록을 버리고, 음성 및 스타일 태그를 제거하며, 요청하면 남은 캡션을 실제 문단으로 흐르듯 이어 붙입니다.

단계별 안내

  • .vtt 캡션 파일을 내보내거나 찾아두세요(Zoom과 Teams 모두 회의 후 “스크립트 다운로드” 또는 “캡션 다운로드” 옵션을 제공합니다).
  • 위 변환기에 끌어다 놓거나, 원본 VTT 텍스트를 왼쪽 패널에 붙여넣으세요.
  • 형식 배지가 VTT로 표시되는지 확인하세요.
  • 음성 태그와 큐 설정을 제거하려면 서식 태그 제거를 켜 두세요.
  • 캡션이 줄 앞에 이름을 텍스트로 붙이고 있다면(자동 생성된 Teams 스크립트에서 흔함) 화자 레이블 제거를 켜 두세요.
  • 결과로 나온 .txt 스크립트를 복사하거나 다운로드하세요.

WebVTT를 일반 텍스트로 변환하는 이유

.vtt 파일은 읽는 사람이 아니라 비디오 플레이어를 위해 만들어집니다. 이를 일반 텍스트로 정리하는 이유는 거의 항상 그다음에 할 일 때문입니다.

  • 회의록이나 프로젝트 문서에 붙여넣기, 타임스탬프와 음성 태그는 그저 잡음일 뿐입니다.
  • AI 요약 도구나 챗봇에 스크립트 입력하기, 수백 개의 2초짜리 조각보다 연속된 문장을 훨씬 더 잘 이해합니다.
  • 녹음된 통화, 웨비나, 팟캐스트로 블로그 요약이나 쇼 노트 작성하기.
  • 캡션 파일을 배포하지 않고 영상을 일반 텍스트 페이지로 접근 가능하거나 검색 가능하게 만들기.
  • 원본 녹음이 더 이상 필요 없을 때 읽기 쉬운 기록으로 스크립트 보관하기.
  • 번역이나 교정을 위해 스크립트 전달하기, 번역가와 편집자는 큐 블록이 아니라 문단 단위로 작업합니다.

변환 전후 비교: 실제 예시

음성 태그, 큐 설정, NOTE 블록까지 포함된 짧은 Zoom 스타일 내보내기를 문단으로 병합, 화자 레이블 제거, 서식 태그 제거를 모두 켠 상태(이 페이지의 기본 설정)로 변환한 예시입니다.

Before
WEBVTT

NOTE
Zoom에서 생성된 스크립트

00:00:01.200 --> 00:00:03.900 align:start position:10%
<v Jordan>안녕하세요, 오늘 통화에 참여해 주셔서 감사합니다.

00:00:03.900 --> 00:00:06.450
<v Priya>물론이죠! 바로 시작해 볼까요.

00:00:06.450 --> 00:00:09.800
<v Jordan>좋습니다, 그럼 의제의 첫 번째 항목은 3분기 로드맵입니다.
After
안녕하세요, 오늘 통화에 참여해 주셔서 감사합니다. 물론이죠! 바로 시작해 볼까요. 좋습니다, 그럼 의제의 첫 번째 항목은 3분기 로드맵입니다.

WEBVTT 헤더, NOTE 블록, 모든 타임스탬프 줄과 큐 설정, 그리고 <v Jordan> 음성 태그 두 개가 모두 사라졌습니다. 남은 것은 실제로 말한 내용뿐이며, 읽기 쉬운 문장으로 다시 구성되었습니다.

WebVTT 형식, 자세히 살펴보기

여러 화자가 등장하는 일반적인 VTT 큐는 다음과 같은 모습입니다:

00:00:03.500 --> 00:00:06.120 align:start position:10%
<v Jordan>오늘 통화에 참여해 주셔서 감사합니다.
VTT 큐, 레이블 표시
WEBVTT← 필수 헤더00:00:03.500 --> 00:00:06.120← 시작 및 종료 타임코드Thanks for joining the call today.← 대화 텍스트

SRT와 달리, WebVTT에서 선행 큐 식별자 줄은 선택 사항이며 순차적인 번호가 아니라 어떤 문자열도 될 수 있습니다. SubToolDesk의 파서는 고정된 줄 순서를 가정하는 대신 타임스탬프 줄(항상 -->를 포함합니다)을 직접 감지하므로, 식별자가 있는 파일과 없는 파일 모두 올바르게 분석됩니다.

회의 스크립트에서 특히 이 변환이 중요한 이유

Zoom과 Teams의 자동 캡션은 타이밍은 잘 맞지만, 내보낸 파일은 읽는 사람이 아니라 비디오 플레이어를 위해 최적화되어 있습니다. 한 시간짜리 회의는 각각 음성 태그가 붙은 문장 조각인 2초짜리 큐 수백 개를 만들어낼 수 있습니다. 이를 문단 병합을 켠 상태로 이 변환기에 통과시키면 회의록, 블로그 요약, 또는 AI 요약 도구에 전달할 프롬프트에 바로 붙여넣을 수 있는 형태가 되며, 원본 녹음이나 스크립트는 사용자의 기기를 벗어나지 않습니다.

WebVTT 파일은 실제로 어디에서 오는가

영상 회의를 넘어서, WebVTT는 캡션이 있는 어떤 영상이든 YouTube에서 다운로드할 수 있는 캡션 형식이며, 대부분의 AI 전사 서비스(OpenAI Whisper 내보내기 포함)가 기본적으로 사용하는 형식이고, 웹페이지에 직접 임베드된 캡션 영상에 HTML5 <track> 요소가 요구하는 형식입니다. 지난 몇 년 사이 온라인 어디에서든 캡션 파일을 다운로드했다면, 더 오래된 SRT 형식이 아니라 WebVTT일 가능성이 큽니다. 이것이 범용 텍스트 제거 스크립트가 아니라 VTT를 전용으로 다루는 정리 도구가 중요한 이유 중 하나입니다. 범용 접근법은 음성 태그를 찾거나 NOTE 블록을 건너뛰어야 한다는 사실조차 알지 못합니다.

여러 화자가 있는 스크립트를 잘 처리하기

자동 캡션 도구는 때로는 같은 파일 안에서도 두 가지 다른 방식으로 화자를 표시합니다. WebVTT의 네이티브 <v Speaker Name> 태그를 쓰거나, 줄 시작에 일반 텍스트를 붙이는 방식(Jordan: 참여해 주셔서 감사합니다.)입니다. 이 도구의 서식 태그 제거 토글은 첫 번째 방식을 제거하고, 화자 레이블 제거는 두 번째 방식을 제거합니다. 둘을 함께 켜면(이 페이지의 기본 설정) 원본 파일이 어느 방식을 쓰든 두 태그 형식 모두 남지 않은 스크립트가 만들어집니다.

이 변환기가 유지하는 것과 제거하는 것

유지되는 것:

  • 원래의 순서와 문장부호를 그대로 유지한 모든 발화 텍스트.
  • 원래의 큐당 한 줄 구조, 또는 문단으로 병합이 켜져 있다면 문장 단위 문단 구분.

제거되는 것:

  • WEBVTT 헤더 줄.
  • NOTE, STYLE, REGION 메타데이터 블록.
  • 큐 식별자 줄과 모든 타임스탬프 범위.
  • align:start position:10%와 같은 타임스탬프 줄의 큐 설정.
  • 서식 태그 제거가 켜져 있을 때 <v Speaker Name>과 같은 음성 태그.
  • 화자 레이블 제거가 켜져 있을 때 Jordan:과 같은 일반 텍스트 화자 접두사.

자주 발생하는 문제와 해결 방법

  • 출력에 타임스탬프나 --> 화살표가 여전히 남아 있습니다: 변환기 위의 형식 배지가 실제로 Unknown이 아니라 VTT로 표시되는지 확인하세요. 심하게 잘린 채로 붙여넣으면 큐 감지가 깨질 수 있습니다.
  • <v Speaker Name> 태그가 여전히 텍스트 안에 있습니다: 서식 태그 제거를 켜세요. 직접 바꾸지 않았다면 기본적으로 꺼져 있을 리가 없습니다.
  • Jordan:과 같은 일반 텍스트 이름이 여전히 줄 앞에 붙어 있습니다: 이는 별개의 토글인 화자 레이블 제거입니다. 위의 음성 태그 제거와는 다른 패턴을 감지하므로 이것도 켜세요.
  • 스크립트가 자연스러운 문단이 아니라 한 줄에 한 문장씩 표시됩니다: 문단으로 병합을 켜세요.
  • 화자가 바뀌는 지점을 알 수 없을 정도로 문단이 너무 길어집니다: 대신 문단으로 병합을 끄고 큐당 한 줄을 유지하세요. 화자 레이블이 제거되면 일반 텍스트만으로는 문단 중간의 화자 전환을 표시할 방법이 없습니다.
  • 발음 기호가 있는 문자나 비영어 텍스트가 é처럼 깨진 문자로 표시됩니다: 원본 .vtt가 UTF-8로 저장되지 않았습니다. UTF-8로 다시 내보내거나 저장한 뒤 다시 업로드하세요.

결과물을 믿기 전에 확인해야 할 것

자동 생성된 캡션은 간혹 이름, 전문 용어, 발음에 특색이 있는 발화를 잘못 전사하는데, 이는 파일을 만든 캡션 시스템의 한계이며 텍스트 포맷터가 고칠 수 있는 부분이 아닙니다. SubToolDesk는 원본 파일에 있는 내용을 그대로 재구성할 뿐이므로, 회의록이나 법률 기록처럼 공식적인 용도로 스크립트를 사용하기 전에 출력 패널을 원본 녹음과 빠르게 대조해 보는 것이 좋습니다.

자주 묻는 질문

Zoom/Teams에서 캡션을 내보냈습니다. 이 도구로 처리할 수 있나요?

네. Zoom, Microsoft Teams, Google Meet, YouTube는 모두 WebVTT(.vtt) 캡션 파일을 내보내며, 이 페이지의 파서는 그 플랫폼들이 생성하는 표준 WebVTT 사양을 그대로 따르므로 화자별 음성 태그와 위치 메타데이터까지 처리합니다.

VTT 파일에서 계속 보이는 <v Speaker> 태그는 무엇이고, 제거해야 하나요?

이는 어떤 화자가 어떤 줄을 말했는지 표시하는 WebVTT의 내장 방식으로, 스크린 리더와 일부 플레이어가 대화를 표시하는 데 사용합니다. 일반 텍스트로 변환할 때 제거하려면 서식 태그 제거를 켜세요. 타이밍이 사라진 뒤에는 아무런 가치를 더하지 않습니다.

캡션에 NOTE나 STYLE 블록이 있습니다. 스크립트에 그대로 남나요?

아니요. NOTE, STYLE, REGION 블록은 발화 대화가 아니라 WebVTT 메타데이터이며, 파서는 큐 텍스트를 추출하기 전에 이를 완전히 건너뜁니다.

align이나 position 같은 VTT 큐 설정도 처리되나요?

네. 타임스탬프 줄 뒤에 오는 큐 설정(예: align:start position:10%)은 화면 배치에만 영향을 줄 뿐 대화 텍스트 자체에는 영향을 주지 않으므로, 분석 중에 무시됩니다.

HH:MM:SS.mmm 대신 MM:SS.mmm을 쓰는 WebVTT 파일도 변환할 수 있나요?

네. WebVTT는 짧은 파일의 경우 시간 구성 요소 없는 타임스탬프를 허용하며, 파서는 두 형식을 모두 자동으로 정규화합니다.

누구도 새로 말하고 있지 않은데도 왜 Zoom 스크립트는 몇 초마다 새 구간으로 나뉘나요?

Zoom은 화자가 바뀌었는지와 관계없이 스크립트를 짧은 구간(종종 2~3초마다)으로 타임스탬프 처리합니다. 그래서 원본 .vtt를 그대로 읽으면 뚝뚝 끊기는 느낌이 듭니다. 문단으로 병합이 바로 이 문제를 해결하도록 만들어졌습니다. 문장부호를 이용해 자연스러운 경계를 찾아, 짧고 빈번한 조각들을 완전한 문장과 문단으로 다시 이어 붙입니다.