Como está o meu bebê?

Artigo simples que quebra um galho mostrando como fazer duas coisas. Primeiro: assistir no dispositivo Android o que se passa na webcam do seu computador. Segundo: assistir no computador o que se passa na câmera do seu dispositivo Android. Útil para quem quer vigiar sua casa, seus pertences e até mesmo o seu filho no berço.

[ Hits: 11.674 ]

Por: Xerxes em 08/10/2015


Do computador para o Android



Primeiro mostro como enviar imagens do computador para o Android, de forma que elas sejam exibidas no navegador do smartphone. No meu caso uso o Google Chrome como navegador no smartphone. Não sei se outros navegadores suportam.

Para este artigo usei a distribuição Linux Mint Debian Edition 17.2 (LMDE) com base em Debian Jessie. As instruções devem funcionar com Debian puro. Se a sua distribuição for outra, não se preocupe. Pouca coisa deve mudar e você deverá fazer as adaptações necessárias.

Assumindo que a webcam está instalada no seu computador e está funcionando perfeitamente na sua distribuição, instale o programa "motion".

sudo aptitude install motion

Esse programa serve para capturar imagens da webcam e salvá-las no HD caso a câmera detecte algum movimento. Mas para a minha necessidade eu não preciso salvar as imagens no HD, apenas enviá-las pela rede. Veremos como configurar isso.

Após instalar o "motion", caso queira iniciá-lo, use o comando:

sudo motion

Para desligá-lo, use o comando:

sudo services motion stop

Ao iniciar o programa ele exibirá o arquivo de configuração assim:

[0] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf

Crie uma cópia dele antes de alterá-lo para preservar o arquivo original:

sudo cp /etc/motion/motion.conf /etc/motion/motion.conf.ori

Caso queira entender tudo sobre o arquivo leia-o com atenção e também recomendo ler a seguinte página:
Para este artigo abordarei apenas alguns dos parâmetros.

Edite o arquivo de configuração:

sudo nano /etc/motion/motion.conf

Primeiro, caso queira desabilitar o salvamento de imagens no HD, altere o parâmetro "output_pictures" para "off". Assim:

output_pictures off

Faça o mesmo com o parâmetro "ffmpeg_output_movies" para não salvar filmes:

ffmpeg_output_movies off

Alguns outros parâmetros caso alguém se interesse:
  • framerate: varia de 2 a 100. Quantidade de imagens capturadas por segundo. Por padrão, no Debian, vem 2.
  • Motion detection threshold: sensibilidade à mudanças de imagem. Quanto menor, mais sensível. Padrão é 1500.
  • target_dir: define o local onde as imagens e filmes serão salvos.

Alguns tutoriais dizem para adicionar as seguintes linhas ao final do arquivo de configuração do Motion:

webcam_localhost on
control_localhost on

E que sem essas linhas você não será capaz de visualizar as imagens no seu dispositivo Android. Mas não precisei. No entanto é essencial mudar o valor do "stream_localhost on" para "stream_localhost off". Isso permite o stream (acesso por outro dispositivo).

Após alterar esses parâmetros, salve e feche o arquivo.

Inicie o motion.

Certifique-se de que o computador e o dispositivo Android estão na mesma rede local. Agora, com o Motion em pleno funcionamento, há duas formas de testá-lo.

Primeira forma: abra o seu navegador e acesse o endereço: http://localhost:8081

A segunda forma, que interessa, é acessar no navegador do seu dispositivo Android o endereço: http://ip-local-do-computador:8081

Caso não saiba o IP local do computador, use o comando:

ifconfig

Assim você verá no navegador como está o seu bebê:
Enquanto o computador estiver voltado para o que deseja vigiar, seja uma porta, um corredor, sua garagem etc, você sempre poderá dar uma olhada no celular para ver como estão as coisas. :)

Dica: caso a captura esteja lenta, ou seja, poucos frames por segundo no navegador Android, experimente alterar o parâmetro "stream_maxrate" de 1 para 100.

Simples, não?

Caso queira colocar senha use o parâmetro "stream_auth_method 1" e "stream_authentication usuário:senha". É bom caso queira servir a imagem via Internet (para isso configure o seu roteador. Por exemplo IP externo como DMZ).

Agora veremos a segunda solução.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Do computador para o Android
   3. Do Android para o computador
Outros artigos deste autor

Estratégia para Shadow Era (Supernova Boring)

A Maldição de Patrick Volkerding

Instalação do Dspace no CentOS

Melhorando a experiência com Cinnamon no LMDE

Como instalar o XAMPP no GNU/Linux

Leitura recomendada

Criar um Servidor TeamSpeak no Ubuntu Server

Gerando Pacote do QMPlay2 20.12.16 no Slackware Current Facilmente

Utilização de Webcams Antigas no Sabayon Linux com Kernel 5.7 - 2020

Instalar e utilizar o FFmpeg no Ubuntu

Instalação do Jack Audio Connection Kit

  
Comentários
[1] Comentário enviado por smkbarbosa em 08/10/2015 - 11:20h

Valeu pela iniciativa. o/

Samuel Barbosa

[2] Comentário enviado por removido em 08/10/2015 - 12:04h

Isso me lembra os grandes inventores da história, que criaram de acordo com alguma necessidade.

Parabéns Xerxes!

[3] Comentário enviado por Miqueloti em 08/10/2015 - 13:00h

Show, estava vendo na playstore que o IP Webcam também permite através do parametro video configurado para browser, e audio para null monitorar de android (server) para android (client).

Fora que há navegadores com suporte flash mobile atualmente (Dolphin).

Vou pegar um android velho que tá parado lá em casa para ficar de servidor!!!

Obrigado pela dica!

[4] Comentário enviado por xerxeslins em 08/10/2015 - 13:51h


[3] Comentário enviado por Miqueloti em 08/10/2015 - 13:00h

Show, estava vendo na playstore que o IP Webcam também permite através do parametro video configurado para browser, e audio para null monitorar de android (server) para android (client).

Fora que há navegadores com suporte flash mobile atualmente (Dolphin).

Vou pegar um android velho que tá parado lá em casa para ficar de servidor!!!

Obrigado pela dica!


Bacana, não tinha visto isso!

[5] Comentário enviado por xerxeslins em 08/10/2015 - 13:51h


[1] Comentário enviado por smkbarbosa em 08/10/2015 - 11:20h

Valeu pela iniciativa. o/

Samuel Barbosa


Obrigado!

[6] Comentário enviado por xerxeslins em 08/10/2015 - 13:52h


[2] Comentário enviado por izaias em 08/10/2015 - 12:04h

Isso me lembra os grandes inventores da história, que criaram de acordo com alguma necessidade.

Parabéns Xerxes!


Pois é, não que eu seja inventor, mas às vezes a necessidade e/ou preocupação com algo nos faz buscar uma solução!

Abraço!

[7] Comentário enviado por rrodrigues345 em 11/10/2015 - 19:23h

Grande Xerxes! Ótimo artigo!
Mas aqui não consegui acessar a câmera do PC pelo Android... tentei em todos os browsers do celular e dava conexão recusada... Só no localhost do PC que funcionou... e os dois estão no mesmo wifi... será q preciso instalar mais alguma coisa no PC? Ou no Android?

[8] Comentário enviado por xerxeslins em 11/10/2015 - 19:44h


[7] Comentário enviado por ricardoperera em 11/10/2015 - 19:23h

Grande Xerxes! Ótimo artigo!
Mas aqui não consegui acessar a câmera do PC pelo Android... tentei em todos os browsers do celular e dava conexão recusada... Só no localhost do PC que funcionou... e os dois estão no mesmo wifi... será q preciso instalar mais alguma coisa no PC? Ou no Android?


Verifique se vc colocou estas linhas no "/etc/motion/motion.conf":

webcam_localhost on
control_localhost on

[9] Comentário enviado por rrodrigues345 em 11/10/2015 - 19:49h



Verifique se vc colocou estas linhas no "/etc/motion/motion.conf":

webcam_localhost on
control_localhost on


Sim, adicionei no final do arquivo... o localhost:8081 funciona... Ms no Android não... deve ser falta de configurar algo... só não sei o que.. rs!


[10] Comentário enviado por xerxeslins em 11/10/2015 - 19:54h


[9] Comentário enviado por ricardoperera em 11/10/2015 - 19:49h



Verifique se vc colocou estas linhas no "/etc/motion/motion.conf":

webcam_localhost on
control_localhost on

Sim, adicionei no final do arquivo... o localhost:8081 funciona... Ms no Android não... deve ser falta de configurar algo... só não sei o que.. rs!



Agora vc me pegou! Não sei o que pode ser. Se tiver como, veja as configurações do seu roteador... se há alguma opção lá que bloqueia essa porta 8081.

[11] Comentário enviado por rrodrigues345 em 11/10/2015 - 20:01h


Agora vc me pegou! Não sei o que pode ser. Se tiver como, veja as configurações do seu roteador... se há alguma opção lá que bloqueia essa porta 8081.


Tranquilo! Valeu pela ajuda! Vou testar o note em outras redes, mas acho que é algum programa do note que ta faltando pois fiz o teste no Wi-Fi e também pelo 3G ( os dois usando o 3G)...

[12] Comentário enviado por xerxeslins em 11/10/2015 - 20:19h


[11] Comentário enviado por ricardoperera em 11/10/2015 - 20:01h


Agora vc me pegou! Não sei o que pode ser. Se tiver como, veja as configurações do seu roteador... se há alguma opção lá que bloqueia essa porta 8081.

Tranquilo! Valeu pela ajuda! Vou testar o note em outras redes, mas acho que é algum programa do note que ta faltando pois fiz o teste no Wi-Fi e também pelo 3G ( os dois usando o 3G)...


Tenta mudar aqueles dois ON para OFF, assim:

webcam_localhost off
control_localhost off

e reinicia o serviço motion. Veja se isso muda algo.

[13] Comentário enviado por xerxeslins em 12/10/2015 - 17:26h


[7] Comentário enviado por ricardoperera em 11/10/2015 - 19:23h

Grande Xerxes! Ótimo artigo!
Mas aqui não consegui acessar a câmera do PC pelo Android... tentei em todos os browsers do celular e dava conexão recusada... Só no localhost do PC que funcionou... e os dois estão no mesmo wifi... será q preciso instalar mais alguma coisa no PC? Ou no Android?


Descobri.

Mude o valor do "stream_localhost on" para "stream_localhost off"

Já atualizei o artigo.

Abraço!

[14] Comentário enviado por rrodrigues345 em 13/10/2015 - 14:51h


[13] Comentário enviado por xerxeslins em 12/10/2015 - 17:26h


[7] Comentário enviado por ricardoperera em 11/10/2015 - 19:23h

Grande Xerxes! Ótimo artigo!
Mas aqui não consegui acessar a câmera do PC pelo Android... tentei em todos os browsers do celular e dava conexão recusada... Só no localhost do PC que funcionou... e os dois estão no mesmo wifi... será q preciso instalar mais alguma coisa no PC? Ou no Android?

Descobri.

Mude o valor do "stream_localhost on" para "stream_localhost off"

Já atualizei o artigo.

Abraço!


Aheee! deu certo!

Estou postando aqui, juntamente com a minha versão, caso mais alguém venha a ter o mesmo problema que eu. Mas era o que vc havia mencionado anteriormente, de trocar os "on" por "off" hahaha!

Esses são os trechos que tive que alterar no meu sistema [ ubuntu 14.04.3 lts] (no meu não tem o "stream" mas sim o "control", daí o porquê de eu não ter conseguido...rs!)

# This config file was generated by motion 3.2.12
webcam_localhost off
control_localhost off

Aqui estão os mesmos trechos, mas da forma como aparecem no arquivo de configuração:
############################################################
# Live Webcam Server
############################################################


# Restrict webcam connections to localhost only (default: on)
webcam_localhost off


############################################################
# HTTP Based Control
############################################################

# Restrict control connections to localhost only (default: on)
control_localhost off

É isso aí!

Mais uma vez, parabéns pelo excelente artigo; criativo e divertido, mostrando como o linux pode ser flexível!!

Abraço,

Ricardo


[15] Comentário enviado por rodrigojsn em 13/10/2015 - 17:00h


Parabens pelo artigo Xerxes! Fiquei curioso em saber se teria como salvar os videos em FTP? Isso no caso do PC como a camera.

[16] Comentário enviado por xerxeslins em 13/10/2015 - 19:54h


[14] Comentário enviado por ricardoperera em 13/10/2015 - 14:51h


[13] Comentário enviado por xerxeslins em 12/10/2015 - 17:26h


[7] Comentário enviado por ricardoperera em 11/10/2015 - 19:23h

Grande Xerxes! Ótimo artigo!
Mas aqui não consegui acessar a câmera do PC pelo Android... tentei em todos os browsers do celular e dava conexão recusada... Só no localhost do PC que funcionou... e os dois estão no mesmo wifi... será q preciso instalar mais alguma coisa no PC? Ou no Android?

Descobri.

Mude o valor do "stream_localhost on" para "stream_localhost off"

Já atualizei o artigo.

Abraço!

Aheee! deu certo!

Estou postando aqui, juntamente com a minha versão, caso mais alguém venha a ter o mesmo problema que eu. Mas era o que vc havia mencionado anteriormente, de trocar os "on" por "off" hahaha!

Esses são os trechos que tive que alterar no meu sistema [ ubuntu 14.04.3 lts] (no meu não tem o "stream" mas sim o "control", daí o porquê de eu não ter conseguido...rs!)

# This config file was generated by motion 3.2.12
webcam_localhost off
control_localhost off

Aqui estão os mesmos trechos, mas da forma como aparecem no arquivo de configuração:
############################################################
# Live Webcam Server
############################################################


# Restrict webcam connections to localhost only (default: on)
webcam_localhost off


############################################################
# HTTP Based Control
############################################################

# Restrict control connections to localhost only (default: on)
control_localhost off

É isso aí!

Mais uma vez, parabéns pelo excelente artigo; criativo e divertido, mostrando como o linux pode ser flexível!!

Abraço,

Ricardo



Muito bom! Obrigado!

Segue meu arquivo para comparação, funcionando no navegador do PC e no navegador do Android:

http://pastebin.com/9d8RK6QP

Abraço!


[17] Comentário enviado por xerxeslins em 13/10/2015 - 19:57h


[15] Comentário enviado por rodrigojsn em 13/10/2015 - 17:00h


Parabens pelo artigo Xerxes! Fiquei curioso em saber se teria como salvar os videos em FTP? Isso no caso do PC como a camera.


Sim, é possível. Nunca testei. Mas vi na Internet que é possível.

Precisa instalar o "wput" (para enviar imagens).

$ sudo apt-get install wput

Depois procurar a linha no arquivo de configuração que tenha o parâmetro "on_picture_save". E deixar assim:

on_picture_save wput ftp://usuário@senha@servidor %f

Fonte: https://raymii.org/s/tutorials/Setting-up-motion-with-ftp-and-email-support.html

Espero ter ajudado!

Abraço.

[18] Comentário enviado por rodrigojsn em 15/10/2015 - 17:14h


[17] Comentário enviado por xerxeslins em 13/10/2015 - 19:57h


[15] Comentário enviado por rodrigojsn em 13/10/2015 - 17:00h


Parabens pelo artigo Xerxes! Fiquei curioso em saber se teria como salvar os videos em FTP? Isso no caso do PC como a camera.

Sim, é possível. Nunca testei. Mas vi na Internet que é possível.

Precisa instalar o "wput" (para enviar imagens).

$ sudo apt-get install wput

Depois procurar a linha no arquivo de configuração que tenha o parâmetro "on_picture_save". E deixar assim:

on_picture_save wput ftp://usuário@senha@servidor %f

Fonte: https://raymii.org/s/tutorials/Setting-up-motion-with-ftp-and-email-support.html

Espero ter ajudado!

Abraço.


Ajudou sim Xerxes, ainda não testei mas ja tenho por onde ir. Valeu!

[19] Comentário enviado por JairPMJr em 03/03/2016 - 08:34h

Excelente tutorial, é sóuma pena que eu encontrei o tutorial agora, seria útil para acompanhar o sono da minha filha, mas de toda forma, é um artigo que tem inúmeras utilidades.

Vou tentar com Ubuntu, provavelmente sem ou com pucos ajustes.

Meus parabéns.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts