WebVTT
Web’in altyazı biçimi: bir tarayıcının HTML <track> ile gösterdiği şey. SubRip’in blokları; bir başlık, milisaniyeden önce bir nokta ve biçimlendirme, konum ve konuşmacılar için bir yer ile.
Kısaca
| Uzantı | .vtt |
|---|---|
| Medya türü | text/vtt |
| Belirtim | W3C, WebVTT: The Web Video Text Tracks Format, Aday Öneri (Candidate Recommendation) |
| Zaman hassasiyeti | Milisaniye |
| Metin kodlaması | Her zaman UTF-8; belirtim bunu zorunlu kılar. Subtitld yine de diğer kodlamaları okur. |
| Biçimlendirme | İtalik, kalın ve altı çizili etiketler; renkler sınıflar ve CSS (::cue) ile. Üstü çizili yok. |
| Konumlandırma | Cue ayarları (line, position, align, size, vertical) ve bölgeler |
| Konuşmacılar | Ses etiketleri: <v Thom> |
| Kapsayıcılarda | Matroska’da S_TEXT/WEBVTT; MP4’te wvtt (ISO/IEC 14496-30); HLS ve DASH akışlarında |
Bir cue’nun yapısı
Dosya bir başlık ve ardından gelen cue’lardan oluşur. Her cue, SubRip’inkine benzer bir bloktur; iki isteğe bağlı bölümü vardır.
WEBVTT intro 00:00:23.000 --> 00:00:24.500 line:0 <v Celia>You're a jerk, <i>Thom</i>.
- 1 · Başlık
WEBVTT, tek başına ya da bir boşlukla bir başlık izleyerek, ardından bir boş satır. Olmazsa tarayıcı dosyanın tamamını reddeder. - 2 · Tanımlayıcı
İsteğe bağlı. Cue için bir ad, kendi satırında: SubRip’teki gibi bir numara ya da bir kelime.
- 3 · Zamanlama
Başlangıç,
-->oku, bitiş. Milisaniyeden önce bir nokta. - 4 · Ayarlar
İsteğe bağlı. Cue’nun ekranda nerede gösterileceği, bitiş zamanından sonra.
- 5 · Metin
Biçimlendirme ve konuşmacılar için etiketlerle metin satırları. Boş bir satır cue’yu bitirir, bu yüzden cue’nun içinde boş satır olmaz.
Zaman kodu
Saatler yazılmayabilir. 00:27.000 aynı zamandır ve bir saatten kısa birçok dosya bu şekilde yazılır. Milisaniyeden önceki virgül SubRip’in alışkanlığıdır, WebVTT’nin değil; Subtitld yine de okur.
Cue dışındaki bloklar
| Blok | İçerdiği |
|---|---|
NOTE |
İnsanlar için bir yorum. Oynatıcılar onu atlar. |
STYLE |
::cue ile cue’lar için CSS. İlk cue’dan önce gelir. |
REGION |
Cue’ların kayabileceği, ekranın adlandırılmış bir alanı. |
Cue metni
| Etiket | Etki |
|---|---|
<i>…</i>, <b>…</b>, <u>…</u> |
İtalik, kalın, altı çizili |
<c.yellow>…</c> |
Bir sınıf; CSS (ya da WebVTT’nin kendi renk sınıfları) bunu renklendirebilir |
<v Thom>… |
Konuşmacı: kim konuşuyor. Kapatmak isteğe bağlıdır. |
<lang pt>…</lang> |
Bir metin parçasının dili |
<ruby>漢<rt>kan</rt></ruby> |
Japonca ve Çince için metnin üstündeki okunuş |
<00:00:28.500> |
Karaoke için cue içinde bir zaman damgası |
& < > |
Ampersand, <, > ve kesilmeyen boşluk; aksi halde işaretleme gibi okunurlar |
Renkler
Sekiz sınıf hiç CSS kullanılmadan renklendirilir: white, lime, cyan, red, yellow, magenta, blue ve black; bir de aynıları bg_ ile arka plan için. Bunların dışındaki her renk kendi sınıfını ve bir STYLE bloğunu gerektirir:
STYLE
::cue(.gold) { color: #ffd700; }
00:00:30.800 --> 00:00:34.000
<c.gold>Why don't you just admit that</c>
Her oynatıcı STYLE bloklarını okumaz; WebVTT’nin kendi renk sınıfları daha güvenli seçimdir. Subtitld, bir renk bu sekizden biri olduğunda bunları kullanır.
Cue ayarları
| Ayar | Ne yapar |
|---|---|
line:0 |
Ekrandaki satır: bir sayı üstten sayar (negatifse alttan), bir yüzde üst kenardan |
position:10% |
Cue kutusunun ekranda yatayda durduğu yer |
align:start |
Kutu içinde metin hizası: start, center, end, left, right |
size:50% |
Kutunun genişliği |
vertical:rl |
Dikey metin, sağdan sola ya da soldan sağa |
region:fred |
Cue’yu bir REGION içinde gösterir |
Subtitld line, position ve align değerlerini altyazının ekrandaki yeri olarak okur; bu, SubRip’in {\an1} ila {\an9} kodlarındaki dokuz yerle aynıdır ve bunları geri yazar: üst için line:0, orta için line:50%,center, yanlar için position:10% align:start ve position:90% align:end.
Subtitld’de WebVTT
- Her altyazının metni ve satır sonları
- İtalik, kalın, altı çizili ve renk
- Ekranda nerede durduğu
- Konuşmacılar, ses etiketleri olarak
- Başlangıç ve bitiş, milisaniyeye kadar, sırayla
- Üstü çizili: WebVTT’nin bunun için bir etiketi yok
- Konuşmacıların yüzleri ve renkleri
- Orijinalin yanındaki çeviriler (biri onun yerini alabilir ya da altına gelebilir)
- Dublaj ve üst veriler
Bunları korumak için bir .usfx projesi kaydedin.
WebVTT dosyası açmak
Subtitld her cue’yu zamanlama satırına göre bulur ve şunları okur:
- başlığı,
NOTE,STYLEveREGIONbloklarını altyazı değil, ne iseler o olarak; cue tanımlayıcılarını ise ad olarak; - saatli ya da saatsiz, noktalı ya da virgüllü zamanları;
- konuşmacı olarak ses etiketlerini, dublaj için hazır;
- WebVTT’nin renk sınıflarını ve bir
STYLEbloğunun diğer sınıflara verdiği renkleri; line,positionvealigndeğerlerini ekrandaki yer olarak;- her kodlamayı, WebVTT UTF-8 istese de.
Yeri olmayanları bırakır: bölgeler, cue’nun boyutu, dikey metin, ruby okunuşları ve karaoke zaman damgaları. Metnin kendisi kalır.
WebVTT dışa aktarmak
Dışa aktar, ardından Altyazılar ve VTT seçildiğinde şunlar sunulur:
- MetinOrijinal, bir çeviri ya da ikisi; çeviri altta.
- Konuşmacı adlarıDışarıda bırakılır, metnin önüne yazılır (Thom: …) ya da WebVTT’nin kendi yolu olan ses etiketi (
<v Thom>) olarak yazılır. - BiçimlendirmeKorunur ya da kaldırılır.
- Zamanları kaydırHer altyazı aynı miktarda önceye ya da sonraya alınır.
Dosya her zaman UTF-8’dir, WebVTT’nin istediği gibi: WEBVTT, ardından cue’lar başlangıç sırasına göre, her zaman saatiyle birlikte. İşaretleme gibi okunacak karakterler varlık (entity) olarak yazılır ve boş altyazılar atlanır.
Bir web sayfasında
<video controls src="tears-of-steel.mp4">
<track kind="subtitles" src="tears-of-steel.en.vtt"
srclang="en" label="English" default>
</video>
Dosyayı text/vtt olarak sunun. Başka bir alan adından, videonun crossorigin özelliğine ve sunucunun bir Access-Control-Allow-Origin başlığına ihtiyacı vardır; aksi halde tarayıcı izi yüklemez.
WebVTT mi SubRip mi?
Oynatıcılar, düzenleyiciler ve yüklemeler için SubRip; web’deki videolar için WebVTT. SubRip sayfası ikisini yan yana koyar.
Bilgi köşesi
WebSRT adıyla başladı: HTML5’in yeni <track> öğesi için WHATWG’de taslağı hazırlandı ve SubRip’e dayandı; sonra WebVTT adını aldı.
Her dosyanın en başında altı harf. Bunları bulamayan bir tarayıcı izin tamamını reddeder.
CSS olmadan bir oynatıcının bildiği renk sayısı: beyaz, lime, cyan, kırmızı, sarı, macenta, mavi ve siyah; hem metin hem arka plan için.
İlgili biçimler
Videoyla birlikte Subtitld'de açın ve dalga biçimi üzerinde yeniden zamanlayın.