Konwerter napisów SMI na TXT
Albo wklej tekst napisów
Co zmienia ta konwersja
5 rzeczy zostaje pominiętych albo wymaga decyzji
- Czasy
cała oś czasu (format docelowy w ogóle nie zapisuje czasów)
- Formatowanie
całe formatowanie (pogrubienie, kursywa, kolor, obrys, cień)
- Pozycjonowanie
pozycjonowanie na ekranie (każdy blok wraca do domyślnego położenia)
- Podziały wierszy
podziały wierszy (bloki wielowierszowe zostaną zlepione w jeden wiersz)
- Treści specyficzne dla formatu
treść, którą format źródłowy trzyma poza blokami (bloki niebędące napisami, tekst nagłówka, ustawienia pojedynczych bloków, zakomentowane zdarzenia) — format docelowy nie ma dla niej miejsca
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 SMI na TXT. Przeciągnij plik — albo wklej tekst — i otrzymasz wersję TXT. Konwersja odbywa się w całości w przeglądarce, więc nic nie jest wysyłane i nie potrzebujesz konta.
Te dwa formaty nie przechowują tych samych rzeczy i różnica nie jest kosmetyczna: czas, styl, pozycjonowanie, podziały wierszy i treści specyficzne dla formatu. W formacie TXT nie ma na to miejsca. Powyższa lista wynika z tego, co potrafią wyrazić oba formaty, a nie z twojego pliku, więc odpowiedź jest ta sama, zanim cokolwiek wczytasz.
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 SMI po konwersji na TXT
Wejście
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>
</BODY>
</SAMI>
Wynik
Hello there.
How are you?
Fine, thanks.
W tym wyniku ginie: czas, styl, pozycjonowanie, podziały wierszy i treści specyficzne dla formatu. Poza tym obie strony zgadzają się wiersz po wierszu.
Ta sama konwersja na niechlujnym wejściu
Wejście
<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom & Jerry
<SYNC Start=12000>
<P Class=ENCC>
</BODY>
</SAMI>
Wynik
Line one
Line two
Tom & Jerry
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
Gdzie podziały się znaczniki czasu z SMI w pliku TXT?
TXT nie ma ich czym zastąpić: eksport tekstowy to słowa, nie momenty. Kolejność linii SMI zostaje, więc czterdziesta linia pliku jest czterdziestą linią wyniku, ale nic w nim nie mówi, kiedy cokolwiek pojawia się na ekranie.
Co dzieje się z pogrubieniem, kursywą i kolorem przy przejściu z SMI do TXT?
TXT nie przechowuje żadnego stylu, więc ginie cały: znacznik i albo font color wpisany w tekst akapitu, albo reguła z bloku STYLE w nagłówku — nic z tego nie ma gdzie trafić, a każda linia jest zapisywana jako czysty tekst. Same słowa pozostają bez zmian.
Co dzieje się z pozycją na ekranie przy przejściu z SMI do TXT?
TXT nie potrafi powiedzieć, gdzie napis jest rysowany, więc atrybuty akapitów i CSS, na który wskazują, znikają przy wyjściu z SMI, a każdy blok wraca do domyślnej pozycji wybranej przez odtwarzacz — zwykle na dół ekranu, wyśrodkowany.
Co dzieje się z blokiem SMI z dwóch wierszy w TXT?
Oba wiersze są zapisane, jeden pod drugim, ale plik przestaje mówić, że należą do siebie: TXT nie potrafi grupować linii w jeden blok, więc ponowne odczytanie wyniku dałoby dwa bloki tam, gdzie plik SMI miał jeden. Ma to znaczenie, jeśli potem czyta ten plik tłumaczenie albo narzędzie do synchronizacji.
Co dzieje się z blokiem STYLE, elementem TITLE i atrybutami Class= z SAMI w TXT?
Znikają. SAMI mówi, jak wyglądają napisy, poza tekstem bloku: blok STYLE z CSS, element TITLE i znacznik kanału Class=ENCC. TXT to same linie tekstu, więc nie ma gdzie tego umieścić. Wyróżnienia wpisane w tekst bloku również znikają, bo TXT nie zapisuje żadnych znaczników.
Jak wygląda wynik, gdy SMI staje się TXT?
Jak TXT: bez numerów bloków i bez znaczników czasu — jedna linia tekstu na każdą linię napisów. Każdy blok SMI przechodzi do wyniku TXT w tej samej kolejności i z tym samym tekstem.
Czy bloki SMI zachowują kolejność w wyniku TXT?
Tak, po drodze są sortowane według czasu rozpoczęcia — najwcześniejszy pierwszy. Jeśli plik SMI miał bloki poza kolejnością, wynik TXT przywraca porządek; to zmiana struktury pliku, nie treści, i jest zamierzona.
Czy mogę przekonwertować TXT z powrotem na SMI?
Tak, ale ma własną listę: konwersja TXT na SMI traci czas — plik tekstowy nie przechowuje żadnych znaczników, więc całą oś czasu trzeba zbudować od nowa. Ta lista różni się od powyższej, bo oba formaty przechowują różne rzeczy.
Czy wynik TXT zachowuje kodowanie pliku SMI?
Nie — wynik jest w UTF-8, z uniksowymi końcami wierszy i bez BOM, niezależnie od tego, czego użył plik SMI. Plik w UTF-16 albo w jednobajtowym kodowaniu Windows jest dekodowany przy wczytywaniu (panel wyniku to sygnalizuje); na wyjściu zawsze powstaje TXT w UTF-8.