Salve a tutti,
sto cercando di utilizzare la scheda di acquisizione EasyCAP 4ch USB DVR al fine di acquisire 4 segnali analogici prodotti dalle telecamere per elaborarli a fini di videosorveglianza.
Al momento con un singolo segnale sono riuscito ad ottenere discreti risultati.
Il problema sorge quando voglio effettuare lo switch del segnale, ad esempio, collegando due telecamere vorrei poter controllare prima l'ingresso relativo alla telecamera 1 e successivamente quello relativo alla telecamera 2.
Purtroppo non so come fare:
Ora acquisisco il segnale con il seguente comando delle librerie OpenCV
capture = cvCaptureFromCAM( CAM_NUMBER );
dove al posto di CAM_NUMBER metto 0 se webcam integrata, 1 se EasyCAP
Così però riesco solo a vedere il segnale collegato all'ingresso 1 dell'EasyCAP e non gli altri 3.
Ho provato a fare CAM_NUMBER = 2, 3, ecc... ma non è la soluzione adatta. Ubuntu vede l'EasyCAP come unico dispositivo.
...
Quindi il problema diventa come posso dire ad EasyCAP di switchare il segnale di input?
Grazie mille,
Marco
[Risolto] EasyCAP 4ch USB DVR, selezionare ingresso?
-
evildeejay
- Prode Principiante
- Messaggi: 39
- Iscrizione: domenica 2 maggio 2010, 23:10
[Risolto] EasyCAP 4ch USB DVR, selezionare ingresso?
Ultima modifica di evildeejay il venerdì 17 agosto 2012, 16:31, modificato 2 volte in totale.
-
evildeejay
- Prode Principiante
- Messaggi: 39
- Iscrizione: domenica 2 maggio 2010, 23:10
Re: EasyCAP 4ch USB DVR, selezionare ingresso?
Fornisco un altro indizio, ho letto che per il cambio di canale bisogna usare la libreria v4l2 relativa ai driver dell'EasyCap.
I comandi sono i seguenti con index che contiene il valore del canale.
fd = open(dev_name,O_RDONLY | O_NONBLOCK, 0);
int index=2;
ioctl(fd,VIDIOC_S_INPUT,&index);
Il problema è che poi usando
cvCaputureFromCAM (1)
per acquisire il segnale sembra che i comandi precendenti non abbiano fatto effetto.
Qualche idea?
Marco
I comandi sono i seguenti con index che contiene il valore del canale.
fd = open(dev_name,O_RDONLY | O_NONBLOCK, 0);
int index=2;
ioctl(fd,VIDIOC_S_INPUT,&index);
Il problema è che poi usando
cvCaputureFromCAM (1)
per acquisire il segnale sembra che i comandi precendenti non abbiano fatto effetto.
Qualche idea?
Marco
-
evildeejay
- Prode Principiante
- Messaggi: 39
- Iscrizione: domenica 2 maggio 2010, 23:10
Re: EasyCAP 4ch USB DVR, selezionare ingresso?
Allora, era tutto giusto solamente l'ordine è da invertire:
prima si acquisisce con
e poi si setta il canale con
prima si acquisisce con
Codice: Seleziona tutto
cvCaputureFromCAM (1)Codice: Seleziona tutto
fd = open(dev_name,O_RDONLY | O_NONBLOCK, 0);
int index=2;
ioctl(fd,VIDIOC_S_INPUT,&index);Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 11 ospiti