Stream de Video no Linux Maemo para uso do N900 como Webcam

Publicado por Alan em 07/07/2011

[ Hits: 7.865 ]

Blog: http://www.informaticainove.com.br

 


Stream de Video no Linux Maemo para uso do N900 como Webcam



Pesquisando bastante na Internet como utilizar meu N900 como Webcam ou Câmera de Segurança, não encontrei muita informação e após muitos testes estou aqui para dividir esta dica com a galera do VOL.

Esta dica foi feita para a distribuição Linux Maemo que é baseada no Debian.

O stream utilizará o VLC como cliente para acesso ao vídeo.

Será necessário o download do pacote gstreamer-tools.

Vamos aos passos:

1) Conectado a Internet e logado como root baixe o pacote gstreamer-tools:

# apt-get install gstreamer-tools

2) Em /usr/local/bin, crie os seguintes scripts:

Script: stream-camera0

# cd /usr/local/bin
# nano stream-camera0

Dentro do arquivo stream-camera0, copie e cole estas linhas:
gst-launch v4l2src \ ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30/1 ! dsph264enc ! rtph264pay ! udpsink host=x.x.x.x port=5000
#x.x.x.x é o ip do computador

Obs.: Todo o comando precisa estar em uma única linha ou será necessário quebrar o comando com a barra "\".

Script: stream-camera1

#nano stream-camera1

Dentro do arquivo stream-camera1, copie e cole estas linhas:
gst-launch-0.10 v4l2src device=/dev/video1 ! dsph264enc ! rtph264pay ! udpsink host=x.x.x.x port=5434
#x.x.x.x é o ip do computador

O primeiro script irá habilitar o stream de vídeo na câmera do fundo do aparelho o segundo irá habilitar a câmera da frente do aparelho.

Precisamos deixar os dois scripts executáveis:

# chmod +x /usr/local/bin/stream-camera0
# chmod +x /usr/local/bin/stream-camera1

Para testar vamos usar um dos scripts:

# stream-camera1

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock


Isso quer dizer que já está funcionando. No caso da câmera da frente, o Led indicador ficará vermelho informando que está funcionando.

Aperte CTRL+C para cancelar a execução do script.

Agora vamos testar. Você precisa ter o VLC instalado no computador.

Para a câmera secundaria, crie o arquivo abaixo.

Obs.: Usuário do Windows pode criar o arquivo em bloco de notas, clicar em salvar, em formatos escolher "todos os arquivos" e no nome do arquivo colocar "vlc-camera0.sdp", o mesmo serve para o outro arquivo.

Arquivo vlc-camera0:
v=0
m=video 5000 RTP/AVP 96
c=in IP4 x.x.x.x #ip do celular
a=rtpmap:96 H264/90000

Arquivo vlc-camera1:
v=1
m=video 5434 RTP/AVP 96
c=IN IP4 x.x.x.x #ip do celular
a=rtpmap:96 H264/90000

Depois é só abrir com o VLC o arquivo da câmera em execução no N900.

Mais dicas:
  • A porta de acesso pode ser a porta de preferencia do usuário, desde que seja alterada nos arquivos do VLC e do N900.
  • Para melhor qualidade na câmera do fundo, abra a lente e não feche o programa de captura de fotos, depois execute o script da devida câmera, o celular irá apresentar um erro e irá fechar o programa de captura para abrir o stream de vídeo, porém agora a qualidade estará bem melhor.
Quem souber como melhorar a iluminação e cores do stream, eu agradeço.


Outras dicas deste autor

VPN PPTP Windows 2003 Server + GRE + Slackware 12

Controlando nova interface com HTB + controle de download com upload automático por usuário

Instalando aMSN no Slackware 12 e 12.2 da forma mais simples possível

Instalando EyeOS no Slackware 12 e 12.2 sem mistérios

Leitura recomendada

Copie o conteúdo total de um HD para outro

Testando desempenho de seu Web Server com SIEGE

Instalação do servidor WebLogic no Linux

Sincronizando relógios dos micros na rede sem NTP

UNIX AIX: Utilitario de administração smit

  

Comentários
[1] Comentário enviado por barklome em 07/07/2011 - 18:17h

Muito bom mano!
Vou testar logo,sou programador e tenho esse celular!

[2] Comentário enviado por rogeriojlle em 07/07/2011 - 23:01h

nesse modelo de telefone, as câmeras são acessadas via /dev/videoX ou o gst-launch "emula um dev/video" e captura as imagens de outra forma?

[3] Comentário enviado por barklome em 09/07/2011 - 14:37h

são acessadas sim pelos device nodes
Esse celular é um Linux realmente,não um Android(quem entende de EmbeddedLinux sabe bem a diferença)



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts