Dritte sull'encoding...

Questa sezione è stata aperta per dare una possibilità in più, a chi vuole, di commentare i nostri lavori e magari darci consigli. Questa sezione è riguarda il fansub in senso tecnico. Per i commenti sull'anime in sé postate nella sezione apposita.
Avatar utente
zooropa
Coordinator Pensionato
Coordinator Pensionato
Messaggi: 4209
Iscritto il: mer apr 28, 2004 9:59 am
Località: 19°21'39.48"N 81°16'14.35"W
Contatta:

Dritte sull'encoding...

Messaggioda zooropa » mar mar 07, 2006 10:48 pm

Mi rivolgo a chi di voi encoda anime. Negli ultimi tempi ho abbastanza affinato alcune "tattiche" che vi invito a provare. E'possibile che per molti di voi siano cose scontate ma magari qualcuno potrebbe trovare utile questo post.
Premetto che uso come abitudine Avisynth, VDubmod e XviD 1.1 (Koepi build).

Iniziamo.

1 o 2 passate di codec?

Fino ad ora ho lavorato esclusivamente su 2 passate, inizialmente perché era necessario centrare la dimensione giusta del file per fare entrare correttamente 3 files in un CD. Questa necessità è venuta meno con l'avvento dei masterizzatori DVD ma mi era rimasta l'abitudine delle 2 passate nella convinzione che impostando un "certo bitrate" avrei raggiunto la qualità che volevo. A questo punto è piombato nella mia grigia vita da encoder niente po' po' di meno che SysKin ovvero uno dei membri del team di sviluppo di XviD che mi ha folgorato sulla via di Damasco facendomi candidamente la domanda...."Ma se è solo la qualità che cerchi e non ti importa di avere un'esatta dimensione del file, perché cavolo ti ostini ad usare il 2 pass mode?". SysKin ha aggiunto senza usare mezzi termini che il 2pass mode è solo una gran rottura di balle e il suo unico scopo è (appunto) quello di raggiungere un'esatta dimensione del file. Per il resto è solo una gran perdita di tempo. Il bitrate infatti, nella modalità modalità "single pass" è comunque variabile in funzione del dettaglio/movimento presenti sulla scena in quel momento. L'unico accorgimento da prendere è settare il "Quantizer" ad un certo valore (normalmente tra 3 e 5) e lasciare lavorare il codec senza stare a litigare con file statistici e amenità del genere.

Crop...

Questo passaggio di avisynth fino a poco fa' era per me un illustrissimo "Mr. inutilità" fino a che non ho controllato meglio i miei encode rilasciati fino ad oggi ed ho notato la presenza di piccolissimi (a volte solo 1 o 2 pixel) bordi neri che erano occasionalmente presenti ai bordi. A volte erano in alto, altre volte laterali altre volte ancora su tutti e 4 i bordi. Mi è venuto in mente a quel punto (...dopo anni di encoding...se mi pesca Yusaku mi scortica e mi inzuppa in una miscela di sale, limone e aceto!!) Uno dei grossi limiti di XviD e di Mpg4 in genere è proprio quello della gestione del nero ed in particolare del contrasto tra un bordo nero fisso ed una scena chiara in movimento. Ho acchiappato allora una delle opening presenti sui DVD di Z Gundam e ho fatto 2 prove di encoding a Quantizer 4. Una con il crop e l'altra senza... morale della favola quella con il crop pesava 1 Megabyte e rotti di meno (su 13) il tutto tagliando appena 2/3 pixel di bordi e resizando il tutto a 640x480. L'effetto visivo era ASSOLUTAMENTE indistinguibile. Questo vuol dire che per la gioia di tutti voi ho lasciato fin'ora in tutti i miei encode circa 15/20 megabyte di zozzeria che voi avete diligentemente scaricato... Gomen... a titolo meramente esemplificativo vi posto lo script avisynth che ho usato in questo caso.

----
crop(8,4,-4,0)
bicubicresize (640,480)
----

In pratica ritaglia una striscia di 8 pixel a sx, 4 sopra e sotto e nulla a dx.
L'immagine risulta quindi leggermente più piccola della risoluzione voluta per cui ho applicato subito dopo il bicubic resize.

Wow!! Sei davvero un figo! Ma perché devi per forza fare il resize?

Anche qui bisogna scendere a patti con alcune limitazioni di XviD. Questo codec lavora per macroblocchi di modulo 4, 8 e 16. Se decidete di usare XviD assicuratevi che le dimensioni (in pixel) siano divisibili almeno per 8 (meglio se per 16). A voi il divertimento di trovare delle misure che rendano corrette le proporzioni dello schermo (per gli anime si parla quasi esclusivamente di 4:3 e di 16:9).

beh... ma perché il "bicubic resize" invece del più veloce "simple resize"?

Perché IMO il bicubic applica un eccellente "smoothing" (tutt'altro che invasivo) dell'immagine. Preserva bene i contorni e toglie molto del fastidioso "rumore di fondo" che tanto disturba il codec. In caso di sorgente molto rumorosa mi è capitato di andarci pesante con gli smoothers temporali ma con ottimi risultati. A titolo di informazione una volta ho usato in sequenza:
msmooth()
TTempSmooth()
undot()
RemoveGrain()

Il risultato mi ha appagato notevolmente. Non c'è stato neanche bisogno di ridefinire i contorni con uno sharpen. XviD ha ringraziato sentitamente.

Ma se volessi fare un encode che poi posso vedere sul mio lettore DivX da salotto come faccio?

Dopo aver ricevuto insulti in tutte le lingue del mondo perché i miei fasub non si vedevano sul lettore da salotto alla fine sono giunto alla conclusione su cosa piace e cosa non piace ai players.

Non piace:
Il Qpel, il GMC, il packed bitstream e i bitrate elevati (sopra i 2-3000kbps) e le risoluzioni che vanno molto poltre i 700 pixel per risoluzione. Non piacciono ovviamente tutti i contenitori che non siano .avi (.mkv .ogm .rmvb in primis). Iniziano a vedersi limitati supporti per i contenitori .mp4 (che non sono ancora completamente definiti) e .wmv.

Tutte le altre features possono essere usate abbastanza tranquillamente.

Wow!! Allora voglio fare l'encoding di un anime migliore possibile

Benissimo... non usate XviD. Usate x264. E'un codec di nuova generazione (anche se ancora non ha raggiunto uno stadio di sviluppo del tutto stabile) che fa veramente impallidire tutti gli altri. Segue le specifiche dei nuovi codec Mpg4 AVC ed è a tutti gli effetti da consideare il codec del futuro. Scordatevi però di visualizzarlo su PC lenti/Lettori da tavolo.

Allora no...voglio usare il buon vecchio XviD così mi guardo i miei fansub spaparanzato sul divano del salotto sul mio megaplasma da 42000 pollici!!

Avete ragione. XviD avrà ancora una lunga vita davanti proprio per le sue caratteristiche di compatibilità con i dispositivi hardware e poi perché in effetti è un ottimo codec "normale".

In ogni caso partite dal concetto che non esistono i "settaggi definitivi" e che ogni encode fa storia a sé. In linea generale posso dirvi che gli anime gradiscono poco l'Adaptive Quantization e gradiscono molto il Cartoon Mode. Per i profili usate tranquillamente Advanced Simple@L5 (AS@L5).
Come Quantization Type usate l h.263 e abilitate i b-vop (massimo2).

Per gli altri settaggi non vi resta che provareprovareprovareprovareprovareprovareprovareprovareprovare etc...
ImmagineImmagineImmagineImmagineImmagine[url=http://www.gundamitalianclub.net]

Avatar utente
Lohaker
Ultimate Coordinator
Ultimate Coordinator
Messaggi: 3347
Iscritto il: lun ago 30, 2004 12:08 pm
Contatta:

Messaggioda Lohaker » mer mar 08, 2006 1:17 am

WOW !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Zoo docet :vecchio:

Ovvero anni ed anni di esperienza riassunti in un post comprensibile anche da una :zucca1: come me ...

..grazie Zoo, bella roba... ...conto anche sui capitoli dal 2 al 40 e dal 41 al 90 :D....

Avatar utente
Athrun Zala
Tenente Colonnello
Tenente Colonnello
Messaggi: 566
Iscritto il: mar apr 19, 2005 1:19 pm
Contatta:

Messaggioda Athrun Zala » mer mar 08, 2006 6:34 pm

Se ci fosse poi la dritta su come rippare da DVD NTSC minimizzando gli artefatti sulle bocche e lo scrolling (che nell'OAV di seed ci sono anche se in quantità più ridotta che mi è stata possibile realizzare, e per qualche oscuro motivo molto di più all'inizio che alla fine) poi mi faresti un regalone visto che queste parti di "dritte" fortunatamente le avevo gia trovate prima di fare l'encode di SEED (senno altro che questo :D sai che schifo usciva fuori :D)

Avatar utente
zooropa
Coordinator Pensionato
Coordinator Pensionato
Messaggi: 4209
Iscritto il: mer apr 28, 2004 9:59 am
Località: 19°21'39.48"N 81°16'14.35"W
Contatta:

Messaggioda zooropa » mer mar 08, 2006 8:51 pm

Athrun, purtroppo, il tuo problema era che avevi per le mani dei DVD Rip già encodati in cui il deinterlaccimaneto era già stato fatto (male). In pratica eri fregato. Per deinterlacciare per bene (cosa peraltro piuttosto complessa) è indispensabile avere in mano i file .vob. Anche così però non si può prescindere dal fatto che ogni deinterlacciamento fa storia a sé in quanto ogni DVD viene realizzato in modo quasi unico. Se il lavoro di authoring iniziale è fatto con tutti i crismi allora spesso non è neanche indispensabile deinterlacciare una fonte ma è sufficiente usare la flag "Force film" sul DGIndex (ovviamente il file deve essere già in modalità "film" per ameno il 95% del suo totale). A quel punto i file .d2v conterrà l'indice per avisynth settato in modo da rigenerare i mezzi frame in modo corretto senza ricorrere ad esempio al Telecide. Il Framerate verrà correttamente passato dai 30Fps(circa) ai canonici 24Fps. Se questo non è il tuo caso (e ahimé capita spesso!) ti toccherà inziare delle lunghissime sessioni di prove applicando alternativamente i vari filtri che avisynth mette a disposizione. Ti rimando alla documentazione di Avisynth perché è fatta benissimo.
ImmagineImmagineImmagineImmagineImmagine[url=http://www.gundamitalianclub.net]

Avatar utente
zooropa
Coordinator Pensionato
Coordinator Pensionato
Messaggi: 4209
Iscritto il: mer apr 28, 2004 9:59 am
Località: 19°21'39.48"N 81°16'14.35"W
Contatta:

Messaggioda zooropa » ven mar 24, 2006 10:28 am

Allora dopo aver tirato giù un po' di parolacce sono riuscito a far funzionare lo spettacolare "Megui". Si tratta di un programma che nasce per encodare gli script avisynth (mentre virtualdub tende ad essere un programma più orientato al videoediting). Megui ha però una particolarità che lo rende IMO unico... ovvero il favoloso generatore automatico di script avisynth!
Dimenticatevi le notti insonni a cercare di levare gli artefatti da deinterlaccimento! Megui farà da solo il test del file .d2v che avete generato con Dvd2avi o DGIndex e vi tirerà fuori la stringa con i settaggi esatti per avere un deinterlace perfetto!

http://sourceforge.net/project/showfiles.php?group_id=156112

Per scaricare l'ultima verisione (sono frequentissime le release).
Per prima cosa andate su "settings" e inserite correttamente le path della dir dei plugin avisynth. Accertatevi anche della correttezza della localizzazione del DGIndex.exe e che la relativa libreria dgdecode sia presente anche nella dir dei plugin avisynth (copiatecela dentro senza remore). A quel punto sbizzarritevi pure a generare lo script che ritenete migliore (molto comoda anche la preview del crop, anche se mi lascia qualche dubbio... in un encoding di prova che avevo fatto io non aveva croppato proprio tutto quello che diceva!). Ricordatevi che se volete anche encodare con Megui (io per ora uso ancora Vdub) dovrete settare le path dei codec che desiderate (x264, i vari codec audio etc).
ImmagineImmagineImmagineImmagineImmagine[url=http://www.gundamitalianclub.net]

Avatar utente
Athrun Zala
Tenente Colonnello
Tenente Colonnello
Messaggi: 566
Iscritto il: mar apr 19, 2005 1:19 pm
Contatta:

Messaggioda Athrun Zala » ven mar 24, 2006 3:31 pm

Fiiiiiiico!
Ma che me frega di encodare con megui basta che mi genera gli script cosi che non debba farmi il mazzo per cercare di capire quali diamine di filtri usare tra gli zilioni di avisinth!
Umh faccio due prove va ;)


Torna a “Starsubber: le nostre produzioni.”

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti