Transforme o seu celular Android em webcam sem fio na plataforma Linux

Neste documento veremos como transformar o seu celular Android em dispositivo de vídeo captura, mais especificamente uma webcam. Com este recurso, softwares como skype e outros de videoconferência poderão utilizar o seu celular como uma câmera sem fio.

[ Hits: 55.906 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 16/04/2012 | Blog: http://assuntonerd.com.br


Introdução



Utilizar o celular como dispositivo de vídeo captura, traz o benefício econômico (dispensa a necessidade de comprar uma webcam), como também podemos utilizar o aparelho telefônico como uma câmera sem fio e totalmente transparente ao sistema operacional.

Imagine durante uma vídeo conferência no Skype, você simplesmente carregar o seu telefone de um lado e para o outro e transmitindo ao vivo a imagem. Processar em tempo real com visão computacional no servidor, as imagens do celular enquanto caminha. Efetuar o reconhecimento facial na multidão com processamento no desktop como se fosse uma webcam.

O objetivo deste documento não é trazer aplicabilidades para este recurso. Então fica a cargo de sua imaginação do que fazer com um dispositivo sem fio transmitindo vídeo ao vivo para o seu sistema operacional GNU/Linux.

Aplicativos que agregam funcionalidades de outros aparelhos em nosso Android, são sempre bem vindo. O aplicativo foi desenvolvido pela Dev47 (www.dev47apps.com), e disponibilizado no Google Market (agora denominado Google Play).

A mágica do Droidcam esta na comunicação o PC através da rede WiFi ou por cabo USB (em ADB Bridge). O conceito de funcionamento é simples, basta primeiramente executar o aplicativo no smartphone, e logo em seguida o IP e a porta sera exibida, então informe no desktop o IP e a respectiva porta e depois clicar no botão connect, a câmera é acionada automaticamente.
Linux: Transforme o seu celular Android em webcam sem fio na plataforma Linux.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Download e instalação
Outros artigos deste autor

Impressione seus amigos com o Tux bonitinho no login modo console

STEPMANIA: Transforme seu PC com GNU/LINUX em uma máquina Dance Dance Revolution

Biometria: Reconhecimento Facial OpenSource!

Android Things - Aplicativos IoT padronizado para Indústria 4.0

Leitor de impressão digital Futronic FS80 no Linux

Leitura recomendada

Debian no Android "from scratch"

Tranferência rápida de arquivos do Android para PC via FTP

Zello - Transforme seu Android (e GNU/Linux) num Walkie Talkie

DriveDroid - Transforme o seu Android em um pendrive bootável

Conheça o Viva o Android, site coirmão do VOL

  
Comentários
[1] Comentário enviado por fernandoborges em 16/04/2012 - 10:49h

Parabéns! Sempre trazendo artigos bacanas com novidades incríveis!
Vou testar hoje à noite...

[2] Comentário enviado por rogeriojlle em 16/04/2012 - 11:56h

só complementando a dica do cabelo, tem outro programa que utilizo que dá o mesmo resultado; pra quem não tiver cartão de crédito ou não quer/pode gastar (sem desmerecer o trabalho de ninguém, já que o software apresentado pelo pelo nosso colega tem interface gráfica, é bem fácil de usar, etc e tal), existe uma alternativa (originalmente pra ubuntu/arch) mas que pode ser adaptada para sua distro preferida. Eu uso no Opensuse, embora sem som.
https://play.google.com/store/apps/details?id=com.pas.webcam&hl=pt_BR
na página gerada pelo aplicativo tem um link para o github que instala os devidos softwares em seu computador.
o legal é que depois de tudo instalado voce vai perceber que pode transformar qualquer coisa em webcam, não só o seu android, embora o script esteja otimizado para ele.
Tem alguns macetes que é bom dizer:
certifique-se de que você tenha o pacote curl instalado (distros recém-instaladas nem todas tem), pois o script não verifica isso e é interrompido
se você trocar/atualizar de kernel, tem de reinstalar o pacote do driver loopback e reiniciar o computador mais uma vez, embora dê a ideia que isso foi feito pelo script de atualização

link do script:
https://github.com/bluezio/ipwebcam-gst/

[3] Comentário enviado por cabelo em 16/04/2012 - 12:25h

Ola rogeriojlle:

Obrigado pela sugestão, já conhecia o ipwebcam. Para não causar confusão, acho importante deixar algumas considerações (não interprete como crítica ou justificativa):

1 - Existe a versão gratuita do droidCamX conforme mencionada no aqui no artigo:
https://play.google.com/store/apps/details?id=com.dev47apps.droidcam

2 - Existem muitas alternativas similares de com o código fontes disponíveis, como por exemplo SmartCam:
http://sourceforge.net/projects/smartcam/

3 - Avaliei todas as opções, escolhi o droidCamX por ser mais fácil e o mais compatível com varias versões de kernel.

4 - O texto ficaria muito grande se eu mencionasse todas os pacotes disponíveis.

5 - O IP-cam não é transparente ao sistema operacional, ou seja não cria um device /dev/video[N]. Embora seja possível com loopback e outras técnicas. Mas preferi disponibilizar um artigo para leigos. Para acabar com a conversa mole que no Linux é tudo difícil.


Abraços e obrigado novamente.

[4] Comentário enviado por matux em 16/04/2012 - 14:02h

Cabelo,
Parabéns pelo artigo, muito útil.
Fiz o teste aqui, mas deveria abrir algum player do vídeo quando a aplicação fosse iniciada no PC ou é necessário algum outro player para ver o fluxo de vídeo?
Me conecto com a aplicação no celular, mas não abre o vídeo.

Esse é o meu "lsmod", reparei que não aparecer o "uvcvideo" como no seu.

matux@PC-Desktop:~/programas/droidcamx$ lsmod | grep droidcam_v4l
droidcam_v4l 5591 0
videodev 34361 1 droidcam_v4l

Tem algum idéia do que seja?
abraço!

[5] Comentário enviado por cabelo em 16/04/2012 - 14:55h

Matux

Após a execução do aplicativo execute o mplayer, vlc ou um player de sua preferência, lembre-se que se nenhuma webcam embutida existir o dispositivo será /dev/video0 caso contrário /dev/video1.

Abaixo um exemplo com o MPlayer e VLC

mplayer -tv driver=v4l2:width=640:height=480:device=/dev/video1:fps=30:outfmt=yuy2 tv://

vlc -vvv v4l2:// :v4l2-dev=/dev/video1

[6] Comentário enviado por matux em 16/04/2012 - 15:23h

Cabelo,

Testei com a seguinte linha de comando e funcionou:

# mplayer -tv driver=v4l2:width=640:height=480:device=/dev/video0:fps=30:outfmt=yuy2 tv://

Testado e Aprovado!

Ps. Pena que não funciona o áudio para esta aplicação. :(

[7] Comentário enviado por cabelo em 16/04/2012 - 15:56h

matux:

O audio funciona sim, testei aqui com o VLC !

[8] Comentário enviado por matux em 17/04/2012 - 02:08h

Cabelo,

Maravilha!
Pesquisei algumas opções para carregamento do áudio e não consegui.

O último teste que fiz foi com esse comando:

cvlc v4l2:///dev/video1 –v4l2 -caching=6500 –v4l2-width=420 –v4l2-height=320 –input-slave=alsa://hw:1,0 –alsa-samplerate=16000

Mas ainda sim não consegui capturar o áudio. :(

Mais alguma dica? :D

[9] Comentário enviado por marceloviana em 17/04/2012 - 18:23h

Cabelo,
Muito boa a dica!
Se juntar seu documento com o artigo do Silvio (OpenMeeting 1.9.1 - Instalando no Debian Squeeze virtualizado) dará uma implementação e tanto de vídeo-confêrencia com câmera portátil/dinâmica.

Parabéns e muito obrigado.

[10] Comentário enviado por emccomputadores em 17/04/2012 - 18:56h

Muito interessante as modificações que conseguimos fazer nos celulares por ele ser da plataforma linux.

[11] Comentário enviado por Polnoraref em 24/04/2012 - 10:27h

Muito bom o Artigo fiz aqui e deu certo td perfeito mas é o seguinte, é possível configura-lo com o emesene ou amsn ?? se for possível me explica como faz

Outra duvida

Usamos o droidcam até onde o sinal do nosso roteador alcançar para podermos visualiza-lo no PC entretanto seria possivel configura-lo para transmitir som e imagem usando a internet ou uma intranet; ou seja sera possível usa-lo de qualquer canto do mundo como se estivéssemos dentro de casa ?? Seria mais funcional se estiver essa opção

[12] Comentário enviado por andersonf23 em 07/05/2012 - 19:14h

Muito massa!

[13] Comentário enviado por carlosalberto4ti em 02/10/2012 - 17:08h

Bom até o momento não consegui encontrar um software para o celular ancroid com as seguintes funções :

- Auto inicia no boot do celular
- Seja opensource (qualquer licença)

Seria interessante também :
- Que ao ser aberto fosse solicitado senha para administrar o esse software (ou outro software que faça esse bloqueio ao software do android) .
- Atrás de nat , houvesse como o mesmo se comunicar um o seu servidor e conseguir transmitir , isso tem o redirecionamento de ip no firewall .(ou alguma dica de vpn ou outra coisa que conssiga fazer o mesmo)


Motivo , deixar o tablet e celulares de casa , sendo gravados no zoneminder , assim teria um monitoramento em tempo real e gravado , sem precisar instalar cameras de vigilancia .

Se tiverem indicação ficarei feliz em testa-la e reportar

[14] Comentário enviado por alancads em 07/02/2013 - 20:58h

Massa d+ Cabelo!

Até adicionei no tópico a sua dica em nosso canal #android-br na irc.freenode.net

[]'s



[15] Comentário enviado por henryvieri em 12/08/2013 - 14:00h

Interessante cara, vlw pela dica.

[16] Comentário enviado por removido em 01/10/2013 - 01:26h

Dica pra usar com cabo USB

Siga os mesmos passos de instalação citado na postagem do Cabelo
No android baixe o app droidcam cliente, ou faça o download aqui http://www.mediafire.com/?g8yfpx2lsgsg3d8.

No celular vai em Menu -> Configurações -> Conexões sem fio e rede -> Ancoragem e Roteador Wi-Fi e marque a opção Ancoragem USB

No linux digite os comandos:
# ifconfig usb0 up
# dhclient usb0

Obs.: Essa configuração faz com que seu arquivo /etc/resolv.conf seja alterado, basta acrescentar no final do arquivo um nameserver de sua preferência, para que você consiga acessar a internet no seu computador.

Colocando dois servidores em escuta, um para seu celular conectar e outro para o seu computador conectar através do programa droidcam.

$ nc -vv -l -p 4747 | nc -vv -l -p 2000

No celular vai no aplicativo droidcam (cliente) no menu opções clique em "Connect to DroidCam (WI-FI) Server" depois em "Add new Server" e digite o ip da interface usb0, clique em "Save", após isso basta clicar "Description [...]".

Agora no linux abra o droidcam
$ droidcam &

Marque a opção Wi-Fi/LAN
Phone IP: 127.0.0.1
DroidCam Port: 2000
Clique em connect

Pronto!!
Agora faça o teste!!
$ vlc v4l2:// :v4l2-dev=/dev/video0

[17] Comentário enviado por henryvieri em 12/10/2013 - 01:03h

Muito bom artigo, parabéns....

[18] Comentário enviado por airanabdalla em 10/11/2013 - 13:21h

Como faço para instalar o droid cam pelo terminal?

tenho lubuntu 32 bits e da erro ao digitar aquele tar. Quero usar o SUDO

[19] Comentário enviado por pedrox86 em 03/04/2014 - 15:23h

Boa cabelo!

[20] Comentário enviado por dtgfranca em 06/05/2014 - 08:33h

Muito bom , não vejo a hora de chegar em casa para fazer o teste :D !

[21] Comentário enviado por alvaroted em 25/01/2015 - 16:58h

Galera, tenho pouca experiência no linux, e quando tentei instalar o programa apareceu a seguinte:
alvaro@linux-7wf5:~/Desktop> sudo ./install
-- INSTALL: Webcam parameters: '640' and '480'
-- INSTALL: Home directory: /home/alvaro/.droidcam
-- INSTALL: Building v4l2loopback-dc.ko
make -C /lib/modules/`uname -r`/build M=`pwd`
make: *** /lib/modules/3.11.10-25-desktop/build: Arquivo ou diretório não encontrado. Pare.
make: ** [all] Erro 2
-- INSTALL: v4l2loopback-dc.ko not built.. Failure


Como faço para superar esse problema?
Abraços.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts