Rainbow Captions Blog Laden

.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

AttributWerteBedeutung
fs0–7Schrift: 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.
szintegerGröß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#RRGGBBTextfarbe. Reines #FFFFFF schreibt man üblicherweise als #FEFEFE.
fo0–254Deckkraft des Textes. 255 wird verworfen — voll deckend ist 254.
bc, bo#RRGGBB, 0–254Farbe der Hintergrundbox und ihre Deckkraft. bo="0" entfernt die Box.
et1–4Kante: 1 harter Schatten, 2 Relief, 3 Leuchten, 4 weicher Schatten. Einen Konturtyp gibt es nicht — ein dunkles Leuchten dient als Kontur.
ec#RRGGBBKantenfarbe. Standard ist #222222 mit der Deckkraft des Textes.
of0–2Versatz: 0 tiefgestellt, 1 normal, 2 hochgestellt.
rb0–5Ruby-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

AttributWerteBedeutung
ap0–8Ankerpunkt: 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.
ah0–100Waagerechte Position.
av0–100Senkrechte 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

AttributWerteBedeutung
ju0–2Ausrichtung: 0 links, 1 rechts, 2 zentriert.
pd0–3Schreibrichtung; 0 ist waagerecht von links nach rechts.
sd0–1Laufrichtung, für senkrechten Text.

<p> und <s> — Zeilen und Segmente

AttributWerteBedeutung
p.t≥ 1 msStartzeit. Manche Android-Player ignorieren eine Zeile, die bei 0 beginnt.
p.d> 0 msDauer.
p.wp, p.wsidFensterposition und Fensterstil, die genutzt werden.
p.pidStift für die ganze Zeile.
s.pidStift für ein einzelnes Segment in der Zeile.
s.t≥ 0 msStart des Segments, relativ zur Zeile — so funktioniert das Timing Wort für Wort.

Die Eigenheiten, die einen Nachmittag kosten

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.

Lass die App das XML schreiben

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