PDA

View Full Version : Problema Media Player Home Cinema + Avisynth


dino.c1979
10-08-2011, 12:47
Salve a tutti...ho un piccolo problema non riesco a far funzionare avisynth su Media Player Home Cinema...:mad:
A me interesserebbe vedere un filmato .mkv dove ho molto rumore con il filtro MCTemporalDenoise che vedendo in giro e' una bomba,ma nisba...mi perdo in qualche passaggio.
Ho un Intel E8600 e credo di aver capito che per sfruttarlo avrei bisogno della versione Avisynth 2.5.8 MT,ne ho scaricate una barca ma non so se sono giuste le versioni che scarico...no riesco a trovare un Avisynth 2.5.8 MT.exe ma solo file.zip con cartelle dentro che non so neanche dove mettere...
Installo FFdshow,da mettere come filtro esterno su Media Home Cinema e qua tutto a posto...se qualcuno ha da darmi una dritta su quale versione sia meglio installare io sono qua...
Ho trovato il pacchetto MCTemporalDenoise v1.4.20 dove all'interno ci sono altri filtri senza i quali non lavora...metto tutto dentro la cartella Plugin di Avisynth.
Vado in FFdshow spunto Avysinth ma nella sua finestra non so cosa mettere,cioe' come faccio a far lavorare lo script MCTemporalDenoise che e' nella cartella plugin di Avisynth?qualcuno mi puo' dare delucidazioni in merito o postarmi qualcosa di utile per risolvere il mio problema?

Paky
11-08-2011, 12:18
c'è il readme

installi avisynth 2.58 normale -> http://sourceforge.net/projects/avisynth2/files/AviSynth%202.5/AviSynth%202.5.8/Avisynth_258.exe/download

poi sotituisci le DLL con quelle della MT che hai scaricato


ver vedere se tutto funziona apri il blocconote di WIN , ci scrivi version()
e salvi come prova .AVS

trascini in mpc il file AVS e controlli la versione

http://img13.imageshack.us/img13/6976/avisynthmt.png

dino.c1979
11-08-2011, 23:57
ciao e grazie di avermi risposto...ho fatto quello che mi hai detto ed è tutto a posto...volevo solo chiederti come faccio ad usare questo filtro TCtemplatedenoise vedendo un filmato MKV con Media Player Home Cinema???:mc:
1-Ho installato l'ultima versione x86 di Media Player Home Cinema (x86 cosi posso utilizzare il Render madVR...la versione x64 non lo supporta)
2-Ho installato la versione che mi hai consigliato tu di Avisynth 2.5.8 MT e fatto la prova...tutto a posto...
3-Ho installato FFdshow una delle ultime versione x86 da poterlo caricare come filtro esterno da Media Player Home Cinema e far lavorare di conseguenza Avisynth selezionato nel menu' di FFdshow Video Decoder.
4-Ho scaricato e scompattato il suddetto filtro TCtemplatedenoise nella cartella Plugins di Avisynth,dato che al suo interno ci sono altri filtri senza i quali non riuscirebbe a lavorare.
Ora le mie 2 domande risultano anche abbastanza semplice:
1)avendo teoricamente tutto quello che mi serve per vedere al meglio un filmato MKV,come va creato cioè scritto nella pratica sul blocnotes e poi salvato in .avs lo script in Avisynth per il filtro in questione TCtemplatedenoise???:mc:
Online ho trovato tutto su filmati AVI ed altri formati e non per MKV,come mai??
2)una volta creato questo benedetto script,lo devo salvare in .avs oppure scriverlo in FFdshow nella sezione Avisynth in modo che da la venga fatto girare da Media Player Home Cinema dato che ho selezionato come filtri esterni FFdShow??
queste sono le mie problematiche a livello pratico...:muro: :muro:

marksiena
12-08-2011, 19:07
1)avendo teoricamente tutto quello che mi serve per vedere al meglio un filmato MKV,come va creato cioè scritto nella pratica sul blocnotes e poi salvato in .avs lo script in Avisynth per il filtro in questione TCtemplatedenoise???:mc:

Online ho trovato tutto su filmati AVI ed altri formati e non per MKV,come mai??
2)una volta creato questo benedetto script,lo devo salvare in .avs oppure scriverlo in FFdshow nella sezione Avisynth in modo che da la venga fatto girare da Media Player Home Cinema dato che ho selezionato come filtri esterni FFdShow??
queste sono le mie problematiche a livello pratico...:muro: :muro:

Ciao, devi scaricare il file MCTemporalDenoise.v1.4.20.avsi (http://avisynth.org/mediawiki/MCTemporalDenoise) e copiarlo nella cartella plugin di avisynth, oltre allo script devi scaricare e copiare nella cartella plugin di avisynth anche tutti i filtri che trovi nella sezione "Required Filters".
Fatto ciò vai in ffdshow e scrivi il codice:
Setmtmode(2,0)
MCTemporalDenoise(settings="medium")

I valori che puoi mettere sono:
"very low"
"low"
"medium"
"high"
"very high"

Se hai una scheda grafica abbastanza potente puoi mettere GPU=true, abilita FFT3Dgpu.

Paky
12-08-2011, 20:44
Setmtmode(2,0).

a me non ha mai funzionato bene in 2 thread
un core al 100% e l'altro al 20%

sai quale/quali filtro/i della funzione MCTemporalDenoise non lavora bene con avisynth MT?

marksiena
12-08-2011, 21:34
a me non ha mai funzionato bene in 2 thread
un core al 100% e l'altro al 20%

Hai ragione...l'ho scritto male.
A me funziona deselezionando "aggiungi sorgente video ffdshow" nel pannello avisynth e selezionando "buffer" 5 - 10

Per farlo funzionare bene con avisynth MT io metto:
SetMTMode(3,7) # per quad core
ffdShow_source()
SetMTMode(2)
Mctemporaldenoise(settings="medium")
.................
.................
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last


L'unico problema che mi è capitato è abilitando FFT3dGPU, per farelo funzionare ho dovuto mettere SetMTMode(5)

dino.c1979
13-08-2011, 12:39
Hai ragione...l'ho scritto male.
A me funziona deselezionando "aggiungi sorgente video ffdshow" nel pannello avisynth e selezionando "buffer" 5 - 10

Per farlo funzionare bene con avisynth MT io metto:
SetMTMode(3,7) # per quad core
ffdShow_source()
SetMTMode(2)
Mctemporaldenoise(settings="medium")
.................
.................
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last


L'unico problema che mi è capitato è abilitando FFT3dGPU, per farelo funzionare ho dovuto mettere SetMTMode(5)

Grazie a tutti..per rispondere alle mie problematiche...comunque vorrei riscrivere il tuo Script per il mio Core 2 Duo E8600 in modo da non fare errori...se gentilmente mi dici se è corretto o meno:

SetMTMode(3,2) # per Core 2 Duo,ma sono sicuro di aver sbagliato ascriverlo :mc:
ffdShow_source() # questo scritto cosi dovrebbe andare bene anche a me nel parentesi non va niente!:)
SetMTMode(2) # settato a 5 nelle parentesi se uso una scheda video potente nel mio caso ho una 6970:confused:
Mctemporaldenoise(settings="medium") # questo va bene cosi ma se voglio far lavorare la scheda video devo mettere all'interno delle parentesi ,gpu=true non so se ci vogliono le virgolette da qualche parte.:confused:
SetMTMode(1) # questo non ho capito a cosa serve :confused:
GetMTMode(false) > 0 ? distributor() : last # e questo neanche..a cosa servono?:confused:

Grazie aspeto una votra RISPOSTA!!!!

dino.c1979
13-08-2011, 13:31
:mad:
Salve ragazzi sono ancora qua...ho fatto delle prove aprendo un file .mkv
allego le immagini in modo da far rendere meglio il mio problema.

Questo e' quello che ho scritto in ffdshow sezione Avisynth:
Spuntato Buffer,messo 5 e 10 come valore
Spuntato Aggiungi sorgente video ffdshow 3:2 Pulldown (Ignore Pulldown)
Spuntato Attiva
Spuntato Immagine Intera
Spazio Colore input: li ho spuntati tutti

SetMTMode(2,0)
ffdShow_source()
SetMTMode(5)
McTemporalDenoise(settings="medium",GPU=true)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

Paky
13-08-2011, 13:36
Hai ragione...l'ho scritto male.
A me funziona deselezionando "aggiungi sorgente video ffdshow" nel pannello avisynth e selezionando "buffer" 5 - 10..... etc..

grazie , ho provato ma l'utilizzo rimane sbilanciato


@dino.c1979

sicruro di non avere attivo il resize in ffdshow?
se si o lo disabiliti o lo sposti dopo Avisynth

dino.c1979
13-08-2011, 13:49
Ciao credo che dipendesse dal file...siamo sicuri che avisynth gestisca file mkv?
a me viene il dubbio!

Vi ho allegato un'immagine in basso al mio post...inizia col dirmi che:

This is not a MOD4 clip!Please use crop() or addborders before using MCTemporalDenoise() (MCTemporalDenoise.avsi,line 687) (ffdshow_filter_avisynth_script, line5)

ve lo ho scritto in modo non nascano casini.

Ho disabilitato il Resize o Dimensione e aspetto che dir si voglia...e la casellina del Resize e' posta sotto Avisynth in ffdshow...

Questo e' quello che ho scritto in Avisynth sotto ffdshow:

SetMTMode(2,0)
ffdShow_source()
SetMTMode(2)
McTemporalDenoise(settings="medium")
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

dino.c1979
13-08-2011, 14:14
io ho trovato questo in giro sul Web...ma sinceramente per me rimane ARABO.
Qualcuna ha qualche idea:mc: :confused:

### INPUT
i = (interlaced==true) ? i.separatefields() : i

mod = (bwbh>=blksize) ? bwbh : blksize
xi = i.width()
xf = ceil(xi/float(mod))*mod - xi + mod
xn = int(xi+xf)
yi = i.height()
yf = ceil(yi/float(mod))*mod - yi + mod
yn = int(yi+yf)
i = i.pointresize(xn,yn,-xf/2,-yf/2,xn,yn)

m4 = ((int(xi/4.0)*4==xi)&&(int(yi/4.0)*4==yi)) ? true : false
Assert( m4 ? true : false, chr(10) + "This is not a MOD4 clip! Please use crop() or addborders() before using MCTemporalDenoise()" + chr(10))

m16 = (deblock==false) ? true : ((int(xi/16.0)*16==xi)&&(int(yi/16.0)*16==yi)) ? true : false
Assert( m16 ? true : false, chr(10) + "This is not a MOD16 clip! Please use crop() or addborders() before using MCTemporalDenoise() with deblock=true" + chr(10))

### WARNING
Assert(isYV12(denoised) == True ? true : false, chr(10) + "This is not an YV12 clip ! Please convert color space to YV12 before using MCTemporalDenoisePP()" + chr(10))

w = denoised.width()
h = denoised.height()

m4 = (internal==true) ? true : ((int(w/4.0)*4==w)&&(int(h/4.0)*4==h)) ? true : false
Assert( m4 ? true : false, chr(10) + "This is not a MOD4 clip! Please use crop() or addborders() before using MCTemporalDenoisePP()" + chr(10))

m16 = (internal==true) ? true : (deblock==false) ? true : ((int(w/16.0)*16==w)&&(int(h/16.0)*16==h)) ? true : false
Assert( m16 ? true : false, chr(10) + "This is not a MOD16 clip! Please use crop() or addborders() before using MCTemporalDenoisePP() with deblock=true" + chr(10))

marksiena
13-08-2011, 14:49
Spuntato Aggiungi sorgente video ffdshow 3:2 Pulldown (Ignore Pulldown)


devi deselezionare "Aggiungi sorgente video ffdshow", non selezionarla altrimenti ci sono troppi input in avisynth:
1° - Aggiungi sorgente video ffdshow
2° - ffdshow_source()

ti conviene lasciare solamente ffdshow_source perchè così puoi usare SetMTMode per il multi thread.

Ciao credo che dipendesse dal file...siamo sicuri che avisynth gestisca file mkv?
Avisynth in ffdshow può essere sempre abilitato: avisynth non decodifica il file mkv (di questo se ne occupa ffdshow) ma applica semplicemente dei filtri.

L'errore che hai si riferisce alle proporzioni del file, quali sono le dimensioni del file che stai riproducendo?

dino.c1979
13-08-2011, 15:17
I file sono di quelli ad alta definizione 1920 x1080.

Paky
13-08-2011, 15:22
riporta la risoluzione esatta

dino.c1979
13-08-2011, 15:25
Comunque c'e qualcosa che non quadra...

ho fatto come mi hai detto ma se non erro NON DEVO selezionare "aggiungi sorgente video a ffdshow".

Puoi postare gentilmente un'immagine su come dovrebbe essere il tutto nel mio caso?
Grazie Mille...Mi sembra di aver un Handicap nella comprensione:mbe::mbe:
Chiedo scusa in anticipo.

dino.c1979
13-08-2011, 15:26
riporta la risoluzione esatta

Con quale programma la posso trovare la risoluzione del file .mkv???:D

dino.c1979
13-08-2011, 15:40
Vorrei fare una piccola parentesi.
Ho eseguito la guida di Marksiena...incollo lo script:

svp_scheduler=true
SetMemoryMax(1024)
svp_cache_reduce=true
svp_flow_lib=("c:\Program Files (x86)\SVP\Plugins\MVTools2\libflowgpu.dll")qui mancavano le parentesi e per chi ha sistema x64 va messo Program Files (x86)
multinum=12
multiden=5
algo=23
block=false
ml=30
search=3
sadml=100
sadgamma=2
blend=true
dist=3
pel=1
sharp=1
Recalc=1
blkh=32
blkv=32
overlap=0
overlapv=0
wid_den=1
hei_den=1
blkh2=blkh/2
blkv2=blkh/2
LoadPlugin ("c:\Program Files (x86)\SVP\Plugins\MVTools2\mvtools2.dll")qui c'erano le parentesi,ma per i sistemi x64 mancavana il (x86)
SetMTMode(2,2)Ora sono bloccato qua mi da un errore: Script error:there is no function named 'SetMTMode' (ffdshow_filter_avisynth_script, line 28) il valore tra le parentesi l'ho cambiato piu' volte ma senza successo
ffdShow_source()
SetMTMode(5)
sigma=3
fft3dgpu(precision=2,mode=2,degrid=0,sigma=sigma,sigma2=sigma/2,sigma3=sigma/3,sigma4=sigma/4,oh=0,ow=0,sharpen=0.7)
SetMTMode(2)
Limitedsharpenfaster(ss_x=1.3,ss_y=1.3)
super=MSuper(pel=pel, hpad=blkh, vpad=blkv, sharp=sharp)
finest= super
backward_vec=MAnalyse(super, isb=true, blksize=blkh, blksizev=blkv, overlap=overlap, overlapv=overlapv, search=search, searchparam=dist, pelsearch=dist, plevel=0)
forward_vec=MAnalyse(super, isb=false, blksize=blkh, blksizev=blkv, overlap=overlap, overlapv=overlapv, search=search, searchparam=dist, pelsearch=dist, plevel=0)
backward_vec = Recalc==0 ? backward_vec : MRecalculate(super, backward_vec, blksize=blkh2, blksizev=blkv2, overlap=int(overlap/4)*2, overlapv=int(overlapv/4)*2, search=search, searchparam=dist)
forward_vec = Recalc==0 ? forward_vec : MRecalculate(super, forward_vec, blksize=blkh2, blksizev=blkv2, overlap=int(overlap/4)*2, overlapv=int(overlapv/4)*2, search=search, searchparam=dist)
MSmoothFps(super, backward_vec, forward_vec, finest=finest, num=FramerateNumerator(last)*multinum,den=FramerateDenominator(last)*multiden, algo=algo, ml=ml, sadml=sadml, sadgamma=sadgamma, block=block, blend=blend)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

marksiena
13-08-2011, 16:04
Con quale programma la posso trovare la risoluzione del file .mkv???:D

puoi vederla direttamente da ffdshow abilitando OSD > dimensioni e proporzioni


SetMTMode(2,2)Ora sono bloccato qua mi da un errore: Script error:there is no function named 'SetMTMode' (ffdshow_filter_avisynth_script, line 28) il valore tra le parentesi l'ho cambiato piu' volte ma senza successo


Se ti da errore lì significa che non hai istallato una versione Multi thread di avisynth.
Puoi istallare questa: AviSynth_258_MT_MSVC2010.exe (http://xhmikosr.1f0.de/index.php?folder=YXZpc3ludGg=)

dino.c1979
13-08-2011, 16:12
Infatti avevi ragione...ho sostituito la .dll avisynth nella cartella SysWOW64...ora ho risolto questo perche' avevo installato e disinstallato...
Pero' mi rimane il problema MOD4...vi faccio sapere le misure del filmato!:)

dino.c1979
13-08-2011, 16:18
puoi vederla direttamente da ffdshow abilitando OSD > dimensioni e proporzioni



Se ti da errore lì significa che non hai istallato una versione Multi thread di avisynth.
Puoi istallare questa: AviSynth_258_MT_MSVC2010.exe (http://xhmikosr.1f0.de/index.php?folder=YXZpc3ludGg=)

Dimensioni e proporzioni con OSD di FFdshow:

1920x800, SAR: 1/1, DAR: 12/5

Questo e' quello che mi da...come bisogna procedere ora?