View Single Post
Old 15-02-2012, 01:31   #1
t1g3m4n
Senior Member
 
Iscritto dal: Oct 2007
Messaggi: 1284
[GUIDA] Motionflow (video più fluidi) su PC

Salve a tutti, è un po' di tempo che mi sbatto a documentarmi su come poter aumentare i frames dei film in modo da riprodurre in qualche modo le funzioni delle tv odierne che ne rendono più fluida la visione, i cosiddetti 200Hz,400Hz,motionflow o che dir si voglia, ognuno lo chiama come gli pare..
Ad alcuni "nostalgici" non piace questa cosa, perchè dicono che il film acquista quell'effetto soap-opera, infatti le telenovelas in tv essendo interlacciate hanno il doppio dei frames rispetto a un film di holliwood.
Per quanto mi riguarda io odio vedere tutti quei microscatti quando ci sono degli scrolling o delle sequenze molto movimentate, ormai sono così abituato a vederli in questo modo che non riesco più a guardarli normalmente.
Comunque qui trovate 2 samples fatti da Subjunk, l'autore di interframe, tanto per farvi capire di cosa sto parlando, il primo è originale e il secondo invece è stato riconvertito a 60hz, guardate prima quello convertito e poi l'originale, noterete come la differenza sia abissale, se preferite l'originale potete smettere pure di leggere
Originale
Convertito
In questa guida spiegherò i 2 metodi più semplici per trasformare il vostro pc in una tv da millemila euro, per quel che ne so il risultato (offline, ma anche online se si possiede una buona cpu) è migliore di quello che puo' offrire qualsiasi tv oggi in commercio.
Il primo metodo è per la visione/conversione in tempo reale, vi avviso subito che serve un pc parecchio potente per goderne appieno, soprattutto se volete farlo su contenuti in 1080p.
Ci sono altre guide in giro, ma la cosa si sta evolvendo così rapidamente che praticamente sono quasi tutte obsolete, in fondo comunque troverete tutti i link originali da dove ho preso le informazioni.

CONVERSIONE IN REALTIME CON SVP
Innanzi tutto, per evitare problemi e conflitti con i vari codec che probabilmente avrete già installato sul vostro pc, sarebbe meglio rimuovere tutto, parlo di k-lite codec pack per esempio o di cccp o altri pacchetti simili.
Non vi preoccupate del fatto che non riuscirete più a vedere i vostri avi/mkv, al termine della guida sarete in grado di vedere tutto e probabilmente anche meglio di prima,in ogni caso non mi assumo nessuna responsabilità in caso di eventuali problemi.

Grazie ai mitici ragazzi di Smooth Video Project adesso configurare tutto è un gioco da ragazzi, sarà poi SVP a preoccuparsi di creare la script giusta quindi cominciamo subito.

Requisiti minimi:
-4Gb ram
-CPU core2duo ad almeno 2.2Ghz
-GPU nvidia o Radeon che supporti opencl 1.0 o cuda 4.0

La gpu non è obbligatoria ma diciamo che senza di quella le performance caleranno un bel po', inoltre la guida qui sotto è pensata per chi ha una gpu tra le 2 succitate, aggiungo inoltre che entrambe le mie macchine montano gpu Nvidia quindi non posso esservi d'aiuto se riscontrate problemi con una Radeon.

Preparazione:

1-Scaricate e Installate SVP 3.0.6
http://svp-team.com/wiki/Main_Page
Prendetevi la versione full da 24 mega, resettate i setting, selezionate il profilo a seconda della cpu che possedete, se avete una CPU AMD o una non elencata selezionate il profilo che più si avvicina alla vostra cpu, basandovi soprattutto sul numero di threads.
Mettete l'interfaccia come "expert" e selezionate sia MPC-HC che MadVR, i checkbox interni sono opzionali.
Al termine dell'installazione quindi vi ritroverete installati:

-SVP manager
-Haali media splitter
-ffdshow codec
-Media Player classic home cinema
-Reclock
-MadVR
-Avisynth

anche se avete già questi pacchetti vi consiglio di reinstallarli, perchè questi sono aggiornati, soprattutto avisynth è una versione svp che ancora non è presente sul sito ufficiale, supporta il multithreading di default senza dover andare a modificare la dll con un altra come si faceva prima.

2-installate il codec Lavcuvid versione normale (non legacy)
http://www.digital-digest.com/softwa...D_Decoder.html
questo codec vi permetterà di risparmiare un po' di CPU visto che farà fare il decoding video alla vostra scheda video.
Abilitatelo per tutti i tipi di stream, h264,avc,divx/xvid etc..

Configurazione

3-Configuriamo il codec ffdshow, lo trovate nel menu avvio sotto ffdshow/video codec configuration. Una volta aperto andate su "codec supportati" e disabilitatelo per i flussi H.264/AVC, DivX e VC-1, in questo modo farete fare l'encoding al codec Lavcuvid.
Inoltre sempre nella solita finestra andate in basso dove dice "raw video" e abilitatelo a tutto (all supported)
Andate poi alla voce avisynth nel menu a sinistra e disabilitate "aggiungi sorgente video ffdshow", non serve altro per il momento, sarà SVP a configurare tutto il resto.
Se non avete mai usato FFdshow ci sarebbe anche da configurare l'audio, dovrebbe avervi già chiesto in fase di installazione il vostro sistema audio se avete 2 casse, un 5.1 un 7.1 etc.. in ogni caso se avete la necessità di fare modifiche lo trovate sempre in menu avvio sotto ffshow/Audio decoder configuration.
Abilitate le system tray icon di entrambi in caso fossero disabilitate.

4-Passiamo adesso alla configurazione di Media Player Classic HC, questo sarà il vostro lettore da ora in poi, scordatevi windows media player insomma.
Lo trovate nel menù avvio sotto SVP 3.0/player.
Apritelo e premete il tasto "o" oppure andate in visualizza/opzioni.
Su riproduzione/output segnate come Video DirectShow il renderer "madVR"
Clicckate poi su "Filtri Interni" e disabilitate tutto in entrambe le finestre.
Andate poi su "Filtri esterni" e clicckate su "aggiungi filtro" e selezionate "ffdshow raw video filter" dalla lista. Una volta aggiunto spuntate la casella in modo che sia attiva e sulla destra selezionate "preferisci".
Chiudete il player.

5-Configuriamo adesso il renderer madvr, per fare ciò dovete aprire un file video dal media player classic, quindi riaprite il player, assicuratevi che SVP Manager non sia in esecuzione per il momento (è un'icona verde e gialla vicino all'orologio con un disegno del classico tasto "pausa"), e trascinateci sopra un mkv possibilmente in h264/avc (qualsiasi blu-ray rip dovrebbe andare bene).
Dovrebbe apparire una finestra di dialogo che vi chiede se volete usare Reclock, ditegli di "no per questa volta" fatto ciò vedrete in basso sull'orologio l'icona di madvr, fate tasto destro e selezionate "edit madvr settings". Una volta aperto andate su decoding e deselezionate tutti e 3 i checkbox. Andate poi su Scaling algorithms e selezionate "bilinear" done by GPU in tutte e 3 le finestre. Infine su rendering/general settings disabilitate il tasto enable automatic fullscreen exclusive mode (potete omettere questo settaggio se omettete anche il prossimo punto), e anche qui abbiamo fatto.

6-Infine creiamo un paio di risoluzioni personalizzate per il nostro monitor in modo da riflettere esattamente i frames dei video che verranno riprodotti, eliminando così qualsiasi effetto di tearing. Se avete una CPU molto potente e avete intenzione di convertire i filmati a 60Hz potete omettere questo passaggio.
Visto che nella maggior parte dei casi i file che andremo a guardare avranno 23,976 oppure 25 fps andiamo a creare 2 risoluzioni personalizzate usando il doppio dei frame succitati, quindi 47,952hz e 50hz. Per le schede Nvidia fate tasto destro sul desktop ed entrate nel pannello di controllo Nvidia, poi andate in "modifica la risoluzione", controllate se avete già almeno la 50Hz come opzione, e poi clicckate su "personalizza", clicckate poi su crea risoluzione personalizzata, per la 50HZ basta che lasciate tutto com'è e selezionate solo 50hz su "velocità di aggiornamento" provatela e se va tutto bene salvatela.
Per l'altra invece dovete prima selezionare 48 e provarla, poi clicckate su temporizzazione. selezionate "manuale" e andate a spostare sotto la velocità di aggiornamento mettendo quella giusta compresi i decimali, provatela e salvatela.

Testing

7-se tutto è stato configurato a dovere adesso dovreste provare ad aprire un MKV possibilmente un bluray rip a 720p o 1080p da dentro media player classic home cinema. mentre il filmato viene riprodotto dovreste avere sull'orologio le 2 icone di ffdshow, una blu e una rossa, e l'icona di MadVR, inoltre facendo tasto destro sul filmato e andando su "filters" dovreste vedere nella lista oltre agli altri "lavcuvid" e "ffdshow raw video filter".
Se avete MSI afterburner per le schede video nvidia apritelo e dovreste notare un leggero carico sulla vostra GPU.

8-selezionate il film che volete guardare e da dentro il player andate su file/properties, andate poi nel tab "media info" e controllate a quanti FPS và, è la voce "frame rate" nella lista "Video", selezionate quindi la risoluzione del monitor alla frequenza doppia, quindi 48 per i 23,976 e 50 per i 25. Solito discorso del punto 6, se avete cpu potente e codificate a 60hz potete saltare questo passaggio

9-Note su Reclock, usare reclock solo in casi di problemi di sync tra audio e video, generalmente non dovrebbe servire, ma puo' capitare che alcuni filmati abbiano problemi di sync, in questo caso si puo' provare ad abilitarlo, per questo motivo io lascerei sempre l'opzione all'avvio in modo da poter decidere ogni volta. Non usarlo fa risparmiare un po' di CPU che andrà poi a tutto vantaggio della qualità del nostro smoothing.

riproduzione

10-ok ci siamo, chiudete di nuovo MPC-HC e aprite SVP manager, lo trovate in menu avvio sotto "svp 3.0", noterete l'icona in basso e sul mouse over vi dirà "waiting for ffdshow video...".
Aprite quindi MPC-HC e trascinateci sopra un film, vi ricordo che SVP ha di default 3 presets, uno per i film che hanno da 721 a 1080 linee orizzontali, uno da 577 a 720 e uno da 0 a 576. Appena lancerete il filmato SVP andrà al preset rispettivo e proverà a "smoothare" il video usando i parametri di default. Dategli qualche secondo per stabilizzarsi e poi dovreste vedere il filmato già funzionante e bello fluido.
Adesso dovreste fare doppio click sull'icona di SVP e lui aprirà il pannello delle impostazioni. In basso a sinitra potete aprire anche un piccolo cpu load history, molto utile per capire se la script che sta usando è troppo leggera o troppo potente rispetto alla vostra CPU.
L'index deve essere sempre a 1, se sta sotto 1 vuol dire che la vostra cpu non ce la fa, se va sopra 1 vuol dire che sta recuperando l'audio per tornare in sync.
Per sincronizzare i frame rispetto alla risoluzione personalizzata che avete creato in precedenza la prima opzione da cambiare è "framerate change", mettetelo su "Double the frame rate(2x)", in questo modo verranno creati alternativamente un frame originale e uno di transizione, risparmiando parecchia CPU ed eliminando il tearing.

OTTIMIZZAZIONE DI SVP

11-Arrivati a questo punto dipende tutto dal carico sulla vostra CPU, se è basso potete provare ad alzare qualche opzione da SVP mentre se è alto e quindi il video scatta o perde qualche frame ogni tanto bisogna abbassare qualche parametro.
Facendo tasto destro sull'icona SVP si possono abilitare diverse cose, per esempio potete abilitare il Tearing Test, una barra arancione comincerà a muoversi da sinistra a destra e viceversa, la barra deve essere perfetta senza zoppicare, se zoppica o ci sono problemi di sync tra il monitor e il video, cosa che non dovrebbe esserci visto che abbiamo settato il monitor con gli hertz esatti, quindi se zoppica puo' solo voler dire che sono dei frame persi, per visualizzare le statistiche usando madvr premete ctrl-J per controllare che non stia perdendo nessun frame, perchè dalle statistiche di MPC-HC segna sempre 0 (le statistiche di mpc-hc funzionano solo con i renderer custom EVR oppure EVR).
A titolo di puro testing potete provare a ricambiare il render in "custom EVR" dalle opzioni di "output" in MPC per controllare se vi va meglio, ma non credo.
Considerate che sia il "tearing test" di SVP che il "custom EVR" rendono il tutto meno performante, quindi qualche frame perso in custom evr probabilmente usando madvr in fullscreen risulterebbe perfettamente fluido.
Un'altra opzione molto carina è il demostration mode, se lo abilitate metà schermo verrà renderizzato senza smoothing mentre l'altra metà avrà il processing, nelle scene con scrolling tipo quella del filmanto di test il guadagno si vede molto chiaramente.

12-opzioni di SVP in dettaglio: OBSOLETO (solo per svp 3.0.6)

-Smoothness improvement: lasciatelo su "normal", "by block" usa il vecchio metodo della funzione "Mblockfps", molto meno dispendioso in termini di cpu ma restituisce un sacco di artefatti. Da usare solo se non riuscite a fare girare il film fluido anche con tutte le opzioni al minimo.
Il modo "advanced" al momento è abbastanza inutile, diciamo che va usato solo se avete ancora CPU libera usando il metodo normal con tutte le altre opzioni al massimo, cosa che potrebbe capitarvi solo se avete la cpu della nasa o se guardate un divx/xvid con la finestra microscopica.
Le opzioni successive cambiano a seconda di questa scelta, qui illustrerò solo le opzioni quando è settato come "normal".

-SVP-shader: lasciatelo su "13.standard"

-Framerate change: come ho spiegato in precedenza, Double the frame rate dovrebbe essere più che sufficente, e mantiene il sync con il vostro monitor, se non avete avuto modo di creare risoluzioni personalizzate e/o se la vostra cpu lo permette, potete mettere "to screen refresh rate" e guardarveli a 60Hz o anche di più.

-Interpolated frame size: abbassa la risoluzione dei frame intermedi calcolati, da evitare, lasciatela in "full size"

-Search Radius: migliora il calcolo dell interpolazione, tenuto a 4 pixel restituisce filmati molto fluidi ma anche un po' di artefatti, se non volete vedere troppi artefatti mettetelo massimo a 2

-Search Type: Hexagon dovrebbe essere sufficente, se potete mettete multi hexagon o Exhaustive, non ci sono contronindicazioni

Motion estimation accuracy: Half pixel suggerita, anche questa opzione succhia parecchia cpu.

Recalculation of vectors: se potete abilitatela, non ci sono controindicazioni

Block size: per contenuti in 1080p si puo' provare anche a tenerla in 16*16, per contenuti in SD è preferibile metterla a 8*8, ovvio che se la vostra cpu lo permette tenete sempre 8*8.

Block overlapping: questa ciuccia di brutto, dovrebbe migliorare i frame riducendo gli artefatti, se potete abilitate almeno a 0.25

Bad areas artifact suppression: io consiglio di tenerla a "Below normal", o "low", valori più alti blurrano troppo le immagini interpolate anche quando sono corrette, altri suggeriscono di tenerla proprio spenta del tutto se si è selezionato 13.normal come shader.

Bad areas artifact mask: tenetela su normal o sharp.

Processing of scene change: questo è un workaround per processare correttamente i cambi di scena, con frame repeating si evitano anche un po' di artefatti su scene molto veloci, perdendo ovviamente fluidità.

Reduce resolution: do not reduce. se proprio il vostro pc non ce la fa sui 1080p potete provare a ridurli a 720p, meglio un 720p fluido che un 1080p liscio, almeno per quanto mi riguarda.

frame blending to screen refresh rate: da abilitare solo se si hanno problemi di tearing usando il monitor a 60hz.

13-Priorità dei parametri. OBSOLETO (solo per svp 3.0.6)
questa è una scelta mia personale di priorità di quali parametri alzare/abbassare prima di altri, ogni riga aumenta il carico, aumentatele finchè la vostra cpu ce la fà.
supponendo che abbiate tutte le barre al minimo (a parte la prima che è su "normal" e la terza che è su "double the frame" o sync to monitor refresh"):

-Reduce resolution:do not reduce
-SVP-shader:13.standard
-interpolated frame size: full size
-search radius:4 pixel (2 pixel se volete meno artefatti)
-Bad areas artifact suppression: below normal
-bad areas artifact mask: normal o sharp
-processing of scene change: frame blending ( o repeating se volete meno artefatti)
-motion estimation: half pixel
-block size: 16*16
-block size: 16*8
-block size: 8*8 (soprattutto per conenuti inferiori a 1080p)
-search type uneven multi hexagon
-block overlapping 0.25
-search type Exhaustive
-motion estimation: quarter pixel
-block overlapping 0.5

Se riuscite ad arrivare fin qua cambiate il primo parametro a andate su "advanced" e buona fortuna .
Per andare al contrario leggete dal basso verso l'alto ovviamente, mettendo il parametro al settaggio inferiore di quello suggerito.

SVP MARK, BENCHMARK

nella home di svp trovate da scaricare anche SVP mark http://svp-team.com/wiki/SVPmark , è una utlity molto comoda che vi da un idea di quello che riuscirete a fare con la vostra cpu in termini di smoothing video, inoltre ha anche un report e potete comparare le prestazioni della vostra macchina con le altre.


LINKS UTILI

-il thread da dove è partito tutto:
http://www.avsforum.com/avs-vb/showthread.php?t=1025800

-sito ufficiale di SVP
http://svp-team.com/wiki/Main_Page

-discussione ufficiale di interframe (per la conversione offline)
http://forum.doom9.org/showthread.php?p=1486831

---------------
MODIFICA 16/02/2011
-aggiunta una configurazione per madvr (fix per monitor con custom refresh quando va in fullscreen)
-fixato la configurazione di ffdshow per gli xvid (lavcuvid non supporta xvid ma solo divx)
---------------
MODIFICA 24/02/2011
-aggiunte più informazioni sui paramteri di svp e sulle priorità
----------------
MODIFICA 27/02/2011
-cambiate le parti relative ai consigli riguardo all 'uso dei driver nvidia vecchi, la ultima release 295.73 funziona perfettamente quindi problema risolto.
-aggiunte informazioni al punto 11 riguardo alla visualizzazione delle statistiche in madvr
----------------
a breve la guida per la conversione offline, se intanto ci volete dare un occhio, qui la versione in inglese, mancano un po' di informazioni, io personalmente ci ho messo un bel po' prima di riuscire a farla partire....
http://www.spirton.com/convert-videos-to-60fps/

Se la cosa interessa posso provare ad aggiungere qualche screenshot nel caso ci fossero alcuni passaggi non chiari, in caso fatemi sapere e... BUONA VISIONE!!
__________________
Laptop Dell i7 10thGen - PC i7 11700k, G-skill 3200MhzC14, Liquid Corsair h150i, MB ASUS Z590A, case PHANTEKS PH-ES518XTG, Gigabyte RTX 4090, Quest2&3, Pimax5k+ - Xiaomi 11t - Ipad10

Ultima modifica di t1g3m4n : 27-03-2012 alle 07:36.
t1g3m4n è offline   Rispondi citando il messaggio o parte di esso