Ciao a tutti! Scusate il ritardo ma non ho avuto troppo tempo ultimamente, comunque adesso mi sono iscritto e sono pronto ad aiutare se c'e' bisogno! Sapete per caso come si fa a rispondere alle mail "vecchie" dal sito? boh.. Per cui rispondo qua.. Riguardo all'idea gtk/java: Sinceramente non conosco troppo java ma l'idea delle gtk mi sembra ottima e i bindings java-gnome sembrano abbastanza maturi e seguiti bene (anche se quando usi bindings di qualcosa non sai mai se i problemi siano nella tua applicazione o nei bindings :) ) Riguardo all'idea di usare Qx3Model.[cc|hh]: Perche' non riscrivere anche questa parte intanto che ci siamo? :) Ho visto ultimamente nel cvs di gstreamer che ci sono bindings java anche per gst. Potrebbe essere utile magari... Per leggere dal microscopio dovrebbe bastare un : gst-launch-0.8 v4l2src ! video/x-raw-rgb,width=640,height=480,bpp=16,depth=16,framerate=25.0 ! ffmpegcolorspace ! ximagesink (magari cambiare v4l2src con v4lsrc, il colorspace in yuv invece che rgb e/o ximagesink con xvimagesink e/o magari togliere ffmpegcolorspace) L'uso di gst darebbe ulteriori vantaggi come per esempio la possibilita' di salvare jpeg,png (ma questo magari c'e' gia'), di salvare un video in ogg/theora o avi/divx (e questo non penso ci sia), rescaling, deinterlacciamento, vari filtri e cosi' via.. (se avete installato gst fare gst-inspect-0.8 per avere la lista degli elementi installati) Riguardo Qx3Model::getFrame(void): 1) Della serie un link e' meglio di una spiegazione :) http://v4l2spec.bytesex.org/spec-single/v4l2.html#PIXFMT-RGB Questo spiega il *4 (per ogni byte c'e' R + G + B + RANDOM) Lo swap non saprei.. cambia il B con R.. qualche differenza tra sistemi LE o BE ? (random guess) 2) Guardando il codice ho visto che usa read per accedere ai frame e non mmap, (con mmap dovrebbe essere molto piu' veloce e usare meno risorse) ciao Luca