Recensubs HQ

Keyframe con SCXVID per il timing

« Older   Newer »
  Share  
view post Posted on 14/4/2020, 09:20     +2   +1   -1
Avatar

Bimbosp

Group:
Administrator
Posts:
9,780
Reputation:
+929
Location:
Gallarate (VA)

Status:


CITAZIONE (Vaz @ 14/4/2020, 10:06) 
Non ho ben capito il funzionamento di scxvid, per usarlo dovrei convertire la raw in avi e poi passarla con il relativo script avisynth?

Ci sono vari modi per generare i log di scxvid, nessuno dei quali richiede di fare un encode a parte.

Metodo Avisynth+VirtualDub:
1) Crei un .avs con dentro come codice:
CODICE
lwlibavvideosource("video_raw.mkv")
scxvid("file_cambi_scena.log")

Assicurati di avere la dll di scxvid in autoload, altrimenti usa loadplugin. La .dll dovrebbe essere la stessa che si usa per Yatta.
2) Apri questo .avs in VirtualDub
3) File -> Run video analysis pass
4) Una volta ultimato avrai il tuo .log

Questo è stato il mio procedimento standard per anni, ma tipicamente dopo circa un'ora scarsa di video continuato scxvid smette di generare i timecode.
Per gli episodi non è un problema, ma per eventuali speciali, episodi doppi o film lo è sì.

Per ovviarlo, ho trovato una soluzione alternativa, ovvero lo standalone di scxvid, che è quello che uso ormai da parecchio tempo:
https://github.com/soyokaze/SCXvid-standalone/releases

Ci sono essenzialmente due modi per poterlo usare.

Metodo avs2pipemod+SCXvid standalone:
1) Crei un .avs che carica il video
2) Dentro cmd fai:
CODICE
avs2pipemod.exe -y4mp "input.avs" | scxvid.exe "cambi scena.log"


Metodo ffmpeg+SCXvid standalone (quello che uso attualmente):
1) Da cmd fai:
CODICE
ffmpeg.exe -i "file.mp4" -f yuv4mpegpipe -pix_fmt yuv420p -vsync drop - | SCXvid.exe "file.log"
 
Web  Top
view post Posted on 14/4/2020, 09:29     +1   -1
Avatar

Bastardo è bello

Group:
Administrator
Posts:
4,286
Reputation:
+740

Status:


Ma pensa te! Grazie infinite, a saperlo prima forse mi sarei evitato di risistemare tutto il timing di Cop Craft a mano >_<
 
Web Contacts  Top
view post Posted on 14/4/2020, 09:34     +1   +1   -1
Avatar

Bimbosp

Group:
Administrator
Posts:
9,780
Reputation:
+929
Location:
Gallarate (VA)

Status:


Conta che i keyframe di scxvid non sono comunque infallibili, semplicemente sono una base di postprocess tendenzialmente più affidabile che usare quelli dell'encode.
Risistemare qualcosa a mano è inevitabile, ma tipicamente avrai meno da aggiustare.
 
Web  Top
view post Posted on 14/4/2020, 13:21     +3   +1   -1
Avatar

Snobbery Inside

Group:
Utente abilitato
Posts:
2,197
Reputation:
+1,005
Location:
Favolandia

Status:


CITAZIONE (mirkosp @ 14/4/2020, 10:20) 
Metodo ffmpeg+SCXvid standalone (quello che uso attualmente):
1) Da cmd fai:
CODICE
ffmpeg.exe -i "file.mp4" -f yuv4mpegpipe -pix_fmt yuv420p -vsync drop - | SCXvid.exe "file.log"

Almeno configuralo per funzionare con drag and drop.
CODICE
@echo off
echo Making SCXvid keyframes...
set video=%~1
set video2=%~n1
"C:\pathtoyourffmpeg\ffmpeg.exe" -i "%video%" -f yuv4mpegpipe -pix_fmt yuv420p -vsync drop - | "C:\pathtoyourscxvid\scxvid.exe" "%video2%.log"
echo Keyframes completed
@pause

Salva questo in un .bat con i path corretti, fai drag and drop e creerà automaticamente un .log con lo stesso nome del video.
Attenzione che per ffmpeg e scxvid servono i path assoluti, perché quando fai un drag and drop la cmd viene lanciata con il path del file draggato.
 
Web  Top
view post Posted on 14/4/2020, 14:03     +1   -1
Avatar

Bimbosp

Group:
Administrator
Posts:
9,780
Reputation:
+929
Location:
Gallarate (VA)

Status:


CITAZIONE (Tada no Snob @ 14/4/2020, 14:21) 
Almeno configuralo per funzionare con drag and drop.

Grazie per aver fatto la sbatta per me. :B):
 
Web  Top
view post Posted on 14/4/2020, 21:37     +1   -1
Avatar

Apprendista encoder

Group:
Utente abilitato
Posts:
611
Reputation:
+213
Location:
Loli Island

Status:


CITAZIONE (Tada no Snob @ 14/4/2020, 14:21) 
Salva questo in un .bat con i path corretti, fai drag and drop e creerà automaticamente un .log con lo stesso nome del video.
Attenzione che per ffmpeg e scxvid servono i path assoluti, perché quando fai un drag and drop la cmd viene lanciata con il path del file draggato.

Xvid in generale ha qualche problema nel riconoscere i cambiscena in caso di video HD, per non dire che non c'è realmente bisogno di fare un pass per un video HD, per cui:
CODICE
@echo off
echo Making SCXvid keyframes...
set video=%~1
set video2=%~n1
"C:\pathtoyourffmpeg\ffmpeg.exe" -i "%video%" -f yuv4mpegpipe -pix_fmt yuv420p -vf "scale=704:-2" -vsync drop - | "C:\pathtoyourscxvid\scxvid.exe" "%video2%.log"
echo Keyframes completed
@pause
 
Top
view post Posted on 14/4/2020, 21:39     +1   -1
Avatar

Bimbosp

Group:
Administrator
Posts:
9,780
Reputation:
+929
Location:
Gallarate (VA)

Status:


Nella mia esperienza personale, in realtà, ho avuto più noie con video SD che non con video HD.
Nei video HD tendo a ritrovarmi con falsi positivi, mentro in quelli SD sovente mancava del tutto cambi scena evidenti. Eviterei il resize.
 
Web  Top
view post Posted on 14/5/2020, 08:49     +1   -1
Avatar

Bimbosp

Group:
Administrator
Posts:
9,780
Reputation:
+929
Location:
Gallarate (VA)

Status:


Ho splittato la discussione su SCXVID dalla recensubba FTF al ghetto perché era un po' OT, ma soprattutto volevo evitare un bump alla recensubba per questioni non inerenti ad essa.

Ho riciclato un po' di codice di autohardsubber (all'epoca scritto da Firesledge) per automatizzare SCXVID su più file invece di farlo andare su un file alla volta (utile se si lavora a più episodi per un pack o qualsivoglia motivo).
Lascio il codice qui sotto:
CODICE
@for %%i in ("%~dp0SCXVID.bat") do @set AUTOSCXVID=%%~si
:startscxvid
@set AHSFILEATTR=%~a1
@set AHSFILEDIR=%AHSFILEATTR:~0,1%
@if "%AHSFILEDIR%" == "d" goto dirmode

:filemode
call "%AUTOSCXVID%" "%~dps1%~nx1"
@goto :nextscxvid

:dirmode
@for %%a in ("%~s1\*.mp4") do call "%AUTOSCXVID%" "%%a"
@for %%a in ("%~s1\*.mkv") do call "%AUTOSCXVID%" "%%a"

:nextscxvid
@shift /1
@if not %1x==x @goto :startscxvid


Salvate il codice in un altro bat nella stessa cartella di un bat chiamato SCXVID.bat in cui avete incollato il codice di Chibi o Maddo (a voi la scelta).
NOTA BENE: Vi suggerisco di togliere l'@pause in coda al loro codice, altrimenti dovrete premere un tasto dopo ogni file di cui viene generato il log.
 
Web  Top
7 replies since 14/4/2020, 09:20   264 views
  Share