PDA

Visualizza versione completa : Distro Live per acquisizione video



DeST
12-10-10, 18: 44
Salve a tutti!
Mi trovo qualche volta ad acquisire dei video sotto windows ma fino ad ora non ho mai avuto la necessita di superare la risoluzione di 320x240.
Adesso che è nata questa necessità, guarda caso appena tento di aumentare la risoluzione mi si impalla il PC... (appena formattato non si bloccava) forse a causa di indisponibilità di risorse! (saranno i troppi programmi mha?)
Il PC è un Athlon dual core, 3gb ram, la scheda d'acquisizione supporta fino a risoluzione DVD è una scheda interna per la precisione una AVerDVD EZMaker VDM Video Capture

Ho aperto un altro thread nel forum forum chidendo come liberare risorse sotto windows per risolvere il problema di acquisizione ma dopo diversi tentativi penso che la soluzione più rapida possa essere usare una distro ad hoc per questo scopo (sempre che esista)

Grazie

ginalfa
12-10-10, 23: 18
Caschi bene (o male?): Hai la mia stessa scheda di acquisizione.
L'analogico è una brutta bestia per via dei frame interlacciati.
Di dedicato ci sarebbe UbuntuStudio, ma va installato (non è pensabile di andare in Live) e poi devo dirti che per quel genere di lavori è meno "tossico" usare le pappine belle e fatte in windows. Te lo dice uno che usa linux per (quasi) tutto.
Il pc che hai va più che bene, ma il problema della lentezza di riproduzione dipende dalle caratteristiche dei video analogici, una volta acquisiti e richiedebbe acceleratori grafici molto potenti (e costosi).
Lo stato dell'arte per quanto mi riguarda è il seguente (ma sto avanzando per tentativi e piccoli miglioramenti).

Il modo migliore per acquisire è usare windows e VirtualDub con il codec HUFFYUV, che ti da una compressione tra il 2:1 ed il 3:1 no-loss.

Di ricodifica on-the-fly non se ne parla nemmeno, anche perchè bisogna deinterlacciare per ridurre seghettamenti dei margini e scarti nei panning laterali.
E qui cominciano i dolori perchè i filtri deinterlacciatori "intelligenti" per molti video, specie se da camcorders VHSC, non producono un risultato accettabile.

I migliori risultati li ho ottenuti così:
Acquisisco le clip con veedub senza filtri e compressione huffyuv
Ripasso i video con veedub deinterlacciando "pesante" cioè lasciando al loro posto tutti i semiframe, in modo da non avere la riduzione ad 1/2 dell'altezza e della risoluzione.
Questo mi produce un output a 50 fps ed un video di questa specie diventa spaventosamente lento in riproduzione.
Inoltre il video non può essere ricompresso in huffyuv perchè questo codec non supporta 50 fps e ti crasha.
Per non avere un file spaventosamente grande e di riproduzione praticamente impossibile quindi non ho trovato niente di meglio che deinterlacciare e ricomprimere contemporaneamente in xvid/divx impostando la massima qualità possibile ed un frame rate riadattato a 25 fps.
Alcune clip mi vengono discretamente bene, altre continuano ad andare a singhiozzo e non ho ancora capito perchè.

DeST
13-10-10, 10: 03
Caschi bene (o male?): Hai la mia stessa scheda di acquisizione.
Credo bene per me... e male per te che ora dovrai sorbirti tutte le mie domande :ghgh
1a domanda: quale risoluzione è meglio usare per l'acquisizione? (sapendo che dopo ricomprimo in XivD?


Il modo migliore per acquisire è usare windows e VirtualDub con il codec HUFFYUV
Ho sempre usato questo metodo anche con audio non compresso (provengo da un pc veeeechissimo!)


bisogna deinterlacciare per ridurre seghettamenti, Ripasso i video con veedub deinterlacciando "pesante" cioè lasciando al loro posto tutti i semiframe
Qui ho da chiederti quale impostazione hai scelto dato che nel filtro deinterlace ci sono ben 8 scelte in deinterlacing mode e 4 in field order.


Inoltre il video non può essere ricompresso in huffyuv, non ho trovato niente di meglio che deinterlacciare e ricomprimere contemporaneamente in xvid/divx impostando la massima qualità possibile
Per avere la massima qualità di ricompressione, hai scelto la stessa risoluzione di acquisizione e codifica in due passaggi?? con quantizzatore? o definendo la dimensione finale?

ginalfa
13-10-10, 11: 14
Chissà se lavorando a 4 mani ne veniamo a capo...:m:


Qui ho da chiederti quale impostazione hai scelto dato che nel filtro deinterlace ci sono ben 8 scelte in deinterlacing mode e 4 in field order.

Su veedub 1.9.10 ho usato il filtro deinterlacciatore interno settando Double frame rate, top first o bottom first dipende dalla sorgente, ma non ho notato sensibili differenze anche se penso che trattandosi di semirame non ci debbano essere differenze.
Appena avvio windows sul pc di casa ti posto un link sui vari metodi per deinterlacciare in base al quale sono giunto a questa conclusione.



Per avere la massima qualità di ricompressione, hai scelto la stessa risoluzione di acquisizione e codifica in due passaggi?? con quantizzatore? o definendo la dimensione finale?
Ho messo al massimo la qualità ed al massimo il bitrate.
Partendo dalla dimensione mi calcola un bitrate superiore al valore massimo raggiungibile col cursore e non ho ancora capito se ci siano delle differenze quanto a qualità (motion garbage) ed a fluidità.

Ho pensato di provare a ricomprimere in huffyuv settando l'opzione video, frame Rate, frame rate conversion, convert to fps: 25, ma non ho ancora provato.
Se la conversione a 25 fps vine fatta prima dell'invio al codec forse riesce a non far crashare huffyuv.
Io vorrei lavorare in premiere sull'huffyuv per poi produrre l'mpeg2 per il DVD. L'xvid è stato un ripiego visto che comunque avrei una pesante perdita di qualità.

DeST
13-10-10, 11: 46
Per risoluzione d'acquisizione quale vale la pena utilizzare... 640x480 va bene o è meglio il massimo??
Intanto ho aggiornato i driver della scheda d'acquisizione che ho trovato sul sito ufficiale AverMedia!

Ho scoperto che VirtualDub non si blocca in acquisizione a differeza di Virtual Dub Mod... meglio così però le impostazioni sono diverse(e molte di più)!
Ho saputo che il codec divx possiede un suo deinterlacciatore, come si comporta il filtro di deinterlacciamento del codec divx??
ho provato ad usare un filtro per deinterlacciare a monte dell'acquisizione, il risultato (50fps) l'ho confrontato con uno acquisito senza filtri (25fps) e quest'ultimo ovviamente ha mostrato una migliore qualità (e le odiose righine orizzontali)...

Ho quindi applicato il filtro deinterlace->blend / double frame rate top field first dopo l'acquisizione sul file interlacciato per ottenere un ennesimo filmato (50fps) che ad occhio è di qualità leggermente migliore al deinterlacciamento a monte...
A questo punto provo ad usare anche gli altri algoritmi di deinterlacciamento...
EDIT: Tra quelli provati mi sembra che il migliore sia yadif seguito da ELA e poi Blend siano i migliori! (Yadif e ELA non so se sono già compresi in virtualdub io ce li ho!)

E' mia intenzione ricodificarlo in XivD (non credo che il mio lettore supporti x264) con avidemux usando un filtro per aumentarne la nitidezza...
in avidemux ci sono 20 filtri per la gestione di video interlacciati... chissà se sono Migliori, c'è da perderne una giornata!!!


Se la conversione a 25 fps vine fatta prima dell'invio al codec forse riesce a non far crashare huffyuv
hai provato a vedere tra le opzioni avanzare del codec? ci sono alcune voci che possono evitare il crash di quest'ultimo, in particolare la voce "enabled full-size output.buffer"


Ho pensato di provare a ricomprimere in huffyuv settando l'opzione video, frame Rate, frame rate conversion, convert to fps: 25, ma non ho ancora provato.

Con quella opzione credo che ci sia il rischio di rendere il video a scatti... bisogna solo provare!

ginalfa
13-10-10, 17: 03
I deinterlacciatori senza altre specifiche in genere vanno in blend, che rappresenta il minimo sindacale. Quindi quello divx dovrebbe essere quello.
nel filtro veedub interno ho usato Yadif con il double frame rate.

Fatti una cultura (http://www.100fps.com/), và:tong2
Anche se è datato, è sempe meglio che brancolare nel buio.

DeST
13-10-10, 18: 26
Già conosco quella guida! :lol:
Ora sto provando con avidemux che ha il deinterlacciamento sempre yadif... ma mi da problemi se nello stesso passaggio cerco di codificare in XivD...

EDIT: il problema era legato all'audio :P

Nel rivedere i filmati deinterlacciati e codificati, il flusso video presenta ogni tanto degli scatti colorati che credo dipendano direttamente dall'acquisizione.
Può dipendere dal fatto che virtualdub mi indichi molti frames inserted?

ginalfa
14-10-10, 16: 22
Non credo.
I fotogrammi inseriti servono a mantenere in sincro l'audio, che negli analogici fluttua, e non poco, a causa dello stiramento del nastro, visto che audio e video vengono registrati su piste separate. Il video con scansione elicoidale e l'audio lineare.
Quegli scatti sono infatti il mio problema, che sto cercando di isolare.
Nell'aquisizione secca, senza filtri e solo conpressione huffyv a 25 fps, non ci sono salti ma ovviamente c'è la scalinatura dell'interlacciato.
Quando deinterlaccio, il video a 50fps va ovviamente sempre a scatti in riproduzione per i limiti di windows e della GPU.
Quando lo riconduco ad un formato potabile a volte, ma sempre negli stessi passaggi, c'è il salto.
Se lavoro direttamente il 50fps in premiere, il preview praticamente me lo scordo e quindi mi scordo l'editing, ma ricomprimendo tutto così com'è in mpg2, solo aggiungendovi le transizioni, il risultato in DVD, visto col lettore da tavolo, non presenta salti, ma ovviamente il deinterlace lascia a desiderare.
Bisogna trovare la quadratura del cerchio.:wall

DeST
14-10-10, 22: 46
Nell'aquisizione secca, senza filtri e solo conpressione huffyv a 25 fps, non ci sono salti ma ovviamente c'è la scalinatura dell'interlacciato.

Guardando attentamente il video acquisito senza filtri noto degli scatti anche li, ma appena percettibili.
La cosa strana e che negli stessi identici punti dopo la codifica si creano degli scatti "macchiati"...
Ho provato a cambiare codec (DV, Heli YV12, Huffyuv YUY2) ma quei impercettibili scatti si spostano ma ci sono sempre!!

Quanti problemi per una cosa che pensavo semplicissima!!!

ginalfa
15-10-10, 11: 06
Se gli scatti ci sono anche nell'acquisizione secca o ci sono sono dei frame droppati oppure ci sono dei forti salti di sincronismo nella fonte.
Nel primo caso devi cercare di evitare lo sgancio dei frame togliendo l'overlay o il preview durante l'acquisizione e lasciando così tutte le risorse della GPU alla cattura.
Nel secondo caso o ti metti l'anima in pace o ti compri un TBC da 100.000 € :ghgh
Ovviamente presumo che tu abbia settato la fonte di cattura direttamente nella Aver media (DirectShow).
Brutta bestia l'analogico:sisi

DeST
15-10-10, 11: 51
o ci sono sono dei frame droppati oppure ci sono dei forti salti di sincronismo nella fonte
Frame droppati (almeno in virtualdub) non ne indica...
All'inizio usavo Debut Video Capture Software, dove ero vincolato da una risoluzione di 320x240 (motivo per il quale sono passato a virtualdub) però non andava a scatti il filmato acquisito (sempre Huffyuv e pmc)


Ovviamente presumo che tu abbia settato la fonte di cattura direttamente nella Aver media (DirectShow).
Perchè c'è un altro modo?

ginalfa
15-10-10, 12: 47
Ci sarebbe Microsoft WDM Image Capture che passa per le api di windows, risultando più lento, ma se non lo usi meglio così.

DeST
15-10-10, 15: 25
oppure ci sono dei forti salti di sincronismo nella fonte.
Non si può agire sulle impostazioni in capture->timing?
Tu come le hai settate?

Intanto ti riporto il grafico del timing la linea gialla e quella più agitata e a quanto indicato corrisponde a Sync error :(
796

Queste sono le impostazioni del timing
797

Vorrei provare ad acquisire con un formato di compressione tipo mpeg2, ho il dubbio che gli scatti siano dovuti all'incapacità dell'HD di scrivere la mole di dati che riceve dalla scheda d'acquisizione...

Stavo pensando di passarli prima con vReveal per stabilizzare le parti in movimento.. non è che c'è un filtro per virtualdub o avidemux ? mmm...

ginalfa
16-10-10, 17: 48
Come vedi dal grafico c'è un forte salto di sincronismo.
I settaggi del timing li ho lasciati di default perchè non mi sono molto amichevoli.
Comuque se vuoi intervenire sul timing penso che le uniche due opzioni valide siano la modifica della soglia dei frame null (alzarla o abbassarla non saprei) oppure, se la traccia audio non è musicale, puoi provare ad abilitare il resampling dell'audio.
La traccia video sarà lasciata + o - intatta e verrà variata la velocità dell'audio.
Su tracce audio con rumori ambientali in genere la variazione è impercettibile.
Compressione on the fly in mpg2 non te la consiglio perche la CPU ti schizzerebbe al 100% e giù drop frames.
vReveal è uno stabilizzatore che riduce i salti della mano dell'operatore. Non credo che faccia nulla per altro genere di salti "built-in".

DeST
16-10-10, 18: 23
se la traccia audio non è musicale, puoi provare ad abilitare il resampling dell'audio. La traccia video sarà lasciata + o - intatta e verrà variata la velocità dell'audio.
Questa l'ho già provata e le voci dopo si sentono velocizzate o rallentate quando salta la sincronia


Compressione on the fly in mpg2 non te la consiglio perche la CPU ti schizzerebbe al 100% e giù drop frames
Per ora la sto usando e devo dire che mi sto trovando bene.. il processore arriva a 70% nessun drop per 4 ore di acquisizione, l'unico problema restano i salti di sincronizzazione (ma da cosa dipendono?)


vReveal è uno stabilizzatore che riduce i salti della mano dell'operatore. Non credo che faccia nulla per altro genere di salti "built-in".
Infatti questa mi serviva perchè la videocamera usata non possedeva un suo stabilizzatore e rivedendo i video mi viene un po di mal di mare, ho trovato un filtro per VertualDub.. DeShaker che da davvero ottimi risultati ma il processo è piuttosto lungo!

ginalfa
16-10-10, 18: 32
I salti di sincronismo dipendono dallo stiramento del nastro e non ci puoi fare nulla, salvo TBC. E' un problema legato alla scansione elicoidale della traccia video. Se il nastro si allunga i segnali synch non sono dove dovrebbero essere.
Da deshaker e simili non aspettarti miracoli, anzi, spesso è meglio tenersi il video ballerino e cambiare il cameraman ghghgh.

[edit]
Io forse la quadratura del (mio) cerchio l'ho trovata:
Fintro deinterlace yadif a doppio framerate (il bob doubler va bene uguale), riconversione nella stessa passata a 25 fps, ricompressione sempre nella stessa passata in huffyuv
Il crash dell'huffyuv l'ho eliminato settando RGB compression method su "<-- Convert to YUY2". Pare che dia una lievissima perdita, ma sempre meglio dell'xvid.
Ora ho dei file non enormi deinterlacciati a 25 fps che non presentano molti salti e conservano una buona fluidità di riproduzione in Premiere.
Almeno spero...

ginalfa
21-10-10, 11: 08
Una cosa potresti provare, se non l'hai gia fatto.
Prova ad acquisire frammenti non superiori a 2gb.
La riproduzione con windows (vfw) di avi oltre i 2 gb una volta dava problemi del genere.
Hai visto mai.

DeST
21-10-10, 15: 58
Una cosa potresti provare, se non l'hai gia fatto.
Prova ad acquisire frammenti non superiori a 2gb.
La riproduzione con windows (vfw) di avi oltre i 2 gb una volta dava problemi del genere.
Hai visto mai.

mmm... proverò quanto prima, ma... io uso VLC per la riproduzione degli avi, non credo che sia soggetto a questi problemi...

EDIT:
ho provato a fare dei piccolissimi pezzettini ma.. non si risolve :(
Dopo l'estremo tentativo che mi hai consigliato ho deciso di stravolgere tutti i parametri di virtualdub (tanto non poteva peggiorare... oppure sì?! :S) Ho modificato delle impostazioni di timing e modificato anche i dati di disk I/O..
non so di preciso quale dei due parametri abbia influito di più ma sembra che la situazione sia migliorata
(chissà se può migliorare ancora mmm)

Per ora è così:

Only registered members can view code.

ginalfa
22-10-10, 11: 48
Penso che possa aver influito il disk I/O. Quello è una parametro che può influire anche sensibilmente, ma non ci sono regole che valgano con ogni sistema. Bisogna andare un po' per tentativi.

I settaggi di timing sono quelli di default.

In ogni caso se il sistema per qualche motivo tende a zoppicare in cattura è buona norma disattivare gli antivirus in real-time, screensaver e quant'altro possa accede al disco in background.
Comuque la compressione on-the-fly io tendo sempre a non farla mai, huffyuv a parte.
D'altro canto in efffetti ogni qual volta ho usato il codec xvid o divx anche in post-processing, problemi del genere li ho spesso avuti.
Ora che grazie ai settaggi che ho trovato per huffyuv posso evitare di usare quel codec, non ho più problemi di salti, almeno finora, ma ieri ho acquisito con discreti risultati una cassetta del 1996 dove mio figlio anni fa aveva giocosamente estratto il nastro a mano:furious:tap

DeST
22-10-10, 16: 02
Devo dire che da quando ho impostato questi parametri, non sto avendo nessun problema tutto va in maniera perfetta (quasi quasi provo un deinterlace a volo)