Nie jesteś zalogowany.
Strony Poprzednia 1 2 3 4
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\PlikiStarei 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
No własnie ta opcja "np wyświetli się (Podaj ścieżkę do input)..." mi by bardzo pasowała, tylko nie wiem jak ją zrobić, bo się na tym nie znam.
Offline
Skrypt umożliwiający synchronizację całego sezonu za jednym zamachem
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 wrzucamy stare epki (przeważnie odcinki TV)
do folderu output nowe epki (przeważnie odcinki BD)
do folderu subs wrzucamy stare subki (napisy pasujące do odcinków w input) [nie wymagane, jeżeli napisy są w starych epkach]
lub podać ścieżki folderów z plikami (nie przetestowane dobrze i mogą być problemy z chińskimi krzakami)
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)
PS. Explorer troszkę oszukuje i cyfry 1,2,3,...,11,12 traktuje po kolei czego nie robi cmd bo dla niego kolejność to 1,11,12,2,3,...
dlatego warto dla dwucyfrowych serii dodać 0 przed pojedynczą cyfrą czyli 01,02,03,...,11,12
zawsze tez można sprawdzić kolejność plików przez skrypt (należy wrzucić do folderu z plikami i odpalić)
skrypt do automatyzacji
:Sci
echo [0] Wybór ścieżki dla plików
echo [1] Pliki wrzucone do input/output/subs
SET /P sciezka="Wybór : "
cls
IF "%sciezka%"=="0" (
SET /P si="Ścieżka Input : "
SET /P so="Ścieżka Output : "
SET /P ss="Ścieżka Subs (jeżeli brak wpisać '*') : "
cls
) ELSE IF "%sciezka%"=="1" (
set si=input
set so=output
set ss=subs
) ELSE (
echo Niepoprawny wybór
GOTO :Sci
)
set i=0
for %%a in ("%si%\*") do (
set input[!i!]=%%a
set /a i=i+1
)
set o=0
for %%b in ("%so%\*") do (
set output[!o!]=%%b
set /a o=o+1
)
set s=0
for %%c in ("%ss%\*") 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 (
echo F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --max-window 360>>plik_quick.txt
F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --max-window 360
)
) ELSE IF "%Sync%"=="1" (
for /l %%j in (0,1,%ile%) do (
echo F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 48000 --max-window 360>>plik_slow.txt
F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 48000 --max-window 360
)
) ELSE IF "%Sync%"=="2" (
for /l %%j in (0,1,%ile%) do (
echo F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --window 300 --sample-rate 48000 --max-window 600>>plik_pro.txt
F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --window 300 --sample-rate 48000 --max-window 600
)
) ELSE IF "%Sync%"=="3" (
for /l %%j in (0,1,%ile%) do (
echo F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --window 60 --sample-rate 48000 --max-window 360 --dst-audio "%audio_o%">>plik_audio_output.txt
F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --window 60 --sample-rate 48000 --max-window 360 --dst-audio %audio_o%
)
) ELSE IF "%Sync%"=="4" (
for /l %%j in (0,1,%ile%) do (
echo F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 48000 --max-window 360 --src-audio "%audio_i%">>plik_audio_input.txt
F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 48000 --max-window 360 --src-audio %audio_i%
)
) ELSE IF "%Sync%"=="5" (
for /l %%j in (0,1,%ile%) do (
echo F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 48000 --max-window 360 --src-audio %audio_i% --dst-audio "%audio_o%">>plik_audio_io.txt
F:\Sushi.0.5.1\sushi.exe --src "!input[%%j]!" --dst "!output[%%j]!" --script "!sub[%%j]!" --sample-rate 48000 --max-window 360 --src-audio %audio_i% --dst-audio %audio_o%
)
) ELSE (
echo Niepoprawny wybór
GOTO :Wyb
)
pause
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Skrypt do synchronizacji tylko jednego odcinka umożliwiający podanie pełnej ścieżki do pliku
SET /P si="Source : "
SET /P so="Destination : "
SET /P ss="Sub : "
cls
: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" (
echo F:\Sushi.0.5.1\sushi.exe --src "!si!" --dst "!so!" --script "!ss!" --max-window 360>>plik_quick.txt
F:\Sushi.0.5.1\sushi.exe --src "!si!" --dst "!so!" --script "!ss!" --max-window 360
) ELSE IF "%Sync%"=="1" (
echo F:\Sushi.0.5.1\sushi.exe --src "!si!" --dst "!so!" --script "!ss!" --sample-rate 48000 --max-window 360>>plik_slow.txt
F:\Sushi.0.5.1\sushi.exe --src "!si!" --dst "!so!" --script "!ss!" --sample-rate 48000 --max-window 360
) ELSE IF "%Sync%"=="2" (
echo F:\Sushi.0.5.1\sushi.exe --src "!si!" --dst "!so!" --script "!ss!" --window 300 --sample-rate 48000 --max-window 600>>plik_pro.txt
F:\Sushi.0.5.1\sushi.exe --src "!si!" --dst "!so!" --script "!ss!" --window 300 --sample-rate 48000 --max-window 600
) ELSE IF "%Sync%"=="3" (
echo F:\Sushi.0.5.1\sushi.exe --src "!si!" --dst "!so!" --script "!ss!" --window 60 --sample-rate 48000 --max-window 360 --dst-audio "%audio_o%">>plik_audio_output.txt
F:\Sushi.0.5.1\sushi.exe --src "!si!" --dst "!so!" --script "!ss!" --window 60 --sample-rate 48000 --max-window 360 --dst-audio %audio_o%
) ELSE IF "%Sync%"=="4" (
echo F:\Sushi.0.5.1\sushi.exe --src "!si!" --dst "!so!" --script "!ss!" --sample-rate 48000 --max-window 360 --src-audio "%audio_i%">>plik_audio_input.txt
F:\Sushi.0.5.1\sushi.exe --src "!si!" --dst "!so!" --script "!ss!" --sample-rate 48000 --max-window 360 --src-audio %audio_i%
) ELSE IF "%Sync%"=="5" (
echo F:\Sushi.0.5.1\sushi.exe --src "!si!" --dst "!so!" --script "!ss!" --sample-rate 48000 --max-window 360 --src-audio %audio_i% --dst-audio "%audio_o%">>plik_audio_io.txt
F:\Sushi.0.5.1\sushi.exe --src "!si!" --dst "!so!" --script "!ss!" --sample-rate 48000 --max-window 360 --src-audio %audio_i% --dst-audio %audio_o%
) ELSE (
echo Niepoprawny wybór
GOTO :Wyb
)
pause
PS. Skrypty mogą mieć problemy z różnymi znakami specjalnymi w folderach lub plikach pokroju !%',;#
Gotowa paczka do użycia dla laików dostępna tutaj
Paczka zawiera Sushi 0.5.1 wraz z FFMPEG (2023-12-21-git-1e42a48e37) + skrypty do synchronizacji
Ostatnio edytowany przez matiasmovie (2023-12-24 01:57:29)
Offline
Paczka bazowana na pythonie zamiast na exe (podobno działa lepiej, ale zauważyłem, że czasem ma problemy, więc wrzucam jako alternatywę)
Gotowa paczka do użycia dostępna tutaj
Ostatnio edytowany przez matiasmovie (2022-07-24 19:11:58)
Offline
Może komuś się przyda subsync | GitHub, dodaje z powodu, że sushi | GitHub nie radzi sobie z *.SRT (chyba że ja coś źle robię).
Link do pobrania: v0.17.0 | install (x64) ; v0.17.0 | MAC ; v0.17.0 | Portable (x64) ; v0.16.0 | Linux
Ostatnio edytowany przez moszter (2022-03-22 18:20:45)
Offline
sushi | GitHub nie radzi sobie z *.SRT (chyba że ja coś źle robię).
Sushi bez problemu radzi sobie z srt.
Jeżeli dobrze zrozumiałem twój program nie potrzebuje video na którym się opiera, więc plus, jeżeli nie można już dostać video pasującego do subów, ale minusem może być, że rozwali np. napisy tabliczek bo wtedy nikt nie wypowiada żadnych słów + nie wiem na ile radzi sobie z wykrywaniem mowy, ale nie zdziwię się jak przy mniej wyraźnych kwestiach lub kwestiach z jakąś dużą ilością dźwięków w tle się zgubi i zamiast pomóc to jeszcze bardziej rozwali czasy linijek.
Bardziej jednak ufam metodzie z Sushi czyli porównywania audio i na tej podstawie dobierania czasów linijek.
Offline
moszter napisał:sushi | GitHub nie radzi sobie z *.SRT (chyba że ja coś źle robię).
Sushi bez problemu radzi sobie z srt.
Jeżeli dobrze zrozumiałem twój program nie potrzebuje video na którym się opiera, więc plus, jeżeli nie można już dostać video pasującego do subów, ale minusem może być, że rozwali np. napisy tabliczek bo wtedy nikt nie wypowiada żadnych słów + nie wiem na ile radzi sobie z wykrywaniem mowy, ale nie zdziwię się jak przy mniej wyraźnych kwestiach lub kwestiach z jakąś dużą ilością dźwięków w tle się zgubi i zamiast pomóc to jeszcze bardziej rozwali czasy linijek.
Bardziej jednak ufam metodzie z Sushi czyli porównywania audio i na tej podstawie dobierania czasów linijek.
Zapomniałem pogrubić, podkreślić i dać czcionką na cały ekran, bo ślepcze i analfabeci nie zobaczą i nie przeczytają najważniejszego, ale dziwne ten najważniejszy fragment zacytowałeś, ale go nie zauważyłeś i nie przeczytałeś.
To nie mój program, tylko podzieliłem się tym co znalazłem, gdy szukałem czegoś by zsynchronizować napisy do produkcji z NetFlix'a.
Offline
To nie mój program
Trochę z rozpędu to napisałem xD W domyśle chodziło mi o to, że ten co udostępniłeś.
zsynchronizować napisy do produkcji z NetFlix'a.
Sprawdziłem na wersji dragstera (jedynie wyeksportowałem sobie polskie suby przy pomocy inviska jako zewnętrzne, żeby użyć swojego skryptu) synchronizując do BD i bez problemu dało radę, może ci się coś posypało bo miałeś krzaki w nazwach odcinków.
Offline
Takie małe spostrzeżenie/zapytanie.
W przypadku "input/output/subs poza folderem sushi" chyba można pokusić się o:
set su="?:\ścieżka_do\sushi.exe"
su --src "wejście" --dst "wyjście" --script "subki" ?
I taka mała zagwozdka na koniec, tu podałeś skrypty:
- "Skrypt umożliwiający synchronizację całego sezonu za jednym zamachem"
- "Skrypt do synchronizacji tylko jednego odcinka umożliwiający podanie pełnej ścieżki do pliku".
1. Określenie "cały sezon", to tylko taki zabieg słownikowy? Bo przecież wcześniejsze skrypty mogły przerobić wiele plików.
2. Skrypt dla całego sezonu (wielu plików) nie potrafi przerobić jednego pliku, że potrzebny jest odrębny skrypt?
Nurtuje mnie zwłaszcza pyt.2, bo jak pomnę zabawę z makrami w Excelu, to kod wczytujący/przerabiający wiele plików nie miał problemów z jednym plikiem, a chodzi za mną przeczucie, że i tu nie powinno być problemu.
Jeszcze nie sprawdziłem działania Twoich skryptów, stąd takie "robaczywe" przemyślenia/pytania.
Ostatnio edytowany przez roobalek (2021-06-04 04:58:24)
Offline
Takie małe spostrzeżenie/zapytanie.
W przypadku "input/output/subs poza folderem sushi" chyba można pokusić się o:set su="?:\ścieżka_do\sushi.exe"
su --src "wejście" --dst "wyjście" --script "subki" ?
No w sumie można by kiedyś przerobić, jak zaczynałem to tworzyć to nie myślałem o tym szczególnie, na start było to bez opcji i tylko dla mnie.
I taka mała zagwozdka na koniec, tu podałeś skrypty:
- "Skrypt umożliwiający synchronizację całego sezonu za jednym zamachem"
- "Skrypt do synchronizacji tylko jednego odcinka umożliwiający podanie pełnej ścieżki do pliku".1. Określenie "cały sezon", to tylko taki zabieg słownikowy? Bo przecież wcześniejsze skrypty mogły przerobić wiele plików.
2. Skrypt dla całego sezonu (wielu plików) nie potrafi przerobić jednego pliku, że potrzebny jest odrębny skrypt?Nurtuje mnie zwłaszcza pyt.2, bo jak pomnę zabawę z makrami w Excelu, to kod wczytujący/przerabiający wiele plików nie miał problemów z jednym plikiem, a chodzi za mną przeczucie, że i tu nie powinno być problemu.
Jeszcze nie sprawdziłem działania Twoich skryptów, stąd takie "robaczywe" przemyślenia/pytania.
1. Tak, "cały sezon" to takie zobrazowanie, można wrzucić wiele plików byle kolejność w folderach się zgadzała
2. Tak, potrafi też pojedynczy plik skryptem dla wielu, ale wtedy pliki muszą być w konkretnych folderach, drugi skrypt dla jednego odcinka umożliwia podanie ścieżki bezpośrednio do wideo i napisów, bez tworzenia dodatkowych folderów.
Ostatnio edytowany przez matiasmovie (2021-06-04 16:16:23)
Offline
Aligator za rozjaśnienie i potwierdzenie żem nie pobłądził, jak również za pożyteczne skrypty.
Offline
Strony Poprzednia 1 2 3 4