#1 2016-11-05 21:31:13

Kamiyan3991
Użytkownik
Skąd: Katowice
Dołączył: 2014-01-18

[PORADNIK] Automatyczna synchronizacja napisów

O ile dobrze się orientuję, to większość ludzi nadal ustawia napisy ręcznie, co jest dość czasochłonne i mało precyzyjne.
Postanowiłem więc przedstawić wam skrypt, który zrobi to za was lepiej w kilkanaście sekund.
Sushi = automatyczny przestawiacz napisów w formatach ASS/SRT, który bazuje na wykresach audio.

Plusy:
– szybciej;
– dokładniej;
– lepiej.

Minusy:
– trzeba poświęcić te 5-10 minut na instalację i nauczenie się obsługi (roflmao).

Do całego procederu będziemy potrzebować:

1) Sushi – najnowsza wersja w pliku exe.
Wypakowany folder wrzucamy do: C:\users\[twoja nazwa użytkownika] (może być też inny dysk i folder, ale wtedy trzeba zmienić ścieżkę w wierszu polecenia).
2) Wgrany FFmpeg. Można też użyć wersji portable – w tym wypadku zawartość folderu bin (takie trzy pliczki) wrzucamy do tego samego folderu, w którym mamy Sushi.
3) Dwóch plików video (lub samych plików audio) i jednego pliku w formacie ASS/SRT.

Generalnie procedura wygląda tak:

a) wrzucamy pliki mkv (lub samo wyciągnięte audio, najczęściej w formacie AAC\FLAC) oraz plik z napisami do tego samego folderu, w którym jest Sushi;
b) wchodzimy do wiersza polecenia (cmd) i wpisujemy:

cd Sushi.0.5.0  -< jeśli zmieniłeś nazwę folderu, to wpisujesz tak, jak masz u siebie
-> jeśli zmieniłeś dysk, to musisz najpierw załadować ścieżkę źródłową, np. ->  J:  -< ładuje dysk J i wtedy jak wyżej "cd Sushi.0.5.0"

Teraz będzie potrzebna komenda, która wygląda tak:

sushi.exe --src "hdtv.wav" --dst "bluray.wav" --script "subs.ass"

-> sushi.exe to aktywacja exeka i zostaje bez zmian
-> hdtv = twój wyjściowy plik
-> bluray = twoje BD
-> script = plik ASS pasujący do HDTV

Po kropce jest format. Przy mkv mamy: "hdtv.mkv", a przy samym pliku audio mamy "hdtv.aac" (ew. FLAC). Oczywiście, za "hdtv" wstawiasz nazwę pliku. W praktyce będzie wyglądać to tak, jak poniżej.

Moja komenda (tak, to Prison School):

sushi.exe --src "commie1.aac" --dst "beatrice1.aac" --script "timing1.ass"

Pokaż spoiler Efekt
2byjXfM.jpg

Całość trwa od 10 do 30 sekund, zależnie od waszego sprzętu i długości skryptów (przy czym zaznaczam, że przesuwałem tutaj same dialogi, ale z TS-em też powinno sobie w miarę radzić – więcej napisałem w "ograniczeniach" na samym dole postu).
Na tym etapie już można oglądać, ale zalecam sobie poprawić klatki kluczowe w Aegi (chociaż do pewnego stopnia Sushi robi to samo).

Generalnie wygląda to tak:

1) Bierzemy gotowy plik, w moim przypadku: beatrice1.aac.sushi.
2) Otwieramy Aegisub i ładujemy w nim video BD.
3) Zakładka Timing -> Timing Post-Processor.
4) Odpalamy z tymi ustawieniami (można trochę zmniejszyć, np. do "100", bo przeważnie są różnice rzędu 2-4 klatek, przezornie ustawiłem 5, czyli 200 ms):

Pokaż spoiler TPP
blyw4x4.jpg

*2.1) Wersja dla prosów = zrobić dokładniejsze klatki kluczowe przed przesuwaniem, ale nie będę tego opisywał, bo to bardziej pod robienie timingu od zera i zabiera trochę czasu.

I to w sumie tyle. Ew. można jeszcze zaznaczyć inne style, jeśli macie znaki (TS) albo więcej stylów do kwestii dialogowych, ale, jak pisałem, TS ma swoje ograniczenia. Za to na pewno możecie tego użyć, dopóki nie ma miliona linijek (Mocha).

Ograniczenia:

1) Sushi nie może poprawić skopanego timingu. Jeśli wyjściowo był skopany, to dalej będzie (tak, XxBhaalxX, Cavalry nie chciało się przesunąć, bo wyjściowy plik już był skopany).
2) Przy TS-ie co klatkę (Mocha – takie magiczne coś, co wypluwa tysiące linijek) wartości mogą być niedokładne, więc to się trochę przesunie. Generalnie poprawnie zrobiony TS powinien być przesuwany ręcznie, a czasem nawet trzeba w ogóle znak poprawić, bo w wersji BD wygląda inaczej. No ale... zawsze możecie spróbować. Może będzie jako tako.

Tego problemu nie ma, kiedy są takie zwykłe znaki na 1-2 linijki, tak jak w Horriblu.

Rozejść się. ^^

Ostatnio edytowany przez Kamiyan3991 (2016-12-12 22:27:21)


Ryzen R5 5600X
GTX 1660 Super
16GB 3200 MHz
Kingston KC3000

Offline

#2 2016-11-05 21:53:30

dulu
Moderator
Dołączył: 2006-08-17

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Tzw. przesuwa mi czas skryptów ass/srt o daną wartość (czas)? Jakby sam robił czasówkę, wtedy to rozumiem. smile_lol

Offline

#3 2016-11-05 21:55:44

Kamiyan3991
Użytkownik
Skąd: Katowice
Dołączył: 2014-01-18

Odp: [PORADNIK] Automatyczna synchronizacja napisów

dulu napisał:

Tzw. przesuwa mi czas skryptów ass/srt o daną wartość (czas)? Jakby sam robił czasówkę, wtedy to rozumiem. smile_lol

Po prostu dopasowuje timing z jednego video do drugiego na podstawie wykresów audio. Każda linijka leci osobno, więc nie musisz np. przesuwać po 2-3 razy, tak jak w Aegi. Angielskie grupy używają tego skryptu, żeby dopasować swoje napisy z wersji TV do wersji BD.

Well, napisałem automatyczna "synchronizacja". Jak chcesz automatyczny "timing", to xandros musiałby napisać skrypt (lol).

Ostatnio edytowany przez Kamiyan3991 (2016-11-05 22:00:07)


Ryzen R5 5600X
GTX 1660 Super
16GB 3200 MHz
Kingston KC3000

Offline

#4 2016-11-05 22:03:36

dulu
Moderator
Dołączył: 2006-08-17

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Okej i rozumiem. Ja używam tyko aegi i w 99% przypadków muszę przesunąć 8-10 sekund w okolicy openingu i zajmuje mi to do 10 sekund. Spora część ludzi używa już gotowych skryptów z czasówkami, ale co tam, komuś może się przydać.

Offline

#5 2016-11-05 22:05:28

Demonis Angel
Użytkownik
Skąd: Tarnów
Dołączył: 2010-08-18

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Czyli jak mam niedokładny timing podstawowy, to nie ma co liczyć, że dopasuje napisy, czy wyjściowy też będzie niedokładny? Bo nie wiem, czy się z tym bawić, czy dopasowywać w excelu.


Proszę wszystkich użytkowników o przesyłanie mi nieudostępnionych synchronizacji.

O mnie.
Lista synchronizacji.
Link do folderu na pw.

Offline

#6 2016-11-05 22:09:59

Kamiyan3991
Użytkownik
Skąd: Katowice
Dołączył: 2014-01-18

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Demonis Angel napisał:

Czyli jak mam niedokładny timing podstawowy, to nie ma co liczyć, że dopasuje napisy, czy wyjściowy też będzie niedokładny? Bo nie wiem, czy się z tym bawić, czy dopasowywać w excelu.

To po prostu "dopasowywacz". Nie naprawi ci skopanego timingu, ale, tak, przesunie go poprawnie. Zaś w celu naprawy timingu możesz użyć TPP (dałem w spoilerze przykładowe ustawienia). Tylko wtedy musiałbyś użyć więcej opcji (np. ta wyżej ustawia czasy ciągłe).

dulu napisał:

Okej i rozumiem. Ja używam tyko aegi i w 99% przypadków muszę przesunąć 8-10 sekund w okolicy openingu i zajmuje mi to do 10 sekund. Spora część ludzi używa już gotowych skryptów z czasówkami, ale co tam, komuś może się przydać.

Jeśli chcesz byle jak dopasowany timing, to tyle pewnie wystarczy. Mnie irytuję nawet delikatnie rozjechany, więc wolę zrobić to skryptem. Chociaż to też kwestia, co dopasowywujesz. Jeśli źródło było kodowane ze stacji TV, to w stosunku do BD może być spory rozjazd w klatkach (przy Horrible/CR jest dużo łatwiej).

Ostatnio edytowany przez Kamiyan3991 (2016-11-05 22:11:14)


Ryzen R5 5600X
GTX 1660 Super
16GB 3200 MHz
Kingston KC3000

Offline

#7 2016-11-05 22:18:55

Demonis Angel
Użytkownik
Skąd: Tarnów
Dołączył: 2010-08-18

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Sprawdziłem, skrypt nic nie zrobi przy niedokładnych napisach początkowych, po prostu głupieje i zostawia pusty plik wyjściowy. Także mój największy problem przy synchronizowaniu napisów nadal rozwiązuje jedynie excel.


Proszę wszystkich użytkowników o przesyłanie mi nieudostępnionych synchronizacji.

O mnie.
Lista synchronizacji.
Link do folderu na pw.

Offline

#8 2016-11-05 22:19:00

dulu
Moderator
Dołączył: 2006-08-17

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Kamiyan3991 napisał:
dulu napisał:

Okej i rozumiem. Ja używam tyko aegi i w 99% przypadków muszę przesunąć 8-10 sekund w okolicy openingu i zajmuje mi to do 10 sekund. Spora część ludzi używa już gotowych skryptów z czasówkami, ale co tam, komuś może się przydać.

Jeśli chcesz byle jak dopasowany timing, to tyle pewnie wystarczy. Mnie irytuję nawet delikatnie rozjechany, więc wolę zrobić to skryptem. Chociaż to też kwestia, co dopasowywujesz. Jeśli źródło było kodowane ze stacji TV, to w stosunku do BD może być spory rozjazd w klatkach (przy Horrible/CR jest dużo łatwiej).

Tekst pojawia się i znika razem z dźwiękiem, tak jak w przypadku pliku, na podstawie którego powstał. Ja ani nikt mi znajomy nigdy nie narzekał, nawet jeśli to było z tv do bd. Pewnie da się to zrobić co do klatki, ale mnie szkoda czasu na takie duperszwance, zwłaszcza że ja oglądam i wywalam.

Offline

#9 2016-11-05 22:28:47

Kamiyan3991
Użytkownik
Skąd: Katowice
Dołączył: 2014-01-18

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Demonis Angel napisał:

Sprawdziłem, skrypt nic nie zrobi przy niedokładnych napisach początkowych, po prostu głupieje i zostawia pusty plik wyjściowy. Także mój największy problem przy synchronizowaniu napisów nadal rozwiązuje jedynie excel.

Tobie chodzi o jakieś stare napisy? I aby w formacie SRT/ASS?
Cóż, zawsze możesz poszukać w bibliotece:
https://github.com/tp7/Sushi

Chociaż nie wiem, czy coś tam będzie. Skrypt domyślnie powstał pod przesuwanie napisów z wersji TV do wersji BD. Mniej lub bardziej dobrych napisów.
No chyba że są jakieś sposoby na skopane timingi, ale to musiałbyś zapytać tutaj:

IRC channel: #irrational-typesetting-wizardry  -< na Rizonie

======================================

dulu napisał:

Pewnie da się to zrobić co do klatki, ale mnie szkoda czasu na takie duperszwance, zwłaszcza że ja oglądam i wywalam.

Bo idea jest taka, żeby można było wydać wersję BD na normalnym timingu, a nie przesuniętym "na oko". Tak samo tutaj – można robić bazy dobrych synchronizacji, a nie "na czuja". Zresztą nawet nie zabiera to specjalnie długo, bo z jednym odcinkiem idzie wyrobić się poniżej minuty. No i kolejne odcinki idzie taśmowo klepać komendą (jeden za drugim).

No, też zależy od odbiorcy. Mnie przeszkadza nawet rozjazd rzędu 0,2 sekund czy brak wyrównania do klatek kluczowych. Jak przesuwasz te "8-10 sekund" to po jakimś przejściu na partach A/B czy rozdziałach będzie się bardziej rozjeżdżać.

Ostatnio edytowany przez Kamiyan3991 (2016-11-05 22:30:13)


Ryzen R5 5600X
GTX 1660 Super
16GB 3200 MHz
Kingston KC3000

Offline

#10 2016-11-05 22:43:56

Demonis Angel
Użytkownik
Skąd: Tarnów
Dołączył: 2010-08-18

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Stare srt z napiprojekt do Samurai 7 pod KAA (chyba najlepsze dopasowane w necie), raczej żaden skrypt sobie z nimi nie poradzi.

Co do przesunięcia "na oko", jak w wersji BD nic nie poprawiali, to po przesunięciu o różnicę pomiędzy pierwszymi linijkami dostajesz dokładny timing (różnica +/- 2 klatek). Jako przykład wystarczy One Punch Man, napisy z ANSI wystarczy o około 5 sekund przesunąć (dopasować pierwsze linie) i napisy pasują idealnie - aktualnie jakieś 60-70% napisów do wersji TV wystarczy w 2/3-ch miejscach przesunąć, by dobrze pasowały.


Proszę wszystkich użytkowników o przesyłanie mi nieudostępnionych synchronizacji.

O mnie.
Lista synchronizacji.
Link do folderu na pw.

Offline

#11 2016-11-05 22:51:03

Kamiyan3991
Użytkownik
Skąd: Katowice
Dołączył: 2014-01-18

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Ja to u siebie wcześniej dopasowywałem po chapterach. Przeważnie na każdym chapterze masz te 2-4 klatki różnicy i trzeba jeszcze znaleźć klatkę kluczową. Nawet działa, ale jak była skopana "decymacja" (nie wiem, czy to się tak tłumaczy), to już wyższa szkoła jazdy.

Tak czy owak, skrypt jest przydatny, jak robisz czasówki taśmowo, bo wystarczy wpisać jedną komendę i masz dopasowane po każdej linijce. Potem można też odpalić TPP z Aegi i masz załatwione ew. różnice w klatkach kluczowych (da się też od razu zrobić TPP w Sushi, ale nie chciało mi się tym bawić).

A jak chcesz wydać BDka ze swojej wersji TV, to skrypt jest jak znalazł, bo dopasuje najlepiej, jak się da. Chociaż jeśli ma być tak całkiem idealnie, to dalej trzeba obejrzeć odcinek i wyrównać w tych kilku miejscach, gdzie nie ma klatek kluczowych (bo Aegisub ma dokładność gdzieś w granicach 85%).

Ostatnio edytowany przez Kamiyan3991 (2016-11-05 22:52:07)


Ryzen R5 5600X
GTX 1660 Super
16GB 3200 MHz
Kingston KC3000

Offline

#12 2016-11-05 23:02:51

Demonis Angel
Użytkownik
Skąd: Tarnów
Dołączył: 2010-08-18

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Jak ktoś nie jest przeczulony, to nie zauważy tych kilku klatek (nie licząc TS'u), a sam skrypt się przyda do masowych timingów i dopasowywania do rawów.

Co do reedycji na BD, to na trzy serie, które planuję dwóch jeszcze nie przetłumaczyłem, a w trzeciej są ts'y po 4-5k linijek, więc i tak się narobię przy timingu.

Ostatnio edytowany przez Demonis Angel (2016-11-05 23:05:46)


Proszę wszystkich użytkowników o przesyłanie mi nieudostępnionych synchronizacji.

O mnie.
Lista synchronizacji.
Link do folderu na pw.

Offline

#13 2016-11-05 23:24:12

FAiM
Użytkownik
Skąd: Warszawa
Dołączył: przed 2004-07-25

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Szybkie pytanie, TTP robisz na keyframesach z video do którego robisz timing? brakslow


K5Cqyo6.png?1

Offline

#14 2016-11-05 23:31:55

Kamiyan3991
Użytkownik
Skąd: Katowice
Dołączył: 2014-01-18

Odp: [PORADNIK] Automatyczna synchronizacja napisów

FAiM napisał:

Szybkie pytanie, TTP robisz na keyframesach z video do którego robisz timing? brakslow

Nie jestem pewien, czy rozumiem pytanie. TPP robię na końcu, bo przecież mam inne klatki kluczowe na BD (ale dajesz małe wartości typu 100-200, żeby ci timingu nie zmieniało, tylko wyłapało te obsuwy). Da się też zrobić to od razu w Sushi (sprawdza przy przesuwaniu), ale ponoć i tak szybciej idzie odpalić to w Aegi, bo nie musisz keyfrejmsów wyciągać. No, u Alana ponoć magicznie od razu działa, jak dasz mu całe mkv, ale mam zbyt mało miejsca na dysku z windowsem, żeby to potwierdzić.


Ryzen R5 5600X
GTX 1660 Super
16GB 3200 MHz
Kingston KC3000

Offline

#15 2016-11-05 23:42:13

Demonis Angel
Użytkownik
Skąd: Tarnów
Dołączył: 2010-08-18

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Ja mogę potwierdzić, bo u mnie zrobiło dokładniusieńki timing pod rawy.


Proszę wszystkich użytkowników o przesyłanie mi nieudostępnionych synchronizacji.

O mnie.
Lista synchronizacji.
Link do folderu na pw.

Offline

#16 2016-11-06 00:01:05

FAiM
Użytkownik
Skąd: Warszawa
Dołączył: przed 2004-07-25

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Czyli wczytujesz keyframes z pliku wideo do którego robisz timing, a nie z osobnego pliku?
Wiesz, że keyframes z AVC są mało wiarygodne do robienia TTP?


K5Cqyo6.png?1

Offline

#17 2016-11-06 00:23:03

Kamiyan3991
Użytkownik
Skąd: Katowice
Dołączył: 2014-01-18

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Powiedz to Commie, bo oni robią na h264. Sam nie widzę z tym żadnych problemów (dokładność rzędu 85%).
A tak w ogóle to jest TPP, a nie TTP.


Ryzen R5 5600X
GTX 1660 Super
16GB 3200 MHz
Kingston KC3000

Offline

#18 2016-11-06 00:34:48

FAiM
Użytkownik
Skąd: Warszawa
Dołączył: przed 2004-07-25

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Kamiyan3991 napisał:

Powiedz to Commie, bo oni robią na h264. Sam nie widzę z tym żadnych problemów (dokładność rzędu 85%).

Szczerze wątpię, raczej robią to prawidłowo - czyli generują dokładniejsze keyframesy oczkod.

Kamiyan3991 napisał:

A tak w ogóle to jest TPP, a nie TTP.

Wiem... byłem ciekaw, czy ktoś w ogóle to zauważy oczkod.


K5Cqyo6.png?1

Offline

#19 2016-11-06 00:50:26

Kamiyan3991
Użytkownik
Skąd: Katowice
Dołączył: 2014-01-18

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Prędzej workraw, ale to nie ma sensu, bo stracisz kilka minut, a obecnie h264 mało czego nie widzi (z moich obserwacji – raptem kilka linijek na cały odcinek, a timingowałem trochę rzeczy od zera). Zresztą XVID'a już do tego też nikt nie używa. A tym bardziej nie ma to sensu do zwykłego synchro, gdzie timing masz dobry i trzeba wyłapać tylko te lekko rozjechane.

Ostatnio edytowany przez Kamiyan3991 (2016-11-06 00:51:10)


Ryzen R5 5600X
GTX 1660 Super
16GB 3200 MHz
Kingston KC3000

Offline

#20 2016-11-06 01:01:13

FAiM
Użytkownik
Skąd: Warszawa
Dołączył: przed 2004-07-25

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Po co workraw, jak można same keyframesy zrobić mruga - zresztą workraw to relikt przeszłości...


K5Cqyo6.png?1

Offline

Stopka forum

© Animesub.info 2024