동영상 자막 SRT ↔ WebVTT 변환 및 싱크 보정기
HOTSubRip(.srt)과 WebVTT(.vtt) 자막 파일 상호 변환, 순수 대본 텍스트 추출 및 전체 타임코드 싱크(+/- 초) 일괄 보정
Responsive 728x90 / 320x100 Ad Slot
(CLS Prevention Active · Zero Shift)Native In-Feed / High Viewability Ad Slot
(CLS Prevention Active · Zero Shift)동영상 자막 SRT ↔ WebVTT 상호 변환 및 타임코드 싱크(Offset) 일괄 보정기
유튜브(YouTube), 넷플릭스, 웹 비디오 플레이어(HTML5 `<track>`) 및 영상 편집 소프트웨어(프리미어 프로, 파이널 컷 등)는 저마다 요구하는 자막 파일 포맷이 다릅니다. 특히 가장 대중적인 SubRip(`.srt`) 파일과 웹 표준인 WebVTT(`.vtt`) 파일은 밀리초 구분 기호(쉼표 `,` vs 마침표 `.`)와 헤더 규격이 달라 변환 작업이 빈번하게 필요합니다.
또한 영상 인트로 삽입이나 오디오 싱크 밀림으로 인해 전체 자막 타이밍이 1~2초씩 어긋났을 때, 수백 줄의 타임코드를 일일이 수작업으로 수정하는 것은 엄청난 시간 낭비입니다.
오르보킷 SRT/VTT 자막 변환기는 파일 업로드 없이 브라우저에서 SRT, VTT, 그리고 순수 대본 텍스트(Transcript TXT) 간의 상호 포맷 변환을 즉시 수행합니다. 또한 밀리초 단위의 타임코드 싱크 보정(예: 전체 자막 +1.5초 밀기 또는 -0.8초 당기기)을 원클릭으로 지원하여 완벽한 자막 싱크를 구현합니다.
자막 타임코드 파싱과 밀리초 단위 델타 연산 알고리즘
SRT(`00:01:23,456`)와 VTT(`00:01:23.456` 또는 `01:23.456`)의 시간 구조를 밀리초 정수로 정규화한 뒤 오프셋을 가감하는 원리를 설명합니다.
시, 분, 초, 밀리초를 단일 정수(Ms)로 변환한 후 오프셋(DeltaMs)을 더합니다. 0초 미만으로 내려가지 않도록 하한(Clamp)을 적용한 뒤 포맷별 구분자(SRT는 콤마, VTT는 닷)에 맞춰 2자리/3자리 패딩 문자열로 재구성합니다.
👉 수천 개의 자막 큐(Cue) 전체가 단 1ms의 오차도 없이 일괄 동기화됩니다.
동영상 자막 포맷별 규격 및 호환 플레이어 비교표
SRT, WebVTT, 순수 텍스트 대본의 기술 사양 및 지원 플랫폼 일람
| 자막 포맷 | 타임코드 구분 기호 | 헤더 선언 필요 여부 | 스타일/CSS 지원 | 주요 지원 플랫폼 |
|---|---|---|---|---|
| WebVTT (.vtt) | 마침표 (00:01:23.456) | 필수 (첫 줄에 WEBVTT 선언) | 지원 (CSS ::cue 스타일링) | HTML5 비디오, 넷플릭스, 크롬 브라우저 |
| SubRip (.srt) | 쉼표 (00:01:23,456) | 불필요 (숫자 인덱스로 시작) | 제한적 (기본 <i>, <b> 태그) | 유튜브, 프리미어 프로, VLC 플레이어 |
| 순수 텍스트 (TXT) | 없음 (시간 정보 제거) | 불필요 | 미지원 (순수 텍스트) | 팟캐스트 대본, 블로그 포스팅, AI 요약 |
| SAMI (.smi) | HTML 태그 기반 동기화 | 필수 (<SAMI> 문서 구조) | CSS 스타일 인라인 지원 | 국내 구형 미디어 플레이어 (레거시) |
| ASS / SSA | 복잡한 이벤트 스크립트 | [Events] 헤더 정의 | 고급 애니메이션 및 좌표 지원 | 애니메이션 팬자막, 특수 효과 |
| TTML / DFXP | XML 태그 기반 타임코드 | XML 스키마 헤더 | XML 기반 포괄적 서식 | 방송 규격, 전문 스트리밍 미디어 |
High-Engagement In-Article Native Ad Slot
(CLS Prevention Active · Zero Shift)사용 방법
11. 자막 파일 내용 입력
변환할 SRT 또는 VTT 원본 자막 텍스트를 입력창에 붙여넣거나 [샘플 데이터 넣기]를 클릭합니다.
22. 대상 포맷(Target Format) 선택
상단 탭에서 변환할 포맷(WebVTT, SubRip SRT, 또는 타임코드가 제거된 순수 텍스트 TXT)을 선택합니다.
33. 타임코드 싱크 오프셋(Offset) 조정
자막 타이밍을 앞당기거나 뒤로 밀어야 할 경우 초 단위(+/- 초)를 입력하여 실시간 싱크 보정을 적용합니다.
44. 결과 복사 또는 자막 파일 다운로드
미리보기에서 변환된 자막을 확인한 후 [결과 복사] 또는 [.srt/.vtt 파일 다운로드]를 클릭합니다.
실무 및 일상 실전 활용 사례
현업 및 실제 사이트 운영에서 활용되는 핵심 시나리오
영상 제작팀에서 납품받은 `.srt` 파일을 웹사이트의 `<video><track src='subtitles.vtt'></video>` 규격에 맞게 WebVTT로 즉각 변환합니다.
영상 앞부분에 3.2초 길이의 인트로 로고 영상이 삽입되어 자막이 먼저 나오는 현상을 전체 타임코드 `+3.2초` 오프셋 기능으로 한 번에 맞춥니다.
자막 파일에서 번호와 시간 코드를 모두 제거하고 순수한 발화 텍스트만 깔끔하게 추출하여 아티클 초안이나 대본으로 재활용합니다.
자막이 음성보다 0.5초 늦게 뜨는 문제를 해결하기 위해 `-0.5초`를 적용하여 음성과 자막의 동기화를 칼같이 맞춥니다.
💡 전문가 실무 가이드 및 주의사항
WebVTT 포맷은 첫 줄에 반드시 대문자로 `WEBVTT`가 적혀 있어야 브라우저 내장 비디오 플레이어가 인식합니다.
시간 오프셋에 음수(-1.5)를 입력할 때 첫 번째 자막이 0초보다 앞서게 되면 시작 시간이 자동으로 `00:00:00,000`으로 안전하게 클램핑됩니다.
대본 텍스트 추출 모드를 사용하면 문장별 줄바꿈을 유지하면서 타임코드만 깔끔하게 제거할 수 있습니다.
⚠️ 흔히 하는 실수 & 예방법
자주 묻는 질문 (FAQ)
사용자 및 전문가들이 가장 자주 묻는 핵심 질문과 명확한 해답입니다.
SRT는 밀리초 구분자로 쉼표(`,`)를 사용하는 반면, WebVTT는 웹 표준인 마침표(`.`)를 사용하며 문서 최상단에 `WEBVTT` 식별자 헤더를 필수로 포함해야 합니다.
Wide Responsive Banner
(CLS Prevention Active · Zero Shift)관련 도구 추천
유튜브 타임스탬프 챕터 생성기
유튜브 영상 설명란용 타임스탬프 챕터 목록 작성 및 특정 시점 다이렉트 재생 링크(?t=120s) 원클릭 생성
텍스트 열 정렬기 (고정폭 ASCII 표 생성기)
공백이나 탭으로 삐뚤빼뚤하게 나열된 텍스트를 한글 2칸 너비까지 정밀 계산하여 칼정렬된 고정폭 ASCII/마크다운 표로 변환
개인정보(PII) 자동 탐지 및 마스킹 익명화기
고객 데이터나 서버 로그에서 주민등록번호, 전화번호, 이메일, 16자리 카드번호, IP, 실명을 정규식으로 탐지해 마스킹 처리
발표 대본 소요 시간 계산기 & 웹 텔레프롬프터
WPM/분당 글자수 기반 낭독 시간 정밀 예측 및 실시간 자동 스크롤·거울 모드 웹 프롬프터