Benvenuto Visitatore ( Log In | Registrati )

          .:Divx Mania:.




Collapse 
       Download

Gli Ultimi File Inviati

I file più scaricati

NomeDownloads
 
Collapse 
       Cerca
Cerca:
 
Collapse 
       Guide & FAQ .::. Tag Cloud
 
Collapse 
       Ultime discussioni
espandi o collassa Consiglio sintoamplificatore
Ultimo messaggio di rob92 @ 26 Oct 2020 - 11:41

Vorrei
[Leggi tutto]
espandi o collassa Riapre Cyberotecnica.net
Ultimo messaggio di Pietro60 @ 14 Aug 2019 - 14:20

Slave
[Leggi tutto]
espandi o collassa Codec compressione
Ultimo messaggio di paolodik49 @ 17 Jun 2019 - 12:26

Salve,
[Leggi tutto]
espandi o collassa Avinaptic
Ultimo messaggio di Walter White @ 6 Apr 2019 - 20:44

Ho
[Leggi tutto]
espandi o collassa Problemi masterizzatore
Ultimo messaggio di venac @ 12 Nov 2017 - 22:50

Nel
[Leggi tutto]
espandi o collassa Problema riproduzione video 1080p
Ultimo messaggio di venac @ 18 Oct 2017 - 23:57

Risolto.
Ho
[Leggi tutto]
espandi o collassa Scelta video
Ultimo messaggio di venac @ 16 Oct 2017 - 16:13

OK,
[Leggi tutto]
espandi o collassa .:EDITATO:.
Ultimo messaggio di bugmenot @ 24 Sep 2017 - 17:24

.:SPAM:.
[Leggi tutto]
espandi o collassa Profili e livelli H264
Ultimo messaggio di venac @ 6 Sep 2017 - 19:28

Adesso
[Leggi tutto]
espandi o collassa TS complicato da convertire in DivX
Ultimo messaggio di Mad Hatter @ 17 Aug 2017 - 12:57

Scusando
[Leggi tutto]
espandi o collassa HDConvertToX 3.0 aggiornato al 14/10/2010
Ultimo messaggio di senape @ 6 Oct 2016 - 09:01

Nonostante
[Leggi tutto]
espandi o collassa È possibile digitalizzare vecchio filmato super 8?
Ultimo messaggio di Jancker @ 19 Feb 2016 - 08:57

quello
[Leggi tutto]
espandi o collassa Come tagliare questo M2TS
Ultimo messaggio di tgiorgio @ 15 Feb 2016 - 13:57

Prova
[Leggi tutto]
espandi o collassa Da MKV a Divx
Ultimo messaggio di tgiorgio @ 10 Jan 2016 - 14:50

Oppure
[Leggi tutto]
espandi o collassa DTS-HD
Ultimo messaggio di Mad Hatter @ 7 Nov 2015 - 11:21



La
[Leggi tutto]
espandi o collassa tutte [ Visualizza nuovi messaggi ]
 
Collapse 
       Recensioni .::. Tag Cloud
 
 
Collapse 
       Avisynth - Editing Non Lineare
Scritta da aytin il 17 Jan 2006, 09:34
Piccolo e letale. Avisynth è un potentissimo strumento di editing audio-video. stampa

4. Primi Script

Avisynth è un tool per l'editing video ma non aspettatevi una Gui per il settaggio dei paramentri.
Avisynth viene settato attraverso degli script ed è sulla preparazione di questi script che si concentrerà tutto il resto.
.
Nell'economia della codifica MPEG-4 tutto quello che serve è:
  • specificare la sorgente
  • eventuale Crop
  • filtri
  • eventuale Resize
Lo script nella fig. 2.2 vale come esempio del "minimalismo" accennato sopra.

CODE

#Caricamento filtri.
#Il DGDecode serve per accedere all'indice dei frames
LoadPlugin("C:\PROGRAMMI\DGMPGDec\DGDecode.dll")

#SORGENTE
mpeg2source("c:\film.d2v", idct=0)

#CROP, per il taglio delle bande nere
crop(6,14,708,548)

#RESIZE
BilinearResize(512,272)


L'ordine nelle operazioni non è casuale.
crop -> filtri -> resize
Normalmente il resize avviene dopo l'applicazione dei filtri, i quali sono successivi al crop (e anche questa sequenza potrebbe essere ampiamente discussa su elaborazioni particolari che verranno discusse più avanti. Al momento, è sufficiente per i nostri scopi).
Per ragioni di pulizia innanzitutto, ma anche perchè un denoise (i filtri che attenuano il rumore video) è meglio che lavori sui frame originali, in modo che levi,il più possibile, solo il rumore senza toccare i dettagli rilevanti.
Il resize apporta delle approssimazioni e se il denoise lavorasse sul risultato del resize lo farebbe in modo scorretto.
Ovviamente rimane il fatto che lavorare dopo il resize, quindi su frame ridimensionati, è più vantaggioso dal punto di vista della velocità.

user posted image
Non si creda che le speculazioni enunciate finora corrispondano ad un rigido modello applicativo dal quale non ci si possa discostare.
Sono frutto di esperienze personali e di considerazioni "ragionevoli" nell'applicazione dei filtri.
Nessun limite viene posto alla creazione di un diverso processo applicativo che chiunque usi avisynth potrebbe proporre.



Ora analizzeremo con cura lo script, perchè le operazioni evidenziate sono quelle che ritroverete nel 99% delle codifiche elementari (da usare quindi come base per script futuri)
  • specificare la sorgente: L'acquisizione dalla sorgente avviene attraverso un file particolare di tipo d2v prodotto da DgIndex, per il cui approfondimento si rimanda alla "Guida completa a DgIndex 1.4.5".
    Basti sapere che tale applicazione, a partire dai frames della sorgente, costruisce un indice che Avisynth utilizzerà per processare i frames con i suoi filtri.
    La sorgente non è necessariamente un file di questo genere. Avisynth può processare benissimo tante altre tipologie di file caricandoli con le istruzioni opportune. Si veda, al proposito, il primo esempio del cap. 10.
  • eventuale Crop: Le misure per il crop possono essere prese usando GordianKnot (vedi guida) a mio avviso, il modo più semplice e preciso per croppare rispettando l'aspect-ratio (le proporzioni rispetto al video orginale)
  • eventuale Resize: La scelta del resize può dipendere da tanti fattori che non sono oggetto di questo articolo.
    In funzione della precisione con cui il resize viene effettuato, si può tracciare la seguente gerarchia:
    Bilinear -> Bicubic -> Lanczos
    tenendo presente che tanto più l'immagine risulta dettagliata, quanto meno risulta comprimibile con il rischio, se non si dispone di un bitrate sufficiente, di generare artefatti inattesi (blocking).
    Dal punto di vista della qualità, si tenga presente questa regola più o meno generale:
    • Se l'immagine viene rimpicciolita è meglio usare dei filtri poco aggressivi (bilinear o soft bicubic).
    • Se l'immagine viene ingrandita è bene usare un filtro più aggressivo (sharp bicubic o Lanczos)
    Nel primo caso si evita che l'immagine diventi inutilmente spigolosa senza alcun reale beneficio. Nel secondo caso, un filtro poco aggressivo rende l'immagine ingrandita un pò sfumata e quindi poco chiara.
user posted image
Un altro resize che può tornare molto utile è il simpleResize. Nella gerarchia tracciata in precedenza, lo si può collocare fra il bilinear e il bicubic (Bilinear -> Simple -> Bicubic -> Lanczos) e garantisce una buona definizione senza appesantire eccessivamente l'immagine.


Ogni funzione di Avisynth restituisce un clip ossia una sequenza di frame.
Il risultato viene acquisito implicitamente oppure può essere memorizzato in una variabile se si vogliono eseguire delle elaborazioni più fini.
L'applicazione delle funzioni sui clip può avvenire:
  • invocando direttamente la funzione, come è stato fatto nell'esempio sopra.
  • utilizzando una variabile e applicandovi la funzione per mezzo dell'operatore "."
Alla luce di quanto, detto lo script precedente equivale:

CODE

#Caricamento filtri.
#Il DGDecode serve per accedere all'indice dei frames
LoadPlugin("C:\PROGRAMMI\DGMPGDec\DGDecode.dll")

#SORGENTE
sorgente=mpeg2source("c:\film.d2v", idct=0)

#CROP, per il taglio delle bande nere
clip=sorgente.crop(6,14,708,548)

#RESIZE
clip=clip.BilinearResize(512,272)


ma anche a:

CODE

#Caricamento filtri.
#Il DGDecode serve per accedere all'indice dei frames
LoadPlugin("C:\PROGRAMMI\DGMPGDec\DGDecode.dll")

#SORGENTE
sorgente=mpeg2source("c:\film.d2v", idct=0)

#CROP, per il taglio delle bande nere
clip=crop(sorgente,6,14,708,548)

#RESIZE
 clip=BilinearResize(clip,512,272)


e a tutte le variazioni del caso.

4.1. Selezione di una porzione video

Volendo rendere lo script un filo più sofisticato si può ricorrere all'utlizzo di trim per selezionare porzioni di video su cui applicare filtri differenti.
Ad es.

CODE

#Caricamento filtri.
#Il DGDecode serve per accedere all'indice dei frames
LoadPlugin("C:\PROGRAMMI\DGMPGDec\DGDecode.dll")

#SORGENTE
mpeg2source("c:\film.d2v", idct=0)

#CROP, per il taglio delle bande nere
crop(8,74,704,428)  

#RESIZE
a=trim(0,1000).BilinearResize(576,240)
b=trim(1001,134678).BicubicResize(576,240,1/3,1/3)
c=trim(134678,0).BilinearResize(576,240)

return a+b+c


In questo caso abbiamo selezionato 3 porzioni video a cui applicare 3 resize differenti, il secondo un pò più aggressivo rispetto agli altri,
Ogni porzione viene assegnata ad una variabile e, alla fine dello script viene ricomposto il film intero ossia a+b+c.
E' quello che si fa nel caso in cui per i titoli di testa e di coda si vogliano minimizzare le risorse. Il bitrate risparmiato viene utilizzato per il film.

4.2. Come migliorare la comprimibilità

Se si vuole migliorare la comprimibilità si può ricorrere all'uso di un paio di semplici tecniche:
  1. Riduzione della luminosità
  2. Riduzione minimale del dettaglio

    E un paio di considerazioni ragionevoli:

  3. Uso di resize meno aggressivi
  4. Diminuzione della risoluzione
Il senso della prima nasce dal fatto che i codec MPEG-4 hanno una difficoltà congenita nel comprimere le scene chiare a differenza di quelle scure che sono ottimamente comprimibili. Riducendo un pochino la luminosità si aumenta la comprimibilità senza che le immagini siano troppo degradate.
Stesso discorso per il dettaglio. Riducendolo in minima parte, non sarà comunque visibile ad un'analisi superficiale del video, a tutto vantaggio della comprimibilità.
La scelta di ridurre la risoluzione e/o l'aggressività del resize prescinde ovviamente dal tool in oggetto, ma è di carattere generale e abbastanza nota.

user posted image
Si sa che più la risoluzione è alta e più si deve pompare il bitrate per non rischiare la produzione di artefatti indesiderati.
Idem dicasi per il resize. Senza dilungarmi ulteriormente, a una maggiore aggressività deve corrispondere un bitrate sufficiente ma anche una risoluzione adeguata (vedi Scelta Resize)
Ad es. secondo me è inutile utilizzare un filtro come il Lanczos su una risoluzione tipo (512,xxx). Oltre che a richiedere un certo numero di risorse in termini di bitrate, pena la produzione di blocchetti,renderebbe in ogni caso le immagini inutilmente spigolose e introdurrebbe un sacco di rumore video.
Si tenga anche conto infatti che la precisione del resize si paga anche in termini di rumore introdotto.


CODE

#Caricamento filtri.
#Il DGDecode serve per accedere all'indice dei frames
LoadPlugin("C:\PROGRAMMI\DGMPGDec\DGDecode.dll")
LoadPlugin("C:\PROGRAMMI\Avisynth 2.5\filtri\Undot.dll")
LoadPlugin("C:\PROGRAMMI\Avisynth 2.5\filtri\Unfilter.dll")

#SORGENTE
mpeg2source("c:\film.d2v", idct=0)

#CROP, per il taglio delle bande nere
crop(6,14,708,548)  
LumaYV12(-2,1) #molto leggero
#LumaYV12(0,0.9) #un pò più efficace
Unfilter(-3,-3) #smooth leggero
Undot() #deringing

#RESIZE
a=trim(0,1000).BilinearResize(576,240)
b=trim(1001,134678).BicubucResize(576,240,1/3,1/3)
c=trim(134678,0).BilinearResize(576,240)

return a+b+c


LumaYV12(offset, gain)
agisce sulla componente luma del pixel.
Se y è la luma del pixel, y * gain + offset è ciò che restituisce la funzione
Il default risulta quindi LumaYV12(0,1) (y*1+0 è sempre y).

- offset è compreso fra -255 e +255. I valori assunti agli estremi corrispondono al video nero o bianco rispettivamente
- gain è compreso fra 0 e 2. Fra 0 e 1 la luminosità si riduce. Fra 1 e 2, aumenta. Amplifica in ogni caso l'effetto dell 'offset

Unfilter(HSharp, VSharp)
Intensifica (+n) o diminuisce(-n) il dettaglio agendo separatamente sulla componente orizzontale e su quella verticale. n va da -100 a 100

Undot()
Non ha bisogno di parametri. Riduce l'effetto "mosquito" sui bordi.

Una volta finito, si salva lo script come: "nomeScript.avs".
Lo si può testare su un qualunque player (fortemente consigliato Media Player Classic)

Una volta salvato lo script avs, si dà in pasto a VirtualDub Mod e dare il via all'operazione di encoding.

user posted image

fig. 4.1

Non è poi così difficile new_smileyb.gif



PARTE A

Cap. 1. Premessa
Cap. 2. Cos'è Avisynth
Cap. 3. Installazione di Avisynth
Cap. 4. Primi script


PARTE B

Cap. 5. Avisynth: dove il codec non arriva
Cap. 6. Telecined, Progressive e Interlaced
Cap. 7. Gestione del Colore
Cap. 8. Ripulire la sorgente video
Cap. 9. Anime
Cap. 10. Post-Processing e altre peculiarità
Pagine: 1 .:. 2 .:. 3 .:. 4 .:. 5 .:. 6 .:. 7 .:. 8 .:. 9 .:. 10 .:.
IPB Powered by TiBiT Lab Copyright © Divxmania.it - La duplicazione di queste pagine senza previo consenso degli amministratori è strettamente vietata. IPB