Przejdź do treści
SubtitleMatrix

Scal dwa pliki napisów w jeden

Tekst i stylScalanie dwóch ścieżek w jeden plik dwujęzyczny
Albo wklej tekst napisów
Albo wklej tekst drugiego pliku

Opcje

Dwa napisy rzadko zgadzają się blok po bloku, a to wybór, który decyduje, co się dzieje wszędzie tam, gdzie się nie zgadzają. Gdziekolwiek blok z jednego pliku nakłada się na blok z drugiego, oba są traktowane jako ten sam moment i prowadzone razem, a nakładanie decyduje, jak długo wynik zostaje na ekranie. Reszta należy do tego wyboru. Opcja Zachowaj oba pliki dodaje każdy niedopasowany blok jako osobny wiersz, więc nie brakuje ani jednego słowa z żadnego wejścia — a czasy drugiego pliku nie są zachowane, bo niedopasowany blok i tak musi gdzieś leżeć na osi czasu pierwszego pliku. Opcja Zachowaj oś czasu pierwszego pliku robi odwrotnie: bloki pierwszego pliku zachowują dokładnie te początki i końce, z którymi przyszły, nic nowego nie jest wstawiane, a każdy blok drugiego pliku, który do niczego nie pasuje, jest usuwany. Raport po uruchomieniu zawsze podaje, ile to było bloków.

Gdy dwa bloki są traktowane jako ten sam moment, ich tekst musi dzielić ekran. Układ w dwóch wierszach to sposób, w jaki zwykle nadaje się napisy dwujęzyczne i jak większość odtwarzaczy oczekuje je zobaczyć: wiersz pierwszego pliku leży nad wierszem drugiego, a blok staje się dwuwierszowy. Wymaga to, by blok dopuszczał podział wiersza, dlatego każdy format zapisujący blok jako jeden wiersz jest z tej strony całkowicie wyłączony, zamiast być tu po cichu spłaszczany. Układ w jednym wierszu stawia oba języki w jednym wierszu, rozdzielone tym, co wpiszesz w polu niżej, co jest tym, czego chcesz, gdy czytelnicy mają najpierw widzieć tłumaczenie, a oryginał jako dodatek — napisy tłumacza, a nie dwujęzyczne napisy telewizyjne.

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ść.

Ta strona bierze dwa pliki napisów i daje jeden. Włóż oryginał do pierwszego pola, a tłumaczenie do drugiego: każdy blok z jednego pliku, który dzieli czas ekranu z blokiem z drugiego, staje się jednym blokiem z oboma tekstami – oryginał w pierwszym wierszu, tłumaczenie w drugim. To plik, którego potrzebuje emisja dwujęzyczna: jedna ścieżka, jeden plik, jedna rzecz do wczytania, zamiast dwóch ścieżek, które odtwarzacz ochoczo pozwoli widzowi wyłączyć albo których narzędzie do autoringu DVD odmówi.

Parowanie idzie po czasie, nie po pozycji. Dwa pliki o tej samej liczbie bloków dałoby się dopasować wiersz po wierszu, ale liczba bloków właśnie różni się między oryginałem a tłumaczeniem: tłumacz rozbije jeden długi angielski wiersz na dwa krótsze chińskie albo scali dwa pytania w jedno. Blok paruje się więc z blokiem, gdy ich zakresy czasu się nakładają, i tylko wtedy. Bloki, które na nic się nie nakładają, są ciekawym przypadkiem, a pierwsza opcja decyduje, co się z nimi dzieje. Zachowanie obu plików przenosi każdy z nich jako własny blok, więc nie brakuje ani słowa z żadnego wejścia – ceną jest to, że wynik nie jest już niczyją dokładną osią czasu, bo nieparowany blok i tak musi gdzieś usiąść. Zachowanie osi czasu pierwszego pliku robi odwrotnie: bloki pierwszego pliku wychodzą z dokładnie tymi początkami i końcami, z jakimi weszły, nic nie jest między nie wstawiane, a każdy blok z drugiego pliku, który na nic nie nachodzi, jest odrzucany, z liczbą w raporcie po uruchomieniu.

Druga opcja mówi, jak oba teksty dzielą ekran. Dwa wiersze to sposób, w jaki napisy dwujęzyczne są zwykle emitowane i jak większość odtwarzaczy oczekuje je widzieć: wiersz pierwszego pliku nad wierszem drugiego. Jeden wiersz skleja je wpisanym separatorem – ukośnikiem z odstępami, myślnikiem z odstępami, kreską pionową albo niczym, co jest konwencją dla pary takiej jak chiński i japoński. Dwa wiersze wymagają, by format pozwalał na podział wiersza w bloku, a formaty przechowujące blok jako jedną linię są z tej strony wyłączone, zamiast być na niej po cichu spłaszczane.

Każdy format jest tu czytany tak samo: SRT, WebVTT, ASS, SSA, SBV, SAMI, TTML, JSON i CSV. MicroDVD nie, bo jego blok to jedna linia klatek; LRC nie, bo nie przechowuje czasu końca, a parowanie to nic innego jak czasy końca; zwykły tekst nie, bo nie ma ani jednego, ani drugiego. Jeśli pliki są w różnych formatach, to nie problem – każde pole czytamy po zawartości. Nic nie jest wysyłane: oba pliki są czytane, scalane i zapisywane ponownie w tej karcie przeglądarki, i właśnie dlatego ta strona w ogóle istnieje dla każdego, kto pracuje z materiałem, który nie może opuścić jego komputera. Oba pola przyjmują więcej niż jeden plik, a pierwszy plik z jednego pola paruje się z pierwszym z drugiego, więc cały sezon może przejść jednym uruchomieniem.

Przykłady

Dwa pliki, które się zgadzają, scalone w dwa wiersze

Wejście

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:05,000 --> 00:00:07,000
你好吗?

Wynik

1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。

2
00:00:05,000 --> 00:00:07,000
How are you?
你好吗?

Oba bloki są sparowane, bo ich czasy nakładają się dokładnie, a każda para wychodzi jako dwuwierszowy blok z wierszem pierwszego pliku na górze. Nic nie ginie i nic się nie przesuwa, więc raport po uruchomieniu to mówi. Numery bloków są własne pierwszego pliku, co dostajesz, ilekroć każdy blok wyniku pochodzi z tego pliku – zmienia to dopiero nieparowany blok z drugiego pliku, jak pokazuje trzeci przykład.

Te same dwa pliki złączone w jednym wierszu

Wejście

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:05,000 --> 00:00:07,000
你好吗?

Wynik

1
00:00:01,000 --> 00:00:03,000
Good morning. / 早上好。

2
00:00:05,000 --> 00:00:07,000
How are you? / 你好吗?

To samo parowanie, te same czasy, ułożone w jednym wierszu z ukośnikiem i odstępami między językami. Wiersz jest dłuższy niż w którymkolwiek wejściu, więc na stronie ograniczającej znaki w wierszu ten plik może teraz zostać zgłoszony jako przekraczający limit – to realna konsekwencja układu, nie błąd zaokrąglenia. Pusty separator jest drugim realnym wyborem: oba teksty sklejają się wprost, i tak zwykle składa się chiński z japońskim.

Blok w drugim pliku, który do niczego nie pasuje

Wejście

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:03,000 --> 00:00:04,500
(敲门声)

Wynik

1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。

2
00:00:03,000 --> 00:00:04,500
(敲门声)

3
00:00:05,000 --> 00:00:07,000
How are you?

Drugi chiński blok zaczyna się dokładnie w chwili, w której kończy się pierwszy angielski, a zaczynanie tam, gdzie poprzedni się kończy, to nie ten sam moment – to dwa napisy, nie jeden. Więc przechodzi jako własny blok, we własnym czasie, w środku pliku. Ponieważ w wyniku jest teraz blok, który nie pochodzi z pierwszego pliku, cały plik jest numerowany od 1 i własna numeracja pierwszego pliku nie jest zachowana.

Częste pytania

Pliki mają różną liczbę bloków. Który wygrywa?

Ani jeden i na tym polega dopasowanie po czasie. Blok z jednego pliku paruje się z blokiem z drugiego, gdy ich zakresy czasu się nakładają, niezależnie od numerów, więc tłumaczenie, które rozbija jeden długi wiersz na dwa krótsze, i tak wychodzi przypięte do wiersza, do którego należy. Paruje się pierwszy z dwóch rozbitych bloków; drugi nie nakłada się na nic i wtedy albo przechodzi jako własny blok, albo zostaje odrzucony, zależnie od pierwszej opcji. Raport po uruchomieniu mówi, co się stało i ilu bloków to dotyczyło.

Czy scalanie tłumaczenia zmieni czasy mojego oryginału?

Nie, jeśli zachowasz oś czasu pierwszego pliku. W tym ustawieniu każdy blok pierwszego pliku wychodzi z dokładnie tym początkiem i końcem, z jakimi wszedł, i nic nie jest między nie wstawiane, więc plik, który już zsynchronizowałeś i sprawdziłeś, nadal jest plikiem, który masz. Koszt leży po drugiej stronie: blok z drugiego pliku, który na nic się nie nakłada, nie ma gdzie usiąść na tej osi czasu, więc zostaje odrzucony i policzony w raporcie. Jeśli natomiast zachowasz oba pliki, żaden tekst nie ginie, ale sparowane bloki biegną od wcześniejszego początku do późniejszego końca, co potrafi rozszerzyć blok o kilkaset milisekund i wepchnąć go pod następny.

Czy mogę tego użyć do dodania napisów w drugim języku, czy tylko do scalenia dwóch plików?

Oba pola przyjmują każdy format czytany przez ten serwis, więc plik napisów plus plik w stylu transkrypcji, zamieniony wcześniej na SRT, działa tak samo jak dwa pliki napisów. Strona potrzebuje od drugiego wejścia osi czasu: reguła parowania to nic innego jak nakładające się zakresy. Plik bez czasów w ogóle nie da się scalić, dlatego zwykły tekst nie jest tu przyjmowany – dla pliku tekstowego trzeba by najpierw wymyślić oś czasu, a wymyślona oś czasu to decyzja, którą powinieneś podjąć świadomie, a nie zostawić narzędziu.

Czy muszę wysyłać oba pliki na serwer?

Nie i nie ma serwera, na który można by je wysłać. Oba pliki są czytane w tej karcie przeglądarki, scalane w pamięci i zapisywane z powrotem tutaj; zamknięcie karty gubi wszystko i nic nigdy nie zostało nigdzie wysłane. To liczy się najbardziej właśnie dla materiału, który się opracowuje napisami: niepublikowane kopie, wewnętrzne wideo szkoleniowe, nagrania prawne i medyczne, wszystko pod embargiem. Zwykła alternatywa to serwis, który najpierw każe plik wysłać, a dla tych użytkowników to w ogóle nie jest opcja.

Co jeśli pliki są w różnych formatach napisów?

To działa i jest częste: plik WebVTT z webinarium i SRT od tłumacza. Każde pole jest czytane po zawartości, a wynik jest zapisywany w formacie pierwszego pliku, dlatego pola są opisane. Konsekwencją, o której trzeba wiedzieć, jest stylowanie – jeśli pierwszy plik to ASS ze stylowanymi blokami, a drugi to zwykły SRT, scalony plik jest ASS, a tekst drugiego pliku dołącza do niego ze stylowaniem pierwszego pliku, nie własnym, a liczba dotkniętych bloków jest w raporcie.

Który język trafia do górnego wiersza?

Ten z pliku w pierwszym polu, więc układ dwuwierszowy jest pod twoją kontrolą, nie alfabetyczny ani automatyczny. W emisji dwujęzycznej liczy się to bardziej, niż brzmi: konwencją jest zwykle oryginał na górze, a tłumaczenie pod nim, ale napisy do nauki języka często kładą na górze język uczony, żeby oko trafiło na niego pierwsze. Zamień pliki między polami, a wiersze się zamienią.

Powiązane narzędzia