CSV in SMI umwandeln
Oder Untertiteltext einfügen
Was diese Konvertierung ändert
In diese Richtung geht nichts verloren — jedes Merkmal des Quellformats hat im Zielformat einen Platz.
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.
CSV in SMI umwandeln: Datei ablegen oder Text einfügen, die SAMI-Fassung herunterladen. Alles läuft lokal im Browser, ohne Upload.
In dieser Richtung geht nichts verloren: start wird zu Start=4126, end zum nächsten SYNC, und der Text samt Zeilenumbrüchen findet in einem P-Element Platz. Die Tabelle oben zeigt für jede Eigenschaft ein ja.
Mehrere Dateien auf einmal sind vorgesehen: Die Warteschlange arbeitet sie nacheinander ab und liefert ein ZIP.
Beispiele
Eine typische CSV-Datei, nach SMI konvertiert
Eingabe
start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."
Ausgabe
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>The quick brown fox.
<SYNC Start=3500>
<P>
<SYNC Start=4000>
<P>Jumps over, the lazy dog.
<SYNC Start=6250>
<P>
<SYNC Start=7000>
<P>Two lines here.<br>And a second one.
<SYNC Start=9000>
<P>
</BODY>
</SAMI>
Hier geht nichts verloren: Die rechte Seite enthält jede Zeit und jeden Text der linken. Der Vergleich zeigt, wie die Tabelle in SYNC-Blöcke zerfällt.
Dieselbe Konvertierung mit widerspenstiger Eingabe
Eingabe
id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.
Ausgabe
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello there, friend.
<SYNC Start=4000>
<P>
<SYNC Start=5000>
<P>Second line.
<SYNC Start=7000>
<P>
<SYNC Start=10000>
<P>End before start.
<SYNC Start=10001>
<P>
<SYNC Start=12000>
<P>Unquoted comma in text, right here.
<SYNC Start=14000>
<P>
</BODY>
</SAMI>
Solche Schäden haben echte Dateien – gemischte Zeilenenden, verirrte Leerzeichen, leere Felder. Vergleichen Sie mit dem sauberen Beispiel oben, um zu sehen, was der Parser verzeiht.
Häufige Fragen
Warum ist CSV nach SMI verlustfrei?
Weil SMI alles ausdrücken kann, was CSV enthält: start wird zu Start=4126, end zum nächsten SYNC, der Text zu einem <P>-Block. Zeitachse, Zeilenumbrüche und Text überleben ohne Abstriche.
Wie sieht die SMI-Ausgabe aus, wenn CSV zu SMI wird?
Jede cue ist ein <SYNC Start=4126>-Block mit dem Text in einem <P>; danach ein <P> -Block zum Löschen. Aus jeder Tabellenzeile wird ein SYNC-Block.
Sind die CSV-Zeiten in SMI exakt?
Ja. CSV schreibt 00:00:04.126, SMI schreibt Start=4126 – beide Millisekunden, nur ohne Doppelpunkte. Gerundet wird nichts.
Was passiert mit einer mehrzeiligen CSV-Zelle in SMI?
Die Zeilen stehen mit <br> getrennt in einem <P>-Block. Beide bleiben Teil derselben cue.
Bleibt die Reihenfolge der CSV-Zeilen in SMI erhalten?
Ja, die SYNC-Blöcke folgen den nach start geordneten Zeilen. Der Text jeder Zeile bleibt unverändert.
Kann ich SMI zurück nach CSV wandeln?
Ja, und das ist die verlustbehaftete Richtung: SMI nach CSV verliert Stil, Position und formatspezifische Inhalte wie <STYLE>-Blöcke. In dieser Richtung geht nichts verloren.