Phụ đề WebVTT (.vtt)

W3C Tiêu chuẩn

Web Video Text Tracks (WebVTT) là tiêu chuẩn web chính thức của W3C dành cho chú thích, phụ đề và mô tả chương, được tích hợp sẵn vào các phần tử video HTML5 (<track>) và phát trực tuyến HTTP trực tiếp (HLS) hiện đại.

Chuyển đổi SRT sang VTT

Trình chuyển đổi từ SRT sang VTT miễn phí trên trình duyệt. Chuyển đổi tệp ngay lập tức trên thiết bị của bạn.

Kiểm tra & Siêu dữ liệu

Các hệ điều hành và trình phân tích tệp nhận dạng tệp WebVTT bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

Chọn hoặc thả tệp vào đây

Riêng tư - tệp không bao giờ rời khỏi thiết bị của bạn

Hoặc dán Ctrl+V
Cam kết bảo vệ quyền riêng tư, không truyền dữ liệu qua mạng: 0 byte được tải lên máy chủ bên ngoài. Toàn bộ quá trình xử lý diễn ra cục bộ trong hộp cát trình duyệt của bạn.

Chữ ký ở đầu tệp (mẫu byte nhận diện)

Các hệ điều hành và trình phân tích tệp nhận dạng tệp WebVTT bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

CHỮ KÝ HEX (OFFSET 0):

57 45 42 56 54 54

BIỂU DIỄN ASCII: WEBVTT

Tiêu chuẩn hóa: W3C WebVTT Recommendation

Thông số kỹ thuật

Kiến trúc ContainerTệp văn bản UTF-8 bắt đầu bằng dấu nhận diện 'WEBVTT', tiếp theo là các khối STYLE, NOTE tùy chọn và các đoạn phụ đề tuần tự
NénVăn bản thuần không nén (thường nén qua HTTP bằng Gzip hoặc Brotli)
Thứ tự byteLuồng văn bản UTF-8
Không gian màuHỗ trợ đầy đủ Mô-đun màu CSS cấp 4 trong kiểu đoạn phụ đề
Kênh & Cấu trúcĐoạn có mã thời gian, độ tin cậy nhận dạng lời nói, kiểu CSS và vị trí trên màn hình
Kích thước tối đaSố đoạn tuần tự không giới hạn
Độ trong suốtHỗ trợ đầy đủ độ mờ CSS và độ trong suốt alpha qua phần tử giả '::cue'
Truyền phát & Tăng dầnTruyền phát nguyên bản trong phần tử <video> HTML5 và danh sách phát video trực tiếp HLS / DASH

Ma trận so sánh kỹ thuật: WebVTT so với các đối thủ

Thuộc tính kỹ thuậtWebVTT (Hiện tại)SRTASSSUB
Tích hợp HTML5 trên webTiêu chuẩn nguyên bản 100% (<track>)Yêu cầu chuyển đổi JSYêu cầu WebAssemblyYêu cầu chuyển đổi
Kiểu dáng CSSKiểu dáng CSS nguyên bản đầy đủ (::cue)Chỉ các thẻ HTML cơ bảnThẻ ghi đè độc quyềnKhông có
Phát trực tuyến HLS / DASHWebVTT dùng cho track văn bản có thời gian trong video trình duyệt và một số danh sách phát trực tuyến; trình phát hỗ trợ tùy định dạng phân phối.Được hỗ trợ qua việc trộn luồngHỗ trợ phát trực tuyến hạn chếKhông có
Yêu cầu Tiêu đềDòng 1 phải có chính xác chuỗi nhận diện 'WEBVTT'Không cần tiêu đềPhần [Script Info]Không cần tiêu đề

Các dạng hỏng thường gặp và hướng dẫn khôi phục bằng mã hex

Lỗi bảng điều khiển trình duyệt: 'Tệp WebVTT không hợp lệ: Thiếu chữ ký WEBVTT'.

Nguyên nhân gốc rễ: Thiếu chuỗi 'WEBVTT' ở dòng 1, hoặc các dòng trống trước phần tiêu đề.

Khắc phục: Thêm 'WEBVTT\n\n' vào đầu tệp bằng Công cụ Chuyển đổi Phụ đề File2File.app.

Phân tích bảo mật và các đường tấn công nhằm vào bộ phân tích cú pháp

Các trình phân tích cú pháp WebVTT trong trình duyệt web xử lý các tín hiệu chưa được tin cậy có thể dẫn đến Lỗ hổng Kịch bản Chéo trang (XSS) nếu hiển thị mà không được làm sạch vào DOM.

Các véc-tơ tấn công đã biết

  • Tiêm mã XSS qua nội dung tín hiệu HTML chưa được làm sạch được chèn vào DOM của trình phát video web.
  • Giả mạo yêu cầu phía máy chủ (SSRF) trong quá trình tạo hình thu nhỏ phụ đề tự động ở phía máy chủ.
  • Từ chối dịch vụ thông qua các bộ chọn tín hiệu CSS bị lỗi.

Biện pháp phòng thủ tốt nhất: Dựa vào việc dựng hình thẻ <track> gốc của trình duyệt và làm sạch nội dung chú thích (cue) trước khi chèn thủ công vào DOM.

Nguồn gốc lịch sử và các cột mốc

2019W3C chính thức thúc đẩy WebVTT: Định dạng Web Video Text Tracks tiến tới Đề xuất Khuyến nghị.
2011Đổi tên từ WebSRT thành WebVTT để thiết lập một tiêu chuẩn W3C riêng biệt tách rời khỏi SubRip cổ điển.
2010WHATWG giới thiệu WebVTT để giải quyết việc tạo chú thích nguyên bản cho thẻ <video> HTML5.

Ưu điểm & Lợi ích chính

  • Phần tử HTML <track> dùng WebVTT cho chú thích và phụ đề. Trình duyệt hiển thị thời điểm cue và kiểu dáng qua trình phát video, với một số khác biệt về tính năng cue được hỗ trợ.
  • Hỗ trợ kiểu dáng CSS phong phú: tùy chỉnh màu sắc, phông chữ, hình nền và vị trí bằng phần tử giả CSS tích hợp sẵn '::cue'.
  • Dịch vụ HLS và MPEG-DASH có thể phân phối track phụ đề WebVTT cùng các đoạn video. Hãy kiểm tra trình phát đích hỗ trợ cách đóng gói phụ đề trong danh sách phát và track ngôn ngữ.

Hạn chế & Nhược điểm kỹ thuật

  • Yêu cầu tiêu đề nghiêm ngặt: tệp phải bắt đầu bằng văn bản chính xác 'WEBVTT' ngay ở dòng đầu tiên, nếu không trình duyệt sẽ từ chối.
  • Dấu chấm phân tách mili giây ('00:01:20.500') yêu cầu chuyển đổi từ các tệp SRT phân tách bằng dấu phẩy cũ.
  • Các trình phát phần cứng không phải trình duyệt đời cũ (như hộp phương tiện USB giá rẻ) thường thiếu hỗ trợ WebVTT tích hợp sẵn.

Thông tin kỹ thuật thú vị

  • Mọi tệp WebVTT hợp lệ phải bắt đầu bằng từ chính xác 'WEBVTT' ở dòng đầu tiên; bất kỳ thứ gì khác đều khiến trình duyệt bỏ qua tệp.
  • WebVTT ban đầu có tên là 'WebSRT' vì được thiết kế có chủ ý để trông gần như giống hệt với phụ đề SRT cổ điển.
  • WebVTT cũng có thể được sử dụng cho các chương video và chú thích công cụ hình thu nhỏ tương tác khi di chuột qua thanh trượt video.

Các câu hỏi kỹ thuật thường gặp

WebVTT dùng để làm gì?

WebVTT là định dạng chuẩn web chính thức để thêm phụ đề, chú thích, chương và mô tả vào các phần tử <video> HTML5 trên các trang web.

Làm cách nào để chuyển đổi phụ đề SRT sang WebVTT?

Bạn có thể chuyển đổi các tệp SRT thành các tệp WebVTT sạch sẽ chỉ bằng một cú nhấp chuột bằng cách sử dụng File2File.app trực tiếp trong trình duyệt của bạn.

Tại sao phụ đề WebVTT của tôi không hiển thị trong trình duyệt?

Hãy đảm bảo tệp của bạn bắt đầu bằng 'WEBVTT' ở dòng 1, có một dòng trống bên dưới nó và máy chủ web của bạn phục vụ tệp đó với tiêu đề 'Content-Type: text/vtt'.