ASS in CSV umwandeln
Oder Untertiteltext einfügen
Was diese Konvertierung ändert
4 Sachen entfallen oder brauchen eine Entscheidung
- Formatierung
die gesamte Formatierung (Fett, Kursiv, Farbe, Kontur, Schatten)
- Positionierung
die Positionierung auf dem Bildschirm (jeder Block kehrt an die Standardposition zurück)
- Karaoke
Karaoke-Zeitangaben (Hervorhebung pro Silbe)
- Formatspezifischer Inhalt
Inhalt, den das Quellformat außerhalb seiner Blöcke führt (Nicht-Block-Abschnitte, Kopftext, Einstellungen pro Block, auskommentierte Ereignisse) — das Zielformat hat keinen Platz dafür
Diese Liste stammt aus der Fähigkeitsmatrix für diese beiden Formate, nicht aus der konkreten Datei, die Sie geladen haben. Eine bestimmte Datei kann mehr verlieren, wenn sie Merkmale nutzt, die das Format erlaubt, die Matrix aber nicht modelliert.
Diese Seite konvertiert ASS in CSV. Datei hineinziehen – oder Text einfügen – und Sie erhalten die CSV-Fassung zurück. Die Konvertierung läuft vollständig in Ihrem Browser, nichts wird hochgeladen, kein Konto ist nötig.
Die beiden Formate speichern nicht dasselbe: Stile, Positionierung, Karaoke und formatspezifische Inhalte haben in CSV keinen Platz. Fett und Kursiv kommen aber als Inline-Tags an, und die Zeitachse bleibt. Die Liste oben stammt aus dem, was die Formate ausdrücken können, nicht aus Ihrer Datei.
Eine Datei oder eine ganze Staffel: Die Warteschlange arbeitet der Reihe nach, und die Ergebnisse kommen als ein ZIP-Archiv.
Beispiele
Eine typische ASS-Datei, konvertiert nach CSV
Eingabe
[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left
Ausgabe
start,end,text
00:00:01.000,00:00:04.000,Hello there.
00:00:05.000,00:00:08.500,<i>Italic</i> and <b>bold</b> text.
00:00:09.000,00:00:12.000,Positioned
00:00:13.000,00:00:16.000,<c>ka</c><c>ra</c><c>o</c><c>ke</c>
00:00:17.000,00:00:20.000,"Line one
Line two"
00:00:21.000,00:00:24.000,Top left
In dieser Ausgabe gehen verloren: Stile, Positionierung, Karaoke und formatspezifische Inhalte. Alles andere stimmt Zeile für Zeile überein.
Dieselbe Konvertierung mit ungewöhnlicher Eingabe
Eingabe
[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecodeAusgabe
start,end,text
00:00:01.000,00:00:04.000,"Hello, world"
00:00:05.000,00:00:08.000,"{\fad(300,300)}Unmodelled override"
00:00:09.000,00:00:12.000,"Both, wrong order"
00:00:13.000,00:00:16.500,One decimal centisecond
00:00:17.000,00:00:20.000,"Soft
break"
So sehen echte Skripte aus – gemischte Zeilenenden, Override-Codes, eingebettete Schriften. Vergleichen Sie mit dem sauberen Beispiel oben.
Häufige Fragen
Überleben Fett und Kursiv den Weg von ASS nach CSV?
Die Betonung ja, die Stiltabelle nein. Formatierung, die zu einem Textstück gehört, wird als Tag in das CSV-Textfeld geschrieben (`<i>`, `<b>`, `<u>`, `<font color="…">`). Verloren geht, was das ASS-Skript global sagte: Schriftart, Größe, Kontur, Schatten und Ränder.
Was passiert mit der Bildschirmposition beim Weg von ASS nach CSV?
CSV kann nicht sagen, wo ein Untertitel gezeichnet wird, deshalb fallen `\pos`, `\an` und `\move` weg, und jeder Block kehrt an die Standardposition des Players zurück – meist unten mittig.
Was passiert mit dem Karaoke-Timing beim Weg von ASS nach CSV?
Das Timing geht, die Wörter bleiben. Karaoke lebt in `\k`, `\kf` und `\ko`; CSV kann keinen Moment innerhalb einer Zeile festhalten, also fallen die Marken weg und die Silben kommen als gewöhnlicher CSV-Text an.
Was passiert mit den [Script Info]-Abschnitten von ASS und dem Rest des Skripts in CSV?
Nur die `Dialogue:`-Zeilen werden Untertitel. `[Script Info]` samt Titel, die Stiltabelle, `Comment:`-Zeilen und eingebettete Schriften oder Grafiken fallen weg.
Sind die ASS-Zeitangaben in der CSV-Datei exakt?
Ja, auf die Millisekunde. ASS schreibt `0:00:04.13`, CSV denselben Moment als `00:00:04.130`; nichts wird gerundet oder verschoben, und ein Block, der 2,9 Sekunden sichtbar war, bleibt es.
Was geht bei ASS nach CSV verloren?
Stile, Positionierung, Karaoke und formatspezifische Inhalte: Stiltabelle, Farben, Positionen und Karaoke-Marken entfallen. Text, Zeitachse und Fett/Kursiv als Inline-Tags bleiben.