Konwerter napisów SBV na TTML
Albo wklej tekst napisów
Co zmienia ta konwersja
W tym kierunku nic nie ginie — każda cecha formatu źródłowego ma gdzie trafić w formacie docelowym.
Ta lista pochodzi z macierzy możliwości tych dwóch formatów, a nie z konkretnego wczytanego pliku. Konkretny plik może stracić więcej, jeśli używa cech, które format dopuszcza, ale macierz ich nie modeluje.
Ta strona konwertuje SBV na TTML. Przeciągnij plik — albo wklej tekst — i otrzymasz wersję TTML. Konwersja odbywa się w całości w przeglądarce, więc nic nie jest wysyłane i nie potrzebujesz konta.
W tym kierunku nic nie ginie. Każda możliwość SBV ma odpowiednik w TTML, więc wynik to te same napisy w innym opakowaniu — oś czasu, podziały wierszy i tekst zostają. Dotyczy to każdego pliku SBV, także takiego, który wykorzystuje wszystkie możliwości formatu.
Jeden plik wystarczy, a cały sezon też: kolejka przetwarza je po kolei, a wyniki pobierasz razem jako jeden plik ZIP.
Przykłady
Typowy plik SBV po konwersji na TTML
Wejście
0:00:01.000,0:00:03.500
The quick brown fox.
0:00:04.000,0:00:06.250
Jumps over the lazy dog.
0:00:07.000,0:00:09.000
Two lines here.
And a second one.
Wynik
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:01.000" end="00:00:03.500">The quick brown fox.</p>
<p begin="00:00:04.000" end="00:00:06.250">Jumps over the lazy dog.</p>
<p begin="00:00:07.000" end="00:00:09.000">Two lines here.<br/>And a second one.</p> </body>
</tt>
Nic tu nie ginie: porównaj obie strony wiersz po wierszu.
Ta sama konwersja na niechlujnym wejściu
Wejście
0:00:02.000,0:00:04.000
Carriage-return line endings.
0:00:06.000,0:00:08.000
Indented timecode, no final newline.Wynik
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:02.000" end="00:00:04.000">Carriage-return line endings.</p>
<p begin="00:00:06.000" end="00:00:08.000">Indented timecode, no final newline.</p> </body>
</tt>
Takie uszkodzenia mają prawdziwe pliki — mieszane końce wierszy, zbłąkane odstępy, puste pola. Porównaj to z czystym przykładem wyżej, żeby zobaczyć, co parser wybacza.
Częste pytania
Jak wygląda wynik, gdy SBV staje się TTML?
Jak TTML: bez numerów bloków — każdy napis to element p z atrybutami begin i end, zagnieżdżony w elemencie body, a całość poprzedza deklaracja XML. Wynik nie zawiera elementu head ani div: to deklaracja, tt, body i elementy p. Każdy blok SBV staje się jednym blokiem TTML, w tej samej kolejności i z tym samym tekstem.
Czy czasy z SBV są dokładne w pliku TTML?
Tak, co do milisekundy — a to najdrobniejsza jednostka w obu formatach. SBV zapisuje moment jako 0:00:04.126, a TTML zapisuje ten sam moment jako 00:00:04.126; nic nie jest zaokrąglane ani przesuwane, a blok widoczny 2,9 sekundy nadal tyle trwa.
Jak blok SBV z dwóch wierszy wygląda w TTML?
Jako dwa wiersze rozdzielone elementem br, którym TTML zapisuje twardy podział wiersza. Para zostaje razem — oba wiersze SBV nadal należą do jednego elementu p w wyniku TTML, a odtwarzacz pokazuje je jednocześnie.
Czy bloki SBV zachowują kolejność w wyniku TTML?
Tak, po drodze są sortowane według czasu rozpoczęcia — najwcześniejszy pierwszy, tak jak oczekuje TTML i jak czytają je odtwarzacze. Jeśli plik SBV miał bloki poza kolejnością, wynik TTML przywraca porządek; to zmiana struktury pliku, nie treści, i jest zamierzona.
Czy mogę przekonwertować TTML z powrotem na SBV?
Tak, ale to kierunek stratny: styl, pozycjonowanie i treści specyficzne dla TTML nie mają gdzie trafić w SBV. W tę stronę nic nie ginie, więc ten koszt pojawia się tylko przy powrocie.
Czy wynik TTML zachowuje kodowanie pliku SBV?
Nie — wynik jest w UTF-8, z uniksowymi końcami wierszy i bez BOM, niezależnie od tego, czego użył plik SBV. Plik w UTF-16 albo w jednobajtowym kodowaniu Windows jest dekodowany przy wczytywaniu (panel wyniku to sygnalizuje); na wyjściu zawsze powstaje TTML w UTF-8.