Przejdź do treści
SubtitleMatrix

Konwerter napisów ASS na MicroDVD

Konwersja formatówAdvanced SubStation Alpha (ASS)
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ść.

Co zmienia ta konwersja

5 rzeczy zostaje pominiętych albo wymaga decyzji

  • Formatowanie

    całe formatowanie (pogrubienie, kursywa, kolor, obrys, cień)

  • Pozycjonowanie

    pozycjonowanie na ekranie (każdy blok wraca do domyślnego położenia)

  • Karaoke

    czasy karaoke (podświetlanie sylaba po sylabie)

  • Liczba klatek

    ten format zapisuje czasy jako numery klatek — czasy zależą od podanej liczby klatek na sekundę

  • 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 zamienia ASS w MICRODVD. ASS liczy czas w setnych sekundy; MicroDVD liczy klatki, więc pierwszym krokiem jest przeliczenie osi czasu przez liczbę klatek na sekundę.

Pierwsza linia wyniku deklaruje fps – domyślnie 25 – a każdy blok to para numerów klatek w klamrach i tekst po nich. Format nie przechowuje stylów, pozycji ani karaoke, więc te informacje przepadają; blok dwuliniowy łączy się pionową kreską.

Fps ustaw na wartość wideo, do którego należą napisy: przy złej wartości błąd jest mały na początku i rośnie z czasem. Pliki są przetwarzane w przeglądarce, po kolei, z możliwością przerwania i zbiorczym ZIP-em.

Przykłady

Typowy plik ASS po konwersji do MICRODVD

Wejście

[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

Wynik

{1}{1}25
{25}{100}Hello there.
{125}{213}Italic and bold text.
{225}{300}Positioned
{325}{400}karaoke
{425}{500}Line one|Line two
{525}{600}Top left

W tym wyniku odrzucono: tabelę stylów, pozycjonowanie, karaoke, zależność od fps i treści specyficzne dla formatu. Czas został przeliczony na klatki przy 25 fps, a reszta zgadza się linia po linii.

Ta sama konwersja na trudnym pliku

Wejście

[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 timecode

Wynik

{1}{1}25
{25}{100}Hello, world
{125}{200}{\fad(300,300)}Unmodelled override
{225}{300}Both, wrong order
{325}{413}One decimal centisecond
{425}{500}Soft|break

Tak wyglądają prawdziwe pliki – mieszane końce wierszy, zbłąkane spacje, puste pola. Porównaj z czystym przykładem powyżej, żeby zobaczyć, co parser wybacza.

Częste pytania

Co się dzieje z pogrubieniem, kursywą i kolorem przy konwersji ASS do MICRODVD?

MICRODVD nie przechowuje formatowania, więc kody \i1 i kolory z tabeli [V4+ Styles] przepadają, a każda linia wychodzi jako czysty tekst.

Co dzieje się z pozycją ekranową przy konwersji ASS do MICRODVD?

MICRODVD nie opisuje położenia napisu, więc \pos, \an i \move są odrzucane, a bloki wracają na domyślną pozycję odtwarzacza.

Co dzieje się z karaoke z ASS w pliku MICRODVD?

Taktowanie znika, a sylaby zostają jako zwykły tekst; kody \k, \kf i \ko nie mają odpowiednika.

Jaką liczbę klatek na sekundę wybrać dla konwersji ASS do MICRODVD?

MICRODVD zapisuje blok jako parę numerów klatek, np. {103}{175}, więc fps przelicza czasy ASS na klatki. Domyślnie przyjmowane jest 25 fps, a cztery sekundy to klatka 100; ustaw fps wideo, do którego należą napisy, bo przy złej wartości błąd rośnie z czasem trwania.

Co się dzieje z blokiem [Script Info] i resztą skryptu ASS w MICRODVD?

Napisy powstają tylko z Dialogue:. Blok [Script Info] z tytułem, tabela stylów, Comment: oraz [Fonts] i [Graphics] są odrzucane.

Jak wygląda wynik, gdy ASS zamienia się w MICRODVD?

Jak MICRODVD: bez numerów bloków, każda linia zaczyna się parą numerów klatek w nawiasach klamrowych, a pierwsza linia to {1}{1}25, czyli deklaracja fps.

Jak w MICRODVD wygląda blok ASS z dwiema liniami?

Jako jedna linia z pionową kreską między połowami – Line one|Line two – bo tak MicroDVD zapisuje złamanie wiersza.

Czy kolejność bloków ASS jest zachowana w MICRODVD?

Tak, po posortowaniu rosnąco po czasie początku; wynik ma porządek zgodny z osią czasu.

Czy da się zamienić MICRODVD z powrotem na ASS?

Tak, ale MICRODVD do ASS odrzuca liczbę klatek i precyzję: z numerów klatek nie da się odtworzyć dokładnego czasu bez znajomości fps.

Czy wynik MICRODVD zachowuje kodowanie pliku ASS?

Nie – wynik jest w UTF-8 bez BOM i z uniksowymi końcami wierszy, niezależnie od kodowania źródła.

Powiązane narzędzia