El teu blog de Linux en català

Gravació amb detecció de moviment

Quan gravem vídeo amb la nostra webcam, molts cops necessitarem que aquesta gravació sigui contínua, però d’altres ens resultarà més interessant que només es gravi quan hi hagi algun moviment en l’enquadrament. Per exemple, si estem gravant una carrera podem deixar la webcam preparada i, quan detecti moviment, que automàticament comenci a gravar. O, en sistemes de seguretat, podem deixar la càmera tot el dia preparada enfocant el punt que ens interessi, però que només gravi quan detecti que hi ha moviment, per tal d’estalviar espai al disc dur (un vídeo continu de 24 hores pot ocupar moltíssim espai).Logo de wxCam

wxCam ens permet precisament això: afegir la funcionalitat de detecció de moviment a les nostres gravacions amb la webcam. És més, podem indicar en quina part de la imatge volem que detecti el moviment. Apart, ens afegeix altres utilitats com la detecció de contorns, la possibilitat de coprimir o no el vídeo resultant, gravar amb o sense so, etc.

wxCam no es troba en els repositoris d’Ubuntu, però a través de GetDeb ens podem baixar el fitxer .deb per a poder instal·lar-lo. Un cop baixat, amb un doble clic en el fitxer descarregat executarem la instal·lació del wxCam. Podrem arrancar el programa des del menú “Aplicacions>So i vídeo>Webcam application”.

Pantalla principal del wxCam

Pantalla principal del wxCam

En la pantalla principal del programa, molt senzilla, hi ha dos botons, un per fer fotografies i un altres per gravar vídeo. Podem configurar els paràmetres bàsics de la webcam (contrast, lluminositat, gamma i saturació) a través del menú “Settings>Image balance” i la resolució a que volem que treballi la webcam mitjançant el menú “Settings>Frame size”. Des del menú “Settings>Configure” podrem decidir en quin fitxer i amb quin format desem les fotografies i els vídeos, la compressió que utilitzem per a aquests darrers, i algun altre paràmetre.

Per a fer que la càmera funcioni a partir de la detecció de moviment, hem d’activar l’opció “Capture>Movement detection”. Un cop seleccionat, si comencem a gravar veurem com la gravació queda en mode “Paused” si no hi ha moviment a la imatge captada per la webcam, i es reprèn la gravació quan detecta moviment.

Zona de detecció de moviment

Zona de detecció de moviment

Per últim, podem indicar al wxCam que només detecti moviment en certes àrees de captura. Podem configurar més d’una àrea de captura, amb diferents sensibilitats per a cada àrea. Per últim, us deixo un vídeo on utilitzo una àrea de detecció de moviment. En aquest vídeo es veu com, mentre no hi ha moviment en aquesta àrea, la gravació roman pausada. Quan hi ha moviment en aquesta àrea, es reprèn la gravació (es pot veure clarament en el rellotge que ens mostra el propi wxCam).

    • oriolsbd on 26 d'Agost de 2009 at 00:14

    Reply

    Per cert, també he pujat el vídeo gravat amb el wxCam on es veuen els “salts temporals” que ens mostra el vídeo anterior:

    • Joan on 26 d'Agost de 2009 at 00:26

    Reply

    Ups, ho sento. L’enllaç és el següent: ZoneMinder

    • oriolsbd on 26 d'Agost de 2009 at 14:58

    Reply

    Ei, Joan.

    Ahir la meva dona em va veure mentre estava gravant el vídeo del Monstre Boo, i em va mirar amb una cara com dient “si és que aquest home no té remei…”. I segurament té raó!!! 🙂

    Per cert, he mirat el programa ZoneMinder, i fa molt bona pinta. Ja és un programa de videovigilància professional (o com a mínim, en fa la pinta). Gràcies per l’enllaç.

    • pol on 26 d'Agost de 2009 at 15:42

    Reply

    Si us interessa el tema jo faig servir les llibreries d’OpenCV per fer tot tipus de processament d’imatge i vídeo en temps real =) Porta detecció de cares i altres coses.

    Però no ens confonguem, no és un programa, són unes llibreries per a programar i fer-li fer coses al detectar cercles, quadrats o veure un cert color… etc. Per un projecte d’una optativa vam implementar una càmera de video vigilancia amb les llibreries en qüestió que t’enviava un e-mail amb la fotografia de l’intrús quan el detectava entre altres cosetes, però cal tenir-hi instal·lades les llibreries opencv i recompilar el codi…

    Res, que es poden fer coses molt xul·les amb aquestes llibreries 😛

    Salut!

    • Joan on 27 d'Agost de 2009 at 22:12

    Reply

    Jejejeje.

    Sí, el ZoneMinder acostuma a instal·lar-se en ordinadors dedicats i així. Em sembla recordar que té distribució pròpia i tot.

    Salut.

    • PellRoja on 29 d'Agost de 2009 at 17:17

    Reply

    Aquest esta molt millor que motion, amb entorn gràfic 😛

    • oriolsbd on 31 d'Agost de 2009 at 21:26

    Reply

    Hola, PellRoja.

    Sí, l’entorn gràfic el fa molt senzill d’utilitzar, i la veritat és que el wxCam és molt complet.

    De tota manera, no oblidem que els programes que es poden executar per terminal, encara que puguin semblar més complicats d’utilitzar, tenen les seves virtuts, sobretot a l’hora de crear shells per a automatitzar processos. És més, també tinc intenció de parlar del motion aviat. 🙂

    Salut!

    • Vicent on 11 de Novembre de 2009 at 15:51

    Reply

    Hola, a mi em dona aquest error quan l’intente instal·lar: Error: No es pot satisfer la dependència: libmjpegtools0c2a (>= 1:1.8.0)
    He intentat instal·lar eixa llibreria, però ja la tinc. Dec desinstal·lar-la?
    Salutacions

    • oriolsbd on 11 de Novembre de 2009 at 19:09

    Reply

    Hola, Vicent.

    Crec que tens instal·lat Ubuntu Karmic o Jaunty, i et deus haver baixat la versió de wxcam per a Ubuntu Intrepid (que seria la wxcam 1.0.3). Ho dic perquè la versió 1.0.3 de wxcam depèn de la llibreria que comentes (libmjpegtools0c2a), que només existeix fins a Intrepid. A partir de Jaunty (i amb Karmic segueix així) la llibreria es va passar a dir “libmjpegtools”, i per això no te la detecta. La versió 1.0.4 de wxcam ja treballa amb aquest nou nom de la llibreria.

    Torna a anar a la pàgina de Getdeb de wxcam (per cert, ha canviat i ara és http://old.getdeb.net/app/wxCam ), i descarrega la versió per a Jaunty (wxcam 1.0.4). En principi, t’hauria de funcionar.

    Si no és així, no dubtis a tornar a contactar amb nosaltres. 🙂

    • Xavier on 23 de Desembre de 2009 at 17:10

    Reply

    Hola. Estoy intentando implementar un sistema de videovigilancia mediante Visual C++ y las OpenCV.
    Agradecería si teneis algun ejemplo hecho.
    Un saludo

Deixa un comentari

Your email address will not be published.