Konwerter napisów LRC na MicroDVD
Albo wklej tekst napisów
Opcje
W jakiej liczbie klatek na sekundę liczone są czasy. Na stronach formatów tego wymaga MicroDVD, bo zapisuje czasy jako numery klatek. Na stronach poświęconych liczbie klatek jest to stawka, według której zgrany był plik — wersja, dla której powstały napisy — a drugie pole na stronie przyjmuje liczbę klatek wideo, z którym napisy będą używane. Najczęstsze wartości to 23,976, 24, 25, 29,97, 30, 50, 59,94 i 60. Pomyłka przesuwa całą oś czasu, a na stronach poświęconych liczbie klatek przesuwa ją o współczynnik, a nie o stałą wartość.
Używane, gdy źródło nie ma czasów końca (zwykły tekst, LRC). Oś czasu w wyniku jest tu generowana, a nie konwertowana, więc dostajesz dokładnie tę liczbę.
Co zmienia ta konwersja
2 rzeczy zostają pominięte albo wymagają decyzji
- Czasy
czasy końca bloków — źródło ich nie zapisuje, więc czasy w wyniku zostaną wygenerowane, a nie skonwertowane
- Liczba klatek
ten format zapisuje czasy jako numery klatek — czasy zależą od podanej liczby klatek na sekundę
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.
MicroDVD liczy czas w klatkach, a LRC w godzinach, minutach i sekundach. Konwersja musi więc wyliczyć końce wierszy, a potem przeliczyć każdy moment na numer klatki — do tego potrzebna jest liczba klatek na sekundę, ustawiana na stronie.
LRC końca nie zapisuje, więc parser bierze go z początku następnego wiersza, a ostatniemu wierszowi nadaje długość z pola. Wiersze dzielące jeden znacznik zostają jednym blokiem, a ich linie rozdziela `|`, czyli sposób MicroDVD na złamanie wiersza.
Pierwsza linia wyniku deklaruje użytą liczbę klatek, na przykład `{1}{1}25`. Kolejność pierwszeństwa jest następująca: wartość z tej strony, potem deklaracja w pierwszej linii pliku, a na końcu domyślne 25. Wszystko działa w przeglądarce.
Przykłady
Typowy plik LRC po konwersji na MicroDVD
Wejście
[ti:Sample Song]
[ar:Some Artist]
[length:00:41.00]
[offset:+250]
[00:12.00]First line of the song.
[00:15.30]Second line.
[00:15.30]Second line, translated.
[00:18.00]
[00:21.50]Final line.Wynik
{1}{1}25
{300}{383}First line of the song.
{383}{450}Second line.|Second line, translated.
{450}{538}
{538}{588}Final line.
W tym wyniku giną timing i liczba klatek: czasy zamieniły się na numery klatek, a same końce wyliczono z kolejnych wierszy.
Ta sama konwersja na nierównym pliku wejściowym
Wejście
[ar:Some Artist]
[0:05.5]Leading zero omitted, one decimal.
[00:07]Second with no centiseconds.
[00:03.00]Out of order.
[00:07.00][00:09.00]Repeated chorus line.
[00:12.00]Wynik
{1}{1}25
{75}{138}Out of order.
{138}{175}Leading zero omitted, one decimal.
{175}{225}Second with no centiseconds.|Repeated chorus line.
{225}{300}Repeated chorus line.
{300}{350}
Takie uszkodzenia ma wiele prawdziwych plików: mieszane końce wierszy, zbłąkane spacje, puste pola. Porównaj to z czystym przykładem powyżej, żeby zobaczyć, co parser wybacza.
Częste pytania
Jak wiersz LRC dostaje koniec w formacie MicroDVD?
Z początku następnego wiersza, bo LRC nie zapisuje końców. MicroDVD wymaga dwóch numerów klatek w każdym bloku, więc bez tej reguły nie dałoby się go zbudować. Ostatni wiersz dostaje długość z pola na stronie i również zostaje przeliczony na klatki.
Jaką liczbę klatek ustawić przy konwersji LRC na MicroDVD?
Taką, przy której powstały napisy: 25 dla PAL, 23,976 lub 24 dla filmu, 29,97 dla telewizji amerykańskiej. Cztery sekundy przy 25 fps to klatka 100. Przy błędnej wartości początek prawie się nie rozjeżdża, ale im dłuższy materiał, tym większe przesunięcie — dlatego pole jest widoczne na stronie.
Jak wygląda MicroDVD powstały z pliku LRC?
Każdy blok to para numerów klatek w nawiasach i tekst, na przykład `{300}{383}`. Nie ma numerów bloków ani czasów zegarowych. Pierwsza linia pliku deklaruje liczbę klatek, więc odtwarzacz od razu wie, jak czytać pozostałe liczby.
Jak dwuwierszowy blok LRC wychodzi w MicroDVD?
Jako jedna linia z pionową kreską `|` między połówkami. MicroDVD zapisuje tak złamanie wiersza, więc para oryginał–tłumaczenie pozostaje jednym blokiem. Odtwarzacz pokaże obie części razem, w tym samym przedziale klatek.
Czy kolejność bloków LRC zostaje w MicroDVD?
Tak, po sortowaniu rosnąco według czasu rozpoczęcia. MicroDVD czyta bloki w kolejności zapisu i przelicza je na klatki, więc uporządkowanie jest konieczne dla poprawnego odtwarzania. Zmienia się struktura pliku, nie treść ani wartości momentów.
Co ginie przy powrocie z MicroDVD do LRC?
Timing, liczba klatek i precyzja. LRC nie zapisuje końców ani nie potrzebuje fps do odczytu, a czas startu zaokrągla do setnej sekundy. Zostaje tekst i początki wierszy; klatki z MicroDVD nie mają w LRC żadnego odpowiednika.
Jakie kodowanie ma MicroDVD powstały z LRC?
Wyjście jest w UTF-8, z końcami wierszy LF i bez BOM. Plik LRC w UTF-16 albo w kodowaniu jednobajtowym Windows jest dekodowany przed konwersją, a panel wyniku o tym informuje. Polskie znaki diakrytyczne wychodzą poprawnie.