.ytt-Format:eine Referenz für die Praxis
Eine Referenz zu YouTubes Timed-Text-Format — dem XML hinter gestalteten Untertiteln, gespeichert als .ytt und bei YouTube intern Format 3 oder SRV3 genannt. Unten steht, was das Format in der Praxis annimmt, samt der Werte, die vernünftig aussehen und still verworfen werden.
Wie eine Datei aufgebaut ist
<timedtext format="3">
<head>
<pen id="1" b="1" fc="#FEFEFE" fo="254" et="4" ec="#000000"/>
<wp id="0" ap="7" ah="50" av="90"/>
<ws id="0" ju="2"/>
</head>
<body>
<p t="1000" d="1600" wp="0" ws="0" p="1">Today we fix that.</p>
</body>
</timedtext>
Der Kopf deklariert wiederverwendbare Stile: pen für den Text, wp dafür, wo das Untertitelfenster sitzt, ws dafür, wie der Text darin ausgerichtet ist. Der Körper ist die Liste der Untertitelzeilen, die jeweils per id auf die Stile zeigen, die sie nutzen.
<pen> — der Textstil
| Attribut | Werte | Bedeutung |
|---|---|---|
fs | 0–7 | Schrift: 0 Standard-Grotesk, 1 Courier New, 2 Times New Roman, 3 Lucida Console, 5 Comic Sans MS, 6 Monotype Corsiva, 7 Carrois Gothic SC. 4 ist nicht definiert. |
sz | integer | Größe. 100 ist YouTubes Standard; die Skala ist nicht linear (siehe unten). |
b, i, u | "1" | Fett, kursiv, unterstrichen. Wird nur geschrieben, wenn es zutrifft. |
fc | #RRGGBB | Textfarbe. Reines #FFFFFF schreibt man üblicherweise als #FEFEFE. |
fo | 0–254 | Deckkraft des Textes. 255 wird verworfen — voll deckend ist 254. |
bc, bo | #RRGGBB, 0–254 | Farbe der Hintergrundbox und ihre Deckkraft. bo="0" entfernt die Box. |
et | 1–4 | Kante: 1 harter Schatten, 2 Relief, 3 Leuchten, 4 weicher Schatten. Einen Konturtyp gibt es nicht — ein dunkles Leuchten dient als Kontur. |
ec | #RRGGBB | Kantenfarbe. Standard ist #222222 mit der Deckkraft des Textes. |
of | 0–2 | Versatz: 0 tiefgestellt, 1 normal, 2 hochgestellt. |
rb | 0–5 | Ruby-Anmerkung (Furigana): 0 keine, 1 Basis, 2 Klammer, 4 Text davor, 5 Text danach. |
Die Formel für die Größe
Der Wert in sz ist nicht die Größe, die du meinst. Er läuft viermal schneller als die echte Skalierung:
sz = (1 + (scale − 1) × 4) × 100
scale = 1 + (sz / 100 − 1) / 4
sz="100" ergibt also 100 %, sz="200" ergibt 125 % und sz="50" rund 87 %. YouTubes Standardgröße für Untertitel liegt bei etwa 4,6–4,8 % der Bildhöhe, und genau so groß stellt sz="100" dar.
<wp> — die Fensterposition
| Attribut | Werte | Bedeutung |
|---|---|---|
ap | 0–8 | Ankerpunkt: 0 oben links, 1 oben mittig, 2 oben rechts, 3 mittig links, 4 Mitte, 5 mittig rechts, 6 unten links, 7 unten mittig, 8 unten rechts. |
ah | 0–100 | Waagerechte Position. |
av | 0–100 | Senkrechte Position. |
Positionen sind keine reinen Prozentwerte des Bildes. YouTube bildet sie auf einen Sicherheitsbereich ab:
screen% = value × 0.96 + 2
av="0" landet 2 % von oben, av="100" bei 98 %. Für den Weg zurück rechnet ein Konverter value = (screen% − 2) / 0.96.
<ws> — der Fensterstil
| Attribut | Werte | Bedeutung |
|---|---|---|
ju | 0–2 | Ausrichtung: 0 links, 1 rechts, 2 zentriert. |
pd | 0–3 | Schreibrichtung; 0 ist waagerecht von links nach rechts. |
sd | 0–1 | Laufrichtung, für senkrechten Text. |
<p> und <s> — Zeilen und Segmente
| Attribut | Werte | Bedeutung |
|---|---|---|
p.t | ≥ 1 ms | Startzeit. Manche Android-Player ignorieren eine Zeile, die bei 0 beginnt. |
p.d | > 0 ms | Dauer. |
p.wp, p.ws | id | Fensterposition und Fensterstil, die genutzt werden. |
p.p | id | Stift für die ganze Zeile. |
s.p | id | Stift für ein einzelnes Segment in der Zeile. |
s.t | ≥ 0 ms | Start des Segments, relativ zur Zeile — so funktioniert das Timing Wort für Wort. |
Die Eigenheiten, die einen Nachmittag kosten
- Nur eine Kante pro Stift. Kontur und Schatten am selben Text heißt: die Zeile zweimal schreiben, mit zwei Stiften, einer über dem anderen.
- Dickere Konturen sind gestapelte Kopien. Wiederhole dieselbe Zeile mit Leuchten ein paar Mal; vergrößere die Schrift der darunterliegenden Kopien nicht, sonst laufen die Ebenen waagerecht auseinander.
- Deckkraft 255 verschwindet. Nimm 254.
- Füllzeichen ohne Breite. Zeilen, die mehrere gestylte Segmente mischen, brauchen Leerzeichen ohne Breite darum herum, sonst klappen manche Mobil-Player das Styling auf den Stift der Zeile zusammen.
- Keine Animation. Zoom und Roll-up sind Reihen von Untertiteleinträgen im Abstand von einigen Dutzend Millisekunden.
- Die Einstellungen der Zuschauer gewinnen. Wer das Aussehen der Untertitel im Player geändert hat, sieht seine Einstellungen, nicht deine Stifte.
Woher diese Informationen stammen
YouTube dokumentiert das Format nicht öffentlich. Das Referenzverhalten stammt von YTSubConverter, dem Open-Source-Konverter, dessen Quellcode als De-facto-Spezifikation gilt, abgeglichen mit echten Untertitelspuren von YouTube und mit dem, was die Player tatsächlich darstellen. Rainbow Captions schreibt dasselbe Format — du kannst Spuren mit den Tabellen oben von Hand bauen oder die App die Ebenen, die Schutzzeichen und das Timing pro Wort übernehmen lassen.
Rainbow Captions übernimmt die Stifte, die gestapelten Konturen, die Schutzzeichen und das Timing pro Wort – in 170 Sprachen. Kostenloser Download, die ersten 10 Sprachen gratis.
Für Mac laden