Newsgroup: it.comp.hardware.video-3d
Titolo: Cattura immagini con compressione

Qualcuno di voi saprebbe dirmi come poter utilizzare schede di cattura video
a livello di programmazione? Sapete cioč se esiste un supporto software per
utilizzare le funzioni di acquisizione/compressione di questo schede in un
proprio software?
Ho provato con Active Movie e Vfw ma per i miei scopi (acquisizione con
compressione di singoli fotogrammi e non video) le prestazioni decadono
parecchio. L'unica possibilitą sarebbe bypassare le funzioni di Active Movie
e Vfw per pilotare direttamente la scheda.
Grazie per le risposte



Devi richiedere gli SDK ai produttori delle schede che vuoi programmare (Matrox per RR,
Zoran per SDK generici MJPEG, Pinnacle/Miro per le DC?? e DRX, Fast per AVMaster??).
Nota che tali SDK sono a pagamento e che devi essere iscritto a qualche associazione di
programmatori professionisti, o lavorare per qualche ditta, altrimenti difficilmente te li
venderanno. 
Guarda che comunque tutti programmi di cattura attualmente in commercio (PowerRemote per
l'RR della Matrox, Ulead MediaStudio 5 Pro e VE, Adobe Premiere 4.2 & 5.0) , usano le
vecchie librerie VfW32. Nessuno usa ancora ActiveMovie, se non al massimo il filtro che
permette all'ActiveMovie di usare VfW e rimapparne le chiamate. (VfW e' a 16bit, poi c'e'
VfW32 a 32bit, ad ogni modo sono tutte librerie defunte -- non piu' supportate dalla
Microsoft). Finche' non ci saranno i driver WDM per le periferiche di cattura video sotto
Win98/NT5, non sara' possibile accedere alle schede stesse direttamente attraverso le
nuove librerie DirectShow(DirectXMedia 5.2b), che permetterebbero un minore utilizzo della
CPUHost ed una perfetta sincronizzazione audio/video.

...

Avevo già pensato di chiedere gli SDK, ma quando ho contattato il (un)
distributore italiano Matrox (se non ricordo male il nome è LG Electronics,
l'indirizzo lo trovai su una rivista) per il Rainbow Runner, mi dissero di
non disporre di nulla del genere, ma che la RR era compatibile con Vfw e
Vidcap. Cosa intendi con WDM? Non ne ho ancora sentito parlare.
E comunque, ti spiego meglio qual'è il mio problema. Devo acquisire
alternativamente immagini (con compressione) da due telecamere esterne
(un'immagine dalla 1, poi una dalla 2, poi di nuovo dalla 1 e così via),
utilizzando uno switcher esterno pilotato tramite porta parallela che
commuta l'input alla scheda di acquisizione. Il problema è che se io
acquisisco una sequenza di immagini sempre dalla stessa telecamera, risulta
abbastanza veloce (ho fatto delle prova con il modulo Rainbow Runner). Ma
quando effettuo lo switching, devo inserire, tra l'acquisizione di
un'immagine e l'altra, un'attesa necessaria a che la scheda si sincronizzi
con la telecamera (altrimenti vengono immagini spezzate), diminuendo di
parecchio il numero di frame al secondo acquisiti. Questo perchè quando
attivo la funzione di Vfw per acquisire l'immagine, passa un certo tempo
prima che inizi la fase di acquisizione e compressione dell'immagine vera e
propria, tempo che non posso controllare. La mia idea era di attendere il
vsynk della telecamera, bloccare (freeze) l'immagine e acquisire, cosa che
possa fare (almeno penso) pilotando direttamente la scheda. Ci sarebbero
altri modi? Esistono altre schede di cui forniscono le librerie?