Utilize sua Webcam como câmera de segurança

Categoria: Geral, Ubuntu | Palavras-chave: Sem palavras-chave

Webcam funcionando e a vontade de achar uma utilidade além de mostrar a cara para os parentes. Isto me fez procurar por programas que utilizassem a webcam para diversos fins. Um dos programas que acabei conhecendo foi o Motion.

Motion é um programa que detecta movimento em imagens geradas por uma câmera e as guarda em algum lugar para posterior consulta. Além de salvar as imagens sempre que algum movimento é detectado, o programa permite que imagens sejam exibidas pela web em tempo real.

A instalação do Motion no Ubuntu é muito fácil. Vá até o Gerenciador de programas e instale o Motion como descrito neste artigo, apenas substitua o programa a ser procurado pelo Motion.

Com o programa instalado, inicie o programa pelo terminal, digitando o comando “sudo motion” sem as aspas, ou pressionando as teclas Alt+F2 e executando o comando “gksu motion” sem as aspas.

Para visualizar as imagens salvas, vá até o diretório /tmp/motion . Para visualizar sua câmera em tempo real, abra o navegador Firefox e digite o endereço http://localhost:8081.

Para personalizar as configurações do Motion, edite o arquivo /etc/motion/motion.conf . Vejam algumas configurações importantes e interessantes.

  • daemon off – altere esta opção para on para que o programa rode em background
  • videodevice /dev/video0 – aponte para o dispositivo da sua câmera
  • width 320 – altere para um tamanho que melhor lhe convenha
  • height 240 – altere para um tamanho que melhor lhe convenha
  • framerate 2 – número de quadros a ser capturado por segundo
  • auto_brightness off – se sua câmera não tem correção de brilho automático, é interessante alterar o valor para on
  • quality 75 – qualidade da imagem capturada
  • ffmpeg_video_codec swf – formato do vídeo salvo. Os formatos suportados são: mpeg1, mpeg4, msmpeg4, swf, flv e ffv1
  • locate off – se alterado para on, desenha um quadro indicando onde ocorreu o movimento na imagem
  • target_dir /tmp/motion – local onde as imagens e vídeos serão salvos
  • webcam_port 8081 – porta para acesso web
  • webcam_localhost on – se estiver on, permite acesso pelo navegador somente local, se estiver off, permite que qualquer computador veja as imagens pelo navegador

Estas são apenas as configurações que eu julguei mais interessantes. O arquivo de configuração é todo comentado(em inglês) o que facilita bastante qualquer alteração. Existe também a opção de salvar os logs de captura em vários bancos de dados.

Publicado em 13 de julho de 2008 | 37 Comentários

Ivan Brasil Fuzzer

Ivan Brasil Fuzzer

Faço parte do grupo Tchelinux(http://www.tchelinux.org). O Tchelinux é um grupo de voluntários que trabalha com software livre e ainda acredita que boas coisas podem ser feitas nesta comunidade; desde que saibamos repassar aos que estão iniciando que Software Livre é um aprender e repassar o conhecimento incessante. Sou líder do Ubuntu-BR-RS juntamente com a Marta Vuelma. Tentamos divulgar a distribuição e auxiliar novos usuários por todo o estado do Rio Grande do Sul, as vezes em outros estados também. Sou um amante incondicional de software livre. Vivo apaixonado pelo Ubuntu.

Mais posts do autor (856)

37 Comentários

  1. newtux disse:

    Boa Ivan,

    E se me permitir gostaria de acrescentar umas dicas.
    Em algumas webcans o drive delas geram um erro que faz com que se grave mesmo sem movimento em frente delas, mas de fácil resolução mascarando imagens:

    1º crie uma imagem PGM monocromática no GIMP com a área a ser monitorada em branco,( o tamanho da imagem tem que ser idêntica a da gerada pela câmera)
    2º salve e coloque no motion.conf uma linha com a opção mask_file seguido do caminho da imagem PGM.

    Um abraço

  2. Vinicius disse:

    hmm bacana!
    será q é tranquilo configurar p/ deixar rodando em um servidor? gostaria de monitorar uma loja, acessando pelo pc de casa…

  3. Obrigado pelo comentário newtux.

    Vinicius, com certeza é tranquilo para deixar no servidor, meus testes na empresa onde trabalho foram exatamente no servidor.

  4. Andre Almeida disse:

    É bem bacana mesmo este software. Eu já brinquei com ele também.

    Se não me engano dá pra fazer vídeos com ele também ao invés de tirar fotos.

    Um detalhe curioso eu deixei o motion ligago um dia inteiro no meu pc e ele filmou o efeito do por do sol na minha parede.

    hehehe

    Abraços

  5. Bruno Garcia disse:

    Isto parece muito com o zoneminder, que também dá para instalar direto via synaptic (apesar de que achei mais facil usar o livecd deles que tem no site do http://www.zoneminder.com/ para baixar) e acessar via navegador.
    Só que o zoneminder usa aquelas placas baratinhas pico2000 que custam uns 60 reais e ligam 4 cameras de video qualquer.
    Grava num banco de dados, só quando tem movimentos e dá para selecionar as areas de movimento. Recursos de logins e senhas para acessar no navegador e é muito fácil de usar e configurar.

    Só que nunca tentei usa-lo para webcam, será que dá?

  6. Bruno Garcia disse:

    Só mais uma pergunta que esqueci:
    E o som? Dá também para transmitir na web?
    Se dá como configurar???

  7. Bruno, acredito que não tenha como transmitir, pelo menos não achei referência na documentação. Irei testar o Zoneminder nos próximos dias e dou uma resposta.

  8. Marcos disse:

    Da pra monitorar mais de uma camera?

  9. Marcos, sim, podemos monitorar mais de uma câmera. Para isso devemos criar mais arquivos com as configurações específicas de cada câmera.

    No arquivo de configuração você encontrará um texto como o abaixo, dizendo que para cada câmera deverá ser criado um arquivo com as configurações específicas da câmera. Veja que se você tiver duas câmeras, precisará de 3 arquivos e não dois, um principal e mais um para cada câmera.

    # Remember: If you have more than one camera you must have one
    # thread file for each camera. E.g. 2 cameras requires 3 files:
    # This motion.conf file AND thread1.conf and thread2.conf.
    # Only put the options that are unique to each camera in the
    # thread config files.
    ;thread /usr/local/etc/thread1.conf
    ; thread /usr/local/etc/thread2.conf
    ; thread /usr/local/etc/thread3.conf
    ; thread /usr/local/etc/thread4.conf

  10. Jader Nogueira disse:

    Ola,
    Estou tendo dificuldade em visualizar a webcam pelo localhost:8081
    Estou usando os seguintes parametros:
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 002 Device 002: ID 0ac8:307b Z-Star Microelectronics Corp. USB 1.1 WebCam
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

    Ja configurei o CONF com as seguintes caracteristicas:
    # Videodevice to be used for capturing (default /dev/video0)
    # for FreeBSD default is /dev/bktr0
    videodevice /dev/video002
    videodevice /dev/video2
    videodevice /dev/video02

    Nenhuma das 3 fucnionaram.
    Alguem pode me dar uma Luz?
    Valeu!

  11. Jader Nogueira disse:

    Na verdade nao.
    So tenhou uma Webcam USB convencional…
    Tem jeito?

    abs

    • Tentou usar o /dev/video0 ?
      Os dispositivos de vídeo seguem essa sequencia video0 para o primeiro dispositivo conectado, video1 para o segundo e assim por diante. Como você só tem um, provavelmente ele é o dispositivo /dev/video0. Caso não funcione, veja se existe algum dispositivo executando um simples “ls /dev/video*”

  12. Jader Nogueira disse:

    Ele esta acusando o VIDEO0
    jader@jader-laptop:~$ ls /dev/video*
    /dev/video0

    E agora qnd eu tento inicializar o MOTION, ele acaba finalizando.
    jader@jader-laptop:/etc/motion$ sudo motion
    [0] Processing thread 0 – config file /etc/motion/motion.conf
    [0] Motion 3.2.11 Started
    [0] Exit motion, cannot create process id file (pid file) /var/run/motion/motion.pid: No such file or directory
    [0] Motion going to daemon mode

    Tenho que reinstala-lo para funcionar.
    E depois que reinicio ele apresenta a seguinte msg no http://localhost:8081/
    ERROR CAPTURING THE FIRST IMAGE

    Obrigado pela ajuda.

  13. Jader Nogueira disse:

    Esqueci de acrescentar que quando aperto F5 (Atulaziar a Pagina) algumas vezes aparece a msg: Conection to Camera Lost Since

    abs

  14. Esta webcam esta funcionando com outros programas como cheese, camorama, etc?

    Após iniciar o motion, o arquivo /var/run/motion/motion.pid existe? tem algum conteúdo nele?

    Com o comando “ps aux|grep motion” alguma coisa retorna?

  15. Jader Nogueira disse:

    Desculpe a demora em responder, estou numa correria louca…
    Esta retornando
    jader@jader-laptop:~$ ps aux|grep motion
    jader 11092 0.0 0.0 3352 804 pts/0 R+ 21:59 0:00 grep motion

    O que isso significa?
    A webcam esta funcionando perfeitamente com o CHESSE.

    Obrigado pela ajuda

    • Jader, por algum motivo o motion não está rodando.
      Abra um terminal e digite o seguinte comando:

      tail -f /var/log/syslog|grep motion

      Em outro terminal inicio o motion e copie a saída do primeiro terminal para que eu possa te ajudar.

  16. Cid Coutinho disse:

    Parabéns!
    Gostaria de saber se tem como configurar o tamanho máximo de uso em disco. Para sobrepor os arquivos mais antigos quando o disco estiver cheio?

    • Cid,

      Nunca procurei por isso, mas eu utilizava um script que juntava todos os vídeos de um dia em um único vídeo e guardava compactado em outro lugar. Se interessar eu procuro ele e disponibilizo.

  17. Vilmar disse:

    Gostaria de saber como posso acessar de um PC remotamente, via internet, as imagens geradas pelo Motion em outro PC. Explico : gostaria de instalar e customizar o Motion em um Desktop em uma localidade e de outra localidade, via internet, acessar as imagens ou diretório de imagens do Desktop.
    Grato,j

  18. felipe disse:

    Olá Vilmar.
    Vc pode facilmente, por exemplo, modificar o parametro
    target_dir /tmp/motion
    que esta no arquivo /etc/motion/motion.conf para salvar as imagens ou o video numa pasta do dropbox
    :)

  19. Francisco disse:

    Como posso excluir as imagens salvas pelo Motion do meu pc ?

  20. edson Weren disse:

    Oi quando dou o comando sudo motion tenho como resultado:

    [0] Processing thread 0 – config file /home/beto/motion.conf
    [0] Unknown config option “night_compensate”
    [0] Unknown config option “minimum_gap”
    [0] Unknown config option “low_cpu”
    [0] Unknown config option “Security”
    [0] Unknown config option “ffmpeg_filename”
    [0] Processing config file /home/beto/thread0.conf
    [0] Motion 3.2.12 Started
    [0] Motion going to daemon mode

    E NÃO CONSIGUO DETECTAR A IMAGEM NEM O FUNCIONAMENTO DA CAMERA.
    Por gentileza como posso corrigir?
    Att
    Edson Weren

  21. Michel disse:

    Olá Ivan, estou com dificuldades para utilizar 3 cameras no motion. Vi que é preciso criar arquivos thread.conf, sendo o original + um para cada camera ( thread1.conf and thread2.conf). Porem surge uma duvida! O conteudo desses arquivos é o mesmo do original? Onde os arquivos devem ser salvos? Desde já agradeço!

    • Michel,

      Desde a data de publicação deste post que não uso mais o motion, mas lembro que os arquivos ficavam no mesmo diretório e o que mudava era só o dispositivo que cada um iria controlar e alguma particularidade que cada câmera viesse a ter, se todas forem iguais, só muda o caminho do dispositivo.

  22. Maykon Augusto disse:

    oi esta dando erro o meu pode me ajudar?? olha

    lminformatica@lminformatica:~$ sudo motion
    [0] Processing thread 0 – config file /etc/motion/motion.conf
    [0] Motion 3.2.12 Started
    [0] ffmpeg LIBAVCODEC_BUILD 3547904 LIBAVFORMAT_BUILD 3544067
    [0] Thread 1 is from /etc/motion/motion.conf
    [0] Webcam port number 3333 for thread 1 conflicts with the control port
    [0] Webcam feature for thread 1 is disabled.
    [0] motion-httpd/3.2.12 running, accepting connections
    [0] motion-httpd: waiting for data on port TCP 3333
    [1] Thread 1 started
    [1] cap.driver: “pac207”
    [1] cap.card: “CIF Single Chip ”
    [1] cap.bus_info: “usb-0000:00:03.1-2”
    [1] cap.capabilities=0x85000001
    [1] – VIDEO_CAPTURE
    [1] – READWRITE
    [1] – STREAMING
    [1] Config palette index 8 (YU12) doesn’t work.
    [1] Supported palettes:
    [1] 0: P207 (P207)
    [1] Unable to find a compatible palette format.
    [1] ioctl (VIDIOCGCAP): Inappropriate ioctl for device
    [1] Could not fetch initial image from camera
    [1] Motion continues using width and height from config file(s)
    [1] Resizing pre_capture buffer to 1 items
    [1] Retrying until successful connection with camera
    [1] cap.driver: “pac207”
    [1] cap.card: “CIF Single Chip ”
    [1] cap.bus_info: “usb-0000:00:03.1-2”
    [1] cap.capabilities=0x85000001
    [1] – VIDEO_CAPTURE
    [1] – READWRITE
    [1] – STREAMING
    [1] Config palette index 8 (YU12) doesn’t work.
    [1] Supported palettes:
    [1] 0: P207 (P207)
    [1] Unable to find a compatible palette format.
    [1] ioctl (VIDIOCGCAP): Inappropriate ioctl for device
    [1] Retrying until successful connection with camera
    [1] cap.driver: “pac207”
    [1] cap.card: “CIF Single Chip ”
    [1] cap.bus_info: “usb-0000:00:03.1-2”
    [1] cap.capabilities=0x85000001
    [1] – VIDEO_CAPTURE
    [1] – READWRITE
    [1] – STREAMING
    [1] Config palette index 8 (YU12) doesn’t work.
    [1] Supported palettes:
    [1] 0: P207 (P207)
    [1] Unable to find a compatible palette format.
    [1] ioctl (VIDIOCGCAP): Inappropriate ioctl for device

  23. Leniel disse:

    como faço pra solicitar senha quando eu for acessa pela internet?

  24. Olá Ivan. Excelente Tutorial.
    Estou rodando o Motion no FreeBSD, e utilizando uma WebCAM via USB.
    Já testei diversas configurações, inclusive as que estão disponíveis no site do Motion, porem estou com o seguinte problema (se puder me ajudar, ficarei muito grato):
    – O Motion inicializa normalmente, porem não consegue capturar a imagem da camera (Could not fetch initial image from camera)
    – Logo depois ele informa que a opção “video input” está fora do esperado, mas segundo o manual, a opção 8 deve ser escolhida para dispositivos USB, já testei todas as opções e não obtive sucesso.
    – Então ele fica em um loop aguardando a imagem do dispositivo.

    Segue arquivo de log:
    Starting motion.
    [0] Processing thread 0 – config file /usr/local/etc/motion.conf
    [0] Motion 3.2.12 Started
    [0] ffmpeg LIBAVCODEC_BUILD 3439360 LIBAVFORMAT_BUILD 3436288
    [0] Thread 1 is from /usr/local/etc/motion.conf
    [1] Thread 1 started
    [0] motion-httpd/3.2.12 running, accepting connections
    [1] vid_start: [/dev/video0]
    [0] motion-httpd: waiting for data on port TCP 8080
    [1] set_input: Channel Port 8 out of range (0-4)
    [1] v4l_start: set input [8]
    [1] Could not fetch initial image from camera
    [1] Motion continues using width and height from config file(s)
    [1] Resizing pre_capture buffer to 1 items
    [1] Started stream webcam server in port 8081
    [1] Retrying until successful connection with camera
    [1] vid_start: [/dev/video0]
    [1] set_input: Channel Port 8 out of range (0-4)
    [1] v4l_start: set input [8]

    Já passou por esse problema?

  25. andre disse:

    Pessoal, help-me
    Alguem tem o arquivo original do motion.conf
    Ferrei o meu e mesmo removendo o motion e reinstalando … ele não volta…

    • Removendo e instalando não remove o arquivo de configuração, para remover o arquivo, em teoria, tem que remover com o comando sudo apt-get purge motion.

      Infelizmente não tenho o arquivo original.

  26. Lucas Cristian disse:

    Mais se o pc estiver desligado vou conseguir gravar tambem??

  27. Lucas Cristian disse:

    Faz tempo q procuro um programa assim, mais q ninguem note q esteja sendo gravado..

  28. Jean Carlos disse:

    Boa noite pessoal, aqui no meu linux tudo funciona perfeito, desativei a função de detectar movimentos pra nao encher minha pasta, apenas pra ficar filmando, agora eu não consigo acessar a webcam de outro pc, mesmo seguindo as orientações do tutorial, alguem pode dar uma força? obg

Deixe seu comentário

Website