ZoneMinder e Video4Linux su Ubuntu 9.04 (Jaunty) | Ing. Eugenio Bonifacio
Tags: applicazioni sms, applicazioni web, cataloghi elettronici, commercio elettronico, consulenza agenzie web, consulenza opensource, consulenza oscommerce, consulenza Drupal, consulenza Wordpress, consulenza Zend Framework, e-commerce, portali web, sistemi di prenotazione, sistemi informativi, siti web comiso, siti web ragusa, siti web sicilia, software personalizzati, sviluppo firmware, programmatore php freelance, sviluppatore zend framework, sviluppatore doctrine, programmatore zend framework, programmatore doctrine, sviluppatore cakephp
12
Feb 10

ZoneMinder e Video4Linux su Ubuntu 9.04 (Jaunty)

 

Sono alcune settimane che cerco di far funzionare una delle mie tre webcam con il mio server Ubuntu 9.04 (Jaunty). In particolare le tre webcam sono:

  • Logitech QuickCam Communicate STX
  • Creative Vista Plus
  • Mustek GSmart Mini

Fino ad oggi non ci ero riuscito, poi su un forum ho trovato un suggerimento e tutto ha cominciato a funzionare. Il problema dovrebbe essere (purtroppo non ho trovato molto in rete su questo argomento) la compatibilità con l'interfaccia Video4Linux v2 del driver di queste webcam (il driver GSPCA), il quale è compatibile solo con la versione V1. Potrebbe essere anche la non compatibilità dei programmi di cui ho fatto uso. Sicuramente però è un problema di compatibilità tra V4L v2 e v1. Infatti seguendo il suggerimento tutto funziona.

Si deve impostare al volo una variabile di ambiente prima del programma da eseguire. Per fare dei test utilizzavo vgrabbj per catturare dei frame dalle webcam in questione con la seguente dicitura:

 eugenio@ufficio:~$ sudo vgrabbj -d /dev/video0 -f prova.jpg  

Ma non andava appunto. Settando la variabile di ambiente invece:

  eugenio@ufficio:~$ sudo LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so vgrabbj -d /dev/video1 -f prova.jpg  

Fino a qui problema risolto, le webcam adesso funzionano. Volevo però utilizzarle attraverso zoneminder, un software per la videosorveglianza che vorrei esplorare per capirne le funzionalità e potenzialità. Non essendo a linea di comando ma una vera e propria applicazione server non potevo lanciarlo come con vgrabbj. Spulciando su google, ho trovato una modifica che ha funzionato: aggiungere una riga al file /usr/bin/zmdc.pl. Intorno alla riga 64, giusto prima della riga my @daemons = ... ho aggiunto questo:

 $ENV{LD_PRELOAD} = "/usr/lib/libv4l/v4l1compat.so";

Naturalmente conto di capire meglio la questione per poter settare questa variabile di ambiente in maniera permanente e non all'interno del file di configurazione dello specifico programma.