#41 2017-01-02 13:21:13

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

Odp: [PORADNIK] Automatyczna synchronizacja napisów

senami napisał:

Sprawdziłem, robiąc synchro do Hejvi Kupy, działa.

A tak trochę z innej beczki, to bym przeniósł temat do "Tworzenie i edycja napisów", bo podtytuł pomocnika brzmi "Masz z czymś problem? Napisz.", więc średnio pasuje.

Działa bardzo dobrze, tylko często zdarzają się problemy z zapowiedziami i wywala błąd (trzeba usunąć zapowiedź i ręcznie ją przestawiać) albo jak są dodatkowe lub zmienione sceny,choćby kilka sekund, to za nic nie dopasuje. No i stare napisy i tak trzeba ręcznie dopasowywać, bo mają skopany timing, a w nowych najczęściej wystarczy przestawiać o kilka sekund napisy, niemniej skrypt na plus, gdy synchronizujesz po 10-15 serii masowo.


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

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

Offline

#42 2017-01-02 18:16:13

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

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Generalnie przy połączeniu Sushi z generacją klatek kluczowych (h264 lub Xvid, to drugie lekko lepsze) idzie uzyskać prawie w 100% dopasowane synchro. Przy Zestirii musiałem poprawić tylko 2 linijki na dynamicznych scenach, chociaż na "czystym" MKV też to działa całkiem nieźle.

Arow napisał:

Najwidoczniej nie najlepiej działa to z napisami w .srt. Przerobiłem je na .ass i wszystko prądzi.

Wiesz, w teorii skrypt działa w obu formatach, jednak w praktyce używa się go tylko z ASS.

senami napisał:

A tak trochę z innej beczki, to bym przeniósł temat do "Tworzenie i edycja napisów", bo podtytuł pomocnika brzmi "Masz z czymś problem? Napisz.", więc średnio pasuje.

Trochę zagwozdkę miałem przy zakładaniu. Podobny problem miał Bakura przy tworzeniu tematu o Kainote. No ale forum mamy mało intuicyjne nie od dziś. ^^

Ostatnio edytowany przez Kamiyan3991 (2017-01-02 18:17:42)

Offline

#43 2017-01-02 21:44:50

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

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Arow napisał:

Najwidoczniej nie najlepiej działa to z napisami w .srt. Przerobiłem je na .ass i wszystko prądzi.

Wiesz, w teorii skrypt działa w obu formatach, jednak w praktyce używa się go tylko z ASS.

U mnie znowu było odwrotnie, jeśli .ass wywalało, to po zmianie na .srt działało. I jeszcze wcześniej nie wspomniałem, ale niekiedy sushi lubi przestawić napisy o kilka sekund do przodu. Co do klatek kluczowych, to przy użyciu .mkv synchro jest na tyle dokładne, że nie trzeba już robić TPP (nie licząc tego, co wymieniłem w tym i poprzednim poście).


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

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

Offline

#44 2017-01-16 17:09:58

kostek00
Użytkownik
Skąd: Lublin
Dołączył: 2009-01-22

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Całkiem użyteczny program, ale nie mogę się zgodzić z dwoma rzeczami, którymi napisałeś, Kamiyan.
Szybciej - zdecydowanie tak; dokładniej i lepiej - zdecydowanie nie, żaden program nie przesunie czasu dokładniej niż ręczne przesunięcie, zawsze są jakieś błędy.

I taka podpowiedź od kogoś kto uczył się informatyki. Nie trzeba przerzucać plików do folderu z sushi, wystarczy w odpowiednich miejscach dać ścieżkę dostępu. Poniżej tak może przykładowo to wyglądać:

C:\Programy\Sushi\sushi.exe --src "C:\Anime\Stary plik.mkv" --dst "C:\Anime\Nowy plik.mkv" --script "C:\Anime\Napisy.ass"

Taki plik można umieścić gdziekolwiek, a i tak zadziała (właśnie sprawdziłem). A jeżeli wyznaczymy ścieżkę wyjściową to przesunięte napisy umieści w jeszcze innym miejscu.

Ostatnio edytowany przez kostek00 (2017-01-16 17:11:50)


Jestem słodki jak miód, człowiek - ciacho; genetyczny cud!  xD

Offline

#45 2017-01-16 17:27:46

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

Odp: [PORADNIK] Automatyczna synchronizacja napisów

kostek00 napisał:

Szybciej - zdecydowanie tak; dokładniej i lepiej - zdecydowanie nie, żaden program nie przesunie czasu dokładniej niż ręczne przesunięcie, zawsze są jakieś błędy.

Nie przesuniesz ręcznie po klatkach, bo video nie jest 1:1. Poza tym studio czasem poprawia też synchronizację audio pod BD (masz wykres od kuru na poprzedniej stronie). A już największy burdel się robi, kiedy masz wersję pod japońską TV, gdzie czasem skopana jest "decymacja" (czy jak się toto nazywa) i już całkiem się klatki rozjeżdżają. Tak, napisy robione pod re-encode ze streamingu dopasowuje się o niebo łatwiej.

I dzięki za kod, potem go dodam do pierwszego posta.
Jeśli ktoś chce, mogę też dodać punkt z generowaniem klatek kluczowych pod Xvid/x264, ale to już bardziej opcja typowo pod własne wydania (chyba że jesteście takimi zapaleńcami jak Demonis Angel, bo on chyba też to rusza pod zwykłe synchronizacje).

Na razie testowałem to u siebie na BDkach Zestirii i przy użyciu sushi + TPP (po uprzedniej generacji klatek) nie musiałem nic poprawiać w timingu (no, może z wyjątkiem bardzo dynamicznych scen, bo tam wychodzi ich trochę za dużo).

Ostatnio edytowany przez Kamiyan3991 (2017-01-16 17:30:29)

Offline

#46 2017-11-12 15:27:59

Arow
Użytkownik
Skąd: Bytom
Dołączył: 2009-07-29

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Czy ten projekt jest może aktualizowany? Ewentualnie czy któryś z elementów wypadałoby aktualizować częściej?

Offline

#47 2017-11-12 15:41:45

SoheiMajin
Moderator
Skąd: Gdańsk
Dołączył: 2009-04-10

Odp: [PORADNIK] Automatyczna synchronizacja napisów

No jest tu jakaś nowsza wersja, pewnie warto podmienić:
https://github.com/tp7/Sushi/releases/

Offline

#48 2017-11-12 15:41:55

meowchin
Użytkownik
Dołączył: 2015-02-23

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Dostępne jest sushi 0.5.1, ffmpeg też na pewno kilka aktualizacji od tego czasu dostał.

Offline

#49 2017-12-31 20:59:19

xquit
Użytkownik
Dołączył: 2016-11-01

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Ja już parę lat temu skrobnąłem sobie własny program do robienia synchro.
Idea jest prosta
Pobieram film jakiejś grupy z softsubem - język tłumaczenia nie ma tutaj żadnego znaczenia, najważniejsze są statystyki z timingów
Ekstrakcja napisów - wystarczy wkleić ścieżkę do folderu z plikami .mkv i kliknąć extract (jest też opcja łączenia z OP i ED jeśli program wykryje linkowanie do innych plików mkv dla danych chapterów)
Załadowanie folderu z polskim tłumaczeniem i folderu z napisami zsynchronizowanymi
Na podstawie wykresu wybrać moment od którego należy przesunąć napisy - przeważnie są to 2-3 miejsca (pracuję tutaj także nad zautomatyzowaniem tego procesu)
Na załączonym obrazku widać także, że polskie napisy najprawdopodobniej zostały tłumaczone z tego samego skryptu (płaski wykres), ale nawet jak są inne to i tak widać gdzie należy przesunąć i w którą stronę i o ile.
Potem jeszcze zmiana nazwy plików, tutaj także podaję tylko ścieżkę do plików mkv i klikam OK (napisy trzymam zawsze w folderze subs), w razie potrzeby w tabeli zmieniam kolejność polskich plików aby dopasować je do kolejności plików mkv.

W ten sposób robię synchro w mniej niż 10 min dla serii 24odc przy minimalnej ilości kliknięć

Teraz jak się patrzę na ten temat to po paru modyfikacjach z wykorzystaniem sushi.exe program będzie można przystosować pod synchro z RAW'ami

Pokaż spoiler

screenshot_1514741478.png
screenshot_1514743622.png

Do publikacji programu przymierzam się już od 2 lat ale jakoś nie miałem czasu aby go dokończyć, tak więc może w przyszłym roku uda mi się go opublikować.
W planach mam także program do ujednolicania czcionek - aby całej serii były takie same i wykrywanie czcionek w karaoke bez polskich znaków (urwane słowa albo niepoprawne litery), aktualnie robię to w np++ cholera

Moim celem jest tutaj danie narzędzi dla tłumaczy które są niedostępne w sieci a przy okazji staram się zrobić to na tyle łopatologiczne aby nawet łonlajny nie bały się bawić w synchro.

Jako "spinoff" pracuję także nad projektem remasteringu napisów aby nie było trzeba bawić się w te klocki. Już sam fakt, że większość serii tutaj jest zlepkiem napisów pod różne grupy (np połowa napisów dopasowana do plików HS, połowa do Zero-Raws i okazjonalnie pod coś innego) zmusza do ściągania tego samego anime z kilku grup lub ręcznej zmiany nazwy 20 plików bez gwarancji, że synchro będzie się zgadzać - sam przez to mało co nie poszedłem w kierunku oglądania onlajnów.

Offline

#50 2018-07-14 19:20:32

matiasmovie
Użytkownik
Skąd: Poznań (ポズナン)
Dołączył: 2008-10-23

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Napisałem skrypt automatyzujący synchronizację
Oczywiście jeżeli ktoś używa tego poza folderem sushi to trzeba zmienić sushi.exe na pełną ścieżkę do pliku sushi.exe
do folderu input wrzucamu stare epki
do folderu output nowe epki
do folderu subs wrzucamy stare subki

oczywiście kolejność odcinków jak i napisów musi być taka sama w każdym folderze
(przy okazji każda komenda zapisywana jest do plik.txt jakby ktoś się chciał upewnić czy komendy na pewno są poprawne)

tekst trzeba zapisać w pliku z rozszerzeniem .bat

Pokaż spoiler
@echo off
chcp 1250
TITLE Synchronizacja napisów
SETLOCAL ENABLEDELAYEDEXPANSION
Color 02
cls

set i=0
for %%a in (input\*) do (

        set input[!i!]=%%a
    set /a i=i+1
   
)

set o=0
for %%b in (output\*) do (

        set output[!o!]=%%b
    set /a o=o+1
   
)

set s=0
for %%c in (subs\*) do (

        set sub[!s!]=%%c
    set /a s=s+1
   
)

set /a ile=%i%-1
for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!"
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!">>plik.txt
)

pause

Ostatnio edytowany przez matiasmovie (2018-07-18 23:53:42)


eMvend1.png

Offline

#51 2018-07-14 20:13:31

marek2fgc
Użytkownik
Skąd: Lubin
Dołączył: 2010-06-28

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Zamiast dawać pełna lokalizację sushi, wystarczyło napisać, by zrobić te rzeczy w folderze z sushi, a w bat zamiast

F:\Sushi.0.5.1\sushi.exe

Dać po prostu

sushi

I po krzyku jezor

Offline

#52 2018-07-14 20:32:45

matiasmovie
Użytkownik
Skąd: Poznań (ポズナン)
Dołączył: 2008-10-23

Odp: [PORADNIK] Automatyczna synchronizacja napisów

marek2fgc napisał:

Zamiast dawać pełna lokalizację sushi, wystarczyło napisać, by zrobić te rzeczy w folderze z sushi, a w bat zamiast

F:\Sushi.0.5.1\sushi.exe

Dać po prostu

sushi

I po krzyku jezor

no jak komuś się chce przerzucać to ok, ale prościej chyba zamienić "input/*" na "X:/ścieżkę_do_anime/*", tak samo dla output i subs, oczywiście wtedy trzeba pamiętać że ścieżka musi być zamknięta w cudzysłów

Ostatnio edytowany przez matiasmovie (2018-07-14 20:40:14)


eMvend1.png

Offline

#53 2018-07-14 20:43:58

marek2fgc
Użytkownik
Skąd: Lubin
Dołączył: 2010-06-28

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Chyba źle mnie zrozumiałeś (albo ja cię źle rozumiem). Nie czepiałem się oddzielenia folderami plików z anime i napisami do oddzielnych folderów. Po prostu podałem, że takie foldery można zrobić w folderze z sushi i wtedy plik bat z samym "sushi" też leci do folderu z sushi i nie trzeba będzie go wtedy modyfikować (a jeżeli ktoś będzie mieć folder sushi w lokacji z PL znakami lub spacją i nie będzie wiedzieć, że musi całą lokalizację umieścić w cudzysłowie, to zaraz komuś się to wykrzaczy w twoim skrypcie).

sushi --src "input\[HorribleSubs] Darling in the FranXX - 24 [720p].mkv " --dst "output\[Glue] Darling in the FranXX - 24 [6D18578A].mkv" --script "subs\[HorribleSubs] Darling in the FranXX - 24 [720p].ass"

Wygenerowany plik txt, poszło bez problemu.

Ostatnio edytowany przez marek2fgc (2018-07-14 20:45:22)

Offline

#54 2018-07-14 20:52:38

matiasmovie
Użytkownik
Skąd: Poznań (ポズナン)
Dołączył: 2008-10-23

Odp: [PORADNIK] Automatyczna synchronizacja napisów

No tak o PL znakach w folderach nie pomyślałem xD zrobiłem poprawkę i zostawiłem samo sushi.exe

Ostatnio edytowany przez matiasmovie (2018-07-14 20:53:29)


eMvend1.png

Offline

#55 2018-07-18 22:54:51

matiasmovie
Użytkownik
Skąd: Poznań (ポズナン)
Dołączył: 2008-10-23

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Podobno dodanie --sample-rate 48000 na końcu linii daje lepszą synchronizację (ale wolniej robi) dlatego stworzyłem potworka z możliwością wyboru, dodałem też opcję dla problematycznych epków ze zbyt długimi scenami dodatkowymi.

Pokaż spoiler
@echo off
chcp 1250
TITLE Synchronizacja napisów
SETLOCAL ENABLEDELAYEDEXPANSION
Color 03
cls

set i=0
for %%a in (input\*) do (

        set input[!i!]=%%a
    set /a i=i+1
   
)

set o=0
for %%b in (output\*) do (

        set output[!o!]=%%b
    set /a o=o+1
   
)

set s=0
for %%c in (subs\*) do (

        set sub[!s!]=%%c
    set /a s=s+1
   
)

set /a ile=%i%-1

:Wyb
echo Wybierz opcję wpisując cyfrę
echo [0] Szybkie, mniej dokładne synchro
echo [1] Wolniejsze, dokładniejsze synchro
echo [2] Problematyczne odcinki
SET /P Sync="Wybór : "
cls



IF        "%Sync%"=="0" (

for /l %%j in (0,1,%ile%) do (
F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!"
echo F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!">>plik_quick.txt
)

) ELSE IF "%Sync%"=="1" (

for /l %%j in (0,1,%ile%) do (
F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 48000
echo F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 48000>>plik_slow.txt
)

) ELSE IF "%Sync%"=="2" (

for /l %%j in (0,1,%ile%) do (
F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --max-window 600 --sample-rate 48000
echo F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --max-window 600 --sample-rate 48000>>plik_problem.txt
)

) ELSE (
echo Niepoprawny wybór
    GOTO :Wyb
)
pause

Ostatnio edytowany przez matiasmovie (2018-07-23 23:29:53)


eMvend1.png

Offline

#56 2018-07-23 17:09:59

v1r00z
Użytkownik
Dołączył: 2016-02-08

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Razem z kolegą matiasmovie zrobiliśmy skrypt który pozwala synchronizować do BD z dual oraz multi audio używając menu. Można też używać pl hardków ponieważ gdy sushi nie wykryje napisów w osobnych plikach automatycznie szuka ich w mkv z którego napisy chcemy zsynchronizować.

Pokaż spoiler

@echo off
chcp 1250
TITLE Synchronizacja napisów
SETLOCAL ENABLEDELAYEDEXPANSION
Color 03
cls

set i=0
for %%a in (input\*) do (

        set input[!i!]=%%a
    set /a i=i+1
   
)

set o=0
for %%b in (output\*) do (

        set output[!o!]=%%b
    set /a o=o+1
   
)

set s=0
for %%c in (subs\*) do (

        set sub[!s!]=%%c
    set /a s=s+1
   
)

set /a ile=%i%-1

:Wyb
echo Wybierz opcję wpisując cyfrę
echo [0] Normal mode
echo [1-N] Sciezka audio 1,2,3,...,N
SET /P Sync="Wybór : "
cls

IF        "%Sync%"=="0" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!"
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!">>plik_normal.txt
)

) ELSE IF %Sync% GTR 0 (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --dst-audio %Sync%
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --dst-audio %Sync%>>plik_audio.txt
)

) ELSE (
echo Niepoprawny wybór
    GOTO :Wyb
)
pause

Offline

#57 2018-07-23 21:03:39

matiasmovie
Użytkownik
Skąd: Poznań (ポズナン)
Dołączył: 2008-10-23

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Połączyłem skrypty i zrobiłem jeden duży, teraz można dla plików input i output wybrać ścieżki audio
Podzękowania dla v1r00z za zrobienie testu multi-lang


Oczywiście jeżeli ktoś używa tego poza folderem sushi to trzeba zmienić sushi.exe na pełną ścieżkę do pliku sushi.exe
do folderu input wrzucamu stare epki
do folderu output nowe epki
do folderu subs wrzucamy stare subki (nie wymagane, jeżeli napisy są w starych epkach)

oczywiście kolejność odcinków jak i napisów musi być taka sama w każdym folderze
(przy okazji każda komenda zapisywana jest do plik.txt jakby ktoś się chciał upewnić czy komendy na pewno są poprawne)

tekst trzeba zapisać w pliku z rozszerzeniem .bat (np. wrzucić wszystko do notatnika i zapisać jako synchro.bat)

Pokaż spoiler

@echo off
chcp 1250
TITLE Synchronizacja napisów
SETLOCAL ENABLEDELAYEDEXPANSION
Color 02
cls

set i=0
for %%a in (input\*) do (

        set input[!i!]=%%a
    set /a i=i+1
   
)

set o=0
for %%b in (output\*) do (

        set output[!o!]=%%b
    set /a o=o+1
   
)

set s=0
for %%c in (subs\*) do (

        set sub[!s!]=%%c
    set /a s=s+1
   
)

set /a ile=%i%-1

:Wyb
echo Wybierz opcję wpisując cyfrę
echo [0] Szybkie, mniej dokładne synchro
echo [1] Wolniejsze, dokładniejsze synchro
echo [2] Problematyczne odcinki
echo [3] Odcinki "Output" z multi-lang
echo [4] Odcinki "Input" z multi-lang
echo [5] Odcinki "Output" i "Input" z multi-lang

SET /P Sync="Wybór : "

IF "%Sync%"=="3" (
echo Wybierz numer ścieżki audio dla plików Output
Set /P audio_o="Wybór : "
)ELSE IF "%Sync%"=="4" (
echo Wybierz numer ścieżki audio dla plików Input
Set /P audio_i="Wybór : "
) ELSE IF "%Sync%"=="5" (
echo Wybierz numer ścieżki audio dla plików Input
Set /P audio_i="Wybór : "
echo Wybierz numer ścieżki audio dla plików Output
Set /P audio_o="Wybór : "
)
cls

IF        "%Sync%"=="0" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!"
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!">>plik_quick.txt
)

) ELSE IF "%Sync%"=="1" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 48000
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 48000>>plik_slow.txt
)

) ELSE IF "%Sync%"=="2" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --max-window 600 --sample-rate 48000
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --max-window 600 --sample-rate 48000>>plik_problem.txt
)

) ELSE IF "%Sync%"=="3" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 24000 --dst-audio %audio_o%
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 24000 --dst-audio %audio_o%>>plik_audio_output.txt
)

) ELSE IF "%Sync%"=="4" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 24000 --src-audio %audio_i%
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 24000 --src-audio %audio_i%>>plik_audio_input.txt
)

) ELSE IF "%Sync%"=="5" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 24000 --src-audio %audio_i% --dst-audio %audio_o%
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 24000 --src-audio %audio_i% --dst-audio %audio_o%>>plik_audio_io.txt
)

) ELSE (
echo Niepoprawny wybór
    GOTO :Wyb
)
pause

Ostatnio edytowany przez matiasmovie (2018-07-24 22:18:19)


eMvend1.png

Offline

#58 2018-07-27 15:22:10

Ognisty321
Użytkownik
Dołączył: 2017-10-07

Odp: [PORADNIK] Automatyczna synchronizacja napisów

matiasmovie napisał:

Połączyłem skrypty i zrobiłem jeden duży, teraz można dla plików input i output wybrać ścieżki audio
Podzękowania dla v1r00z za zrobienie testu multi-lang


Oczywiście jeżeli ktoś używa tego poza folderem sushi to trzeba zmienić sushi.exe na pełną ścieżkę do pliku sushi.exe
do folderu input wrzucamu stare epki
do folderu output nowe epki
do folderu subs wrzucamy stare subki (nie wymagane, jeżeli napisy są w starych epkach)

oczywiście kolejność odcinków jak i napisów musi być taka sama w każdym folderze
(przy okazji każda komenda zapisywana jest do plik.txt jakby ktoś się chciał upewnić czy komendy na pewno są poprawne)

tekst trzeba zapisać w pliku z rozszerzeniem .bat (np. wrzucić wszystko do notatnika i zapisać jako synchro.bat)

Pokaż spoiler

@echo off
chcp 1250
TITLE Synchronizacja napisów
SETLOCAL ENABLEDELAYEDEXPANSION
Color 02
cls

set i=0
for %%a in (input\*) do (

        set input[!i!]=%%a
    set /a i=i+1
   
)

set o=0
for %%b in (output\*) do (

        set output[!o!]=%%b
    set /a o=o+1
   
)

set s=0
for %%c in (subs\*) do (

        set sub[!s!]=%%c
    set /a s=s+1
   
)

set /a ile=%i%-1

:Wyb
echo Wybierz opcję wpisując cyfrę
echo [0] Szybkie, mniej dokładne synchro
echo [1] Wolniejsze, dokładniejsze synchro
echo [2] Problematyczne odcinki
echo [3] Odcinki "Output" z multi-lang
echo [4] Odcinki "Input" z multi-lang
echo [5] Odcinki "Output" i "Input" z multi-lang

SET /P Sync="Wybór : "

IF "%Sync%"=="3" (
echo Wybierz numer ścieżki audio dla plików Output
Set /P audio_o="Wybór : "
)ELSE IF "%Sync%"=="4" (
echo Wybierz numer ścieżki audio dla plików Input
Set /P audio_i="Wybór : "
) ELSE IF "%Sync%"=="5" (
echo Wybierz numer ścieżki audio dla plików Input
Set /P audio_i="Wybór : "
echo Wybierz numer ścieżki audio dla plików Output
Set /P audio_o="Wybór : "
)
cls

IF        "%Sync%"=="0" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!"
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!">>plik_quick.txt
)

) ELSE IF "%Sync%"=="1" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 48000
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 48000>>plik_slow.txt
)

) ELSE IF "%Sync%"=="2" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --max-window 600 --sample-rate 48000
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --max-window 600 --sample-rate 48000>>plik_problem.txt
)

) ELSE IF "%Sync%"=="3" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 24000 --dst-audio %audio_o%
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 24000 --dst-audio %audio_o%>>plik_audio_output.txt
)

) ELSE IF "%Sync%"=="4" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 24000 --src-audio %audio_i%
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 24000 --src-audio %audio_i%>>plik_audio_input.txt
)

) ELSE IF "%Sync%"=="5" (

for /l %%j in (0,1,%ile%) do (
sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 24000 --src-audio %audio_i% --dst-audio %audio_o%
echo sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 24000 --src-audio %audio_i% --dst-audio %audio_o%>>plik_audio_io.txt
)

) ELSE (
echo Niepoprawny wybór
    GOTO :Wyb
)
pause

A jest możliwość zrobienia wersji, w której zamiast wrzucania plików do folderów będzie się podawało lokalizacje danego pliku?

Offline

#59 2018-07-27 16:49:15

marek2fgc
Użytkownik
Skąd: Lubin
Dołączył: 2010-06-28

Odp: [PORADNIK] Automatyczna synchronizacja napisów

No to już wymagana jest wtedy wersja GUI, a tutaj potrzebna jest osoba znająca się na programowaniu. Konstrukcję plików bat daje się nauczyć w chwilę.

Offline

#60 2018-07-27 17:16:23

matiasmovie
Użytkownik
Skąd: Poznań (ポズナン)
Dołączył: 2008-10-23

Odp: [PORADNIK] Automatyczna synchronizacja napisów

Ognisty321 napisał:

A jest możliwość zrobienia wersji, w której zamiast wrzucania plików do folderów będzie się podawało lokalizacje danego pliku?

jest to możliwe ale ścieżkę trzeba wtedy wpisywać tekstowo że np wyświetli się

Podaj ścieżkę do input
i tutaj będzie trzeba wpisać np C:\PlikiAnime\PlikiStare

i tak 3 razy bo dla input, output i subs, minus takiej rzeczy to to, że cmd gryzie się z krzakami i chyba z pl znakami, dlatego nie chciałem dawać takiej możliwości bo nie zadziała w każdym przypadku, jeżeli chcesz sobie edytować pod siebie skrypt to wystarczy zamiast input/* output/* w pierwszych dać "full_ścieżkę/*" pamiętając że cudzysłów jest wymagany


eMvend1.png

Offline

Stopka forum

© Animesub.info 2020