gunslinger
16-04-2004, 12:09
ciao a tutti,
sto progettando una piccola applicazione di realtà virtuale che dovrebbe prendere in input uno stream da camera usb 2.0, elaborarlo e mostrarlo a video.
ho sviluppato una piccola interfaccia directshow che si dovrebbe occupare di catturare l'ingresso video e convertirlo in una texture da passare ad OpenGL.
Ecco il mio problema:
l'acquisizione è corretta, dato che *vedo* il filmato. Solo in frame rate non è costante, ma passa da un flusso normale di 25-30 fps a 2 fps. La cosa curiosa è che va a singhizzo, quindi passa un minuto veloce, uno lento, uno veloce e così via. Addirittura se esco dal mio programma mentre attraversava una fase "lenta", se lo riavvio il video rimane ancora lento... proprio per questo ho cominciato a sospettare che il problema non sia nel codice che ho scritto, quanto nell'hardware che uso.
Data la mia ignoranza in materia lo chiedo qui :)
è possibile che il buffer della usb2 si saturi facendo così crollare le prestazioni? La stessa applicazione fatta girare con una camera usb1 viaggia senza problemi.
Viaggiando per forum ho letto che è molto importante avere un cavo appositamente schermato, per poter usufruire della usb2. Nel caso il mio cavo non fosse adatto, potrebbe portare un problema simile a quello che ho appena descirtto??
grazie a tutti per qualunque aiuto, G.
sto progettando una piccola applicazione di realtà virtuale che dovrebbe prendere in input uno stream da camera usb 2.0, elaborarlo e mostrarlo a video.
ho sviluppato una piccola interfaccia directshow che si dovrebbe occupare di catturare l'ingresso video e convertirlo in una texture da passare ad OpenGL.
Ecco il mio problema:
l'acquisizione è corretta, dato che *vedo* il filmato. Solo in frame rate non è costante, ma passa da un flusso normale di 25-30 fps a 2 fps. La cosa curiosa è che va a singhizzo, quindi passa un minuto veloce, uno lento, uno veloce e così via. Addirittura se esco dal mio programma mentre attraversava una fase "lenta", se lo riavvio il video rimane ancora lento... proprio per questo ho cominciato a sospettare che il problema non sia nel codice che ho scritto, quanto nell'hardware che uso.
Data la mia ignoranza in materia lo chiedo qui :)
è possibile che il buffer della usb2 si saturi facendo così crollare le prestazioni? La stessa applicazione fatta girare con una camera usb1 viaggia senza problemi.
Viaggiando per forum ho letto che è molto importante avere un cavo appositamente schermato, per poter usufruire della usb2. Nel caso il mio cavo non fosse adatto, potrebbe portare un problema simile a quello che ho appena descirtto??
grazie a tutti per qualunque aiuto, G.