Newsgroup: it.comp.programmare.win32
Titolo: VidCap per catturare da webcam

Hello Lorenzo!
30 Jan 01 00:24, Lorenzo Lutti wrote to Alessandro Poppi:
 LL> Non conosco per niente la libreria che stai usando, ma cosi` a 
 LL> occhio
 LL> se si tratta di una callback dovrebbe essere dichiarata come tale:
 LL> "FAR" in Win32 non da` nessun effetto. Prova invece LRESULT 
 LL> CALLBACK.
Si, dopo ho trovato l'esempio anche per le routines callback, per cui 
c'era anche l'indicazione su come definirle.
Ora funziona, ma non ho implementato nessun tipo di compressione e 
questo non e' bene. In pratica trasmetto un frame cosi' come mi viene 
restituito nella callback, preceduto da una struttura BITMAPINFO che 
indica il formato del buffer. Sul ricevente, creo un bitmap con la 
BITMAPINFO ricevuta e poi ci carico dentro il buffer dati, ottenendo 
l'immagine.
In questo modo, pero', non so mai come e' fatto il buffer (nel senso 
che non posso mettermi a prevedere tutti i possibili formati) per cui 
non so come implementare una compressione che lavori a livello di 
differenza di pixels. Ho limato qualcosa trasmettendo il BITMAPINFO 
solo ogni tanto, e pensavo di fare qualcosa di compressione a livello 
di buffer... qualche idea?
Ciao e grazie!
Alessandro

dati, ottenendo l'immagine.
sto lavorando ad una cosa simile, io credo di poter risolvere spedendo a 
cjpeg.exe come input l'intero buffer (ovviamente con la BITMAPINFO). In 
output il programma dovrebbe scrivere lo stesso buffer, ma compresso in 
jpeg. Il ricevente manda il jpeg a djpeg.exe come input, e in output 
ottiene la bitmap decompressa. cjpeg e djpeg sono due programmi Unix, 
dovresti trovarli convertiti per Windows (io li ho, ma richiedono una 
grossa dll che emula un ambiente Unix - nel caso di questi due programmi 
non č essenziale, quindi credo ne abbiano fatto una versione nativa)
-- 
January 15, 2028 - Intel announces their new 400THz processor, which 
performs 100 billion floating-point operations in the millisecond before 
it consumes itself in a nuclear explosion. This is a step up from AMD's 
recent processor which simply fries any nearby user with bolts of plasma 
energy. Hobbyists are already looking into ways to overclock the chip.

 non è essenziale, quindi credo ne abbiano fatto una versione nativa)
C'è sempre la dll di intel per creare jpeg. Si fa molto prima.

Hello KJK!
09 Feb 01 13:16, KJK :: Hyperion wrote to Alessandro Poppi:
 KH> sto lavorando ad una cosa simile, io credo di poter risolvere 
 KH> spedendo
 KH> a cjpeg.exe come input l'intero buffer (ovviamente con la 
 KH> BITMAPINFO).
Fino a poco fa utilizzavo la callback relativa al preview e non quella 
del vero streaming, e nei .doc c'e' scritto che li' non c'e' mai 
nessuna compressione.
Ora invece ho messo a posto lo streaming e vengo chiamato dalla 
callback relativa a VideoStream. Per evitare che venga creato il file 
.AVI sul disco, uso capCaptureNoFile(cap_Wnd).
Speravo che in questo caso il buffer passato alla callback fosse 
compresso in accordo con il codec che posso scegliere nella dialog 
"compression" della finestra di grab, ma purtroppo non e' cosi'.
POSSIBILE che non ci sia il modo di avere il buffer compresso con il 
codec? Secondo me il sistema deve esserci per forza.
Per chi non ha seguito il thread, riassumo che ho una applicazione in 
VC6 che utilizza VidCap per grabbare da webcam; funziona tutto molto 
bene salvo il fatto che ottengo sempre frames non compressi, e questo 
non e' bello dovendoli trasmettere via IP.
Qualcuno sa come fare?
Ciao!
Alessandro