Mar
Cattura video analogica su Linux - BTTV
Posted by muse as Dvr, Linux, Streaming, Videosorveglianza
Il modo più economico per catturare una sorgente video analogica su linux è senz’altro quello di dotarsi di una scheda di acquisizione analogica che monti un chipset Conexant, solitamente si tratta dei chip “Bt8×8″ ovvero Bt848, Bt848A, Bt849, Bt878 eBt879 dove la sigla Bt sta per Brooktree, l’azienda ideatrice di questo chipset che ora è stata inglobata dalla Conexant. Oltre a qeusti modelli “storici” presenti sul mercato da molti anni (i primi esemplari di queste schede comparvero nei primi anni 90 e avevano uno slot ISA) in tempi più recenti è stato introdotto da conexant il nuovo chipset conexant 2388x.
Queste schede sono supportate da linux grazie alla famiglia di driver del progetto V4L ed in particolare dai driver BTTV, sigla con la quale si identificano spesso questo tipo di schede che ultimamente spopolano su ebay e in diversi store di elettronica e videosorveglianza, a prezzi spesso esagerati…
Spesso infatti nelle caratteristiche tecniche di queste schede si leggono frasi tipo “4 ingressi video real time 30 fps” e vengono vendute con prezzo esorbitanti, approfittando forse dell’interesse che ultimamente sta suscitando la videosorveglianza tra i consumatori finali, grazie anche alla comparsa sul mercato di videocamere cinesi cctv a basso costo.
Per non fare confusione e non prendere “inculate” occorre però fare chiarezza e distinguere i diversi tipi di schede in base alle loro caratteristiche reali.
La differenza è data soprattutto dal numero di chip e ingressi presenti sulla scheda.
Per ogni chipset presente sulla scheda, il sistema individuerà un dispositivo di cattura video, tipicamente /dev/video0, /dev/video1, ecc.. Ognuno di questi chipset (dispositivi) potrà gestire più ingressi video..
Schede con un unico chipset - 30 fps max.
Questo tipo di scheda monta un solo chipset con 4 ingressi:

Un chip della famiglia Bt8×8 è in grado di convertire una sorgente video da analogica a digitale al “ritmo” di 30 frame al secondo, questo significa che se usassimo i 4 ingressi contemporaneamente potremmo ottenere al max 30:4 ovvero circa 7,25 frame al secondo.
In questo caso di parla di “un dispositivo con 4 porte (canali)” ovvero di un unico chip condiviso fra 4 ingressi. Questi ingressi sono contraddistinti con sigle diverse a seconda del tipo di scheda, solitamente sono indicati con composite0…composite3 oppure tuner, s-video, composite1, composite2 a seconda di come è strutturata la scheda di acquisizione.
Il canale che si desidera utilizzare per l’acquisizione va specificato nelle configurazioni del programma utilizzato, ad esempio lanciando xawtv con il comando relativo può essere impostato direttamente dal menù grafico, ovviamente specificando il dispositivo da utilizzare:
xawtv -device /dev/video0

Altri programmi, come zoneminder o motion, permettono di utilizzare più ingressi contemporaneamente, in “round robin”, cioè consentendo al chip di fare lo switch tra i diversi ingressi visualizzandone i frame video per un totale di 30 fps complessivi come spiegato prima.
Una scheda di questo tipo si può trovare su ebay intorno ai 25-30 euro, e viene indicata come scheda 4 ch. 30 fps “real time” anche se la dicitura può trarre in inganno: va sempre tenuto presente che con un solo chipset è possibile visualizzare un solo ingresso alla volta in real time (30 fps). Scorrendo le caratteristiche tecniche spesso troverete infatti la dicitura “30 fps max” o “30 fps tot.”.
A prezzi più alti non è consigliabile acquistare la scheda.
Se si vogliono ottenere performance migliori con più ingressi è consigliabile ricorrere a schede con più chipset.
Schede con un più chipset - 120-240 fps max.
Le schede di videosorveglianza professionali montano un chip per ogni ingresso video, in questo modo riescono ad ottenere 30 fps (real time) per ogni ingresso video alla massima risoluzione. Solitamente hanno 4 o 8 ingressi, i prezzi si aggirano sui 50-60 euro e 90-100 euro rispettivamente.
Scheda con 4 ingressi e 4 chip: 30 fps per ogni ingresso video - real time

Scheda con 4-8 ingressi e 4 chip: se vengono usati più di 4 ingressi, alcuni chip dovranno gestire 2 ingressi video e quindi il loro framerate si dimezzerà (15 fps).

Scheda con 8 ingressi e 8 chip: 30 fps per ogni ingresso video - real time.

Scheda con 8-16 ingressi e 8 chip: tramite un adattatore possono essere usati più di 4 ingressi, alcuni chip dovranno gestire quindi 2 ingressi video e il loro framerate si dimezzerà (15 fps).

In genere le schede con 4 o più chipset hanno un un connettore tipo seriale a cui collegare un adattatore per ingressi video bnc o rca. Se la scheda lo supporta, può essere aggiunta l’espansione per aumentare il numero di ingressi tramite un “bracket” pci:

Nel caso ad esempio si utilizzino 8 ingressi video con una scheda con 4 chipset, varrà lo stesso discorso fato per il caso della prima scheda presa in esame, ovvero si avranno nel sistema 4 dispositivi di cattura indicati con /dev/video0,…/dev/video3 e ognuno di questi avrà due canali a disposizione, ad esempio composite0 e composite1, da usare in round robin o singolarmente specificandolo nel file di configurazione del dispositivo.
Ultimamente le schede DVR con chipset conexant montano il modello Fusion 878A che pare sia l’evoluzione diretta del modello bt878.

Alcune di queste ultime schede presentano dei problemi con linux, pare che ciò sia dovuto alla presenza di un chip multiplexer che coordina il lavoro degli altri chip video. A seconda della casa produttrice questo chip può essere di versioni diverse e non compatibile coi driver bttv di linux.
Tags
bttv cctv conexant Cron Dvr elevator IPv4 IPv6 Linux music Ripe55 Routers Scheduling Song Song title Streaming Vlc waiting room
Categories
Blogroll
Friends