Manual

do

Maker

.

com

Fazer streaming com camera do Raspberry

Fazer streaming com camera do Raspberry

Como fazer streaming com camera do Raspberry

No artigo anterior sobre a câmera V2 do Raspberry Pi fiz apenas a apresentação da câmera. Nesse tutorial apresento os controles com V4L2, como Fazer streaming com camera do Raspberry e como tocar a streaming em um computador remoto.

Instalação de pacotes no RPi

Primeiramente, tenha instalado todos os brinquedos necessários para iniciar a diversão.

sudo su
apt-get install build-essential git v4l-utils

O build-essential trará o conjunto de ferramentas necessário para compilação. O v4l-utils será utilizado para controlar a câmera e o git, obviamente, para baixar o código do nosso servidor rtsp.

Disponibilizando a câmera

Para que você possa controlar a câmera com v4l2 ou vlc ou qualquer coisa fora o raspistill e o raspivid, será necessário que tenha o dispositivo /dev/video0 disponível. Então o primeiro passo é levantar o módulo que cria esse dispositivo da câmera para você. Se precisa ainda fazer os primeiros passos (configurar a câmera), leia esse outro artigo.

modprobe bcm2835-v4l2

Adicione o nome do módulo também ao /etc/modules para que você o tenha disponível a cada boot. Verifique após levantar esse módulo que (em caso de não haver erro) você encontrará o dispositivo de video em /dev:

ls /dev/video0

Estando tudo ok, passemos ao próximo passo.

Download do servidor RTSP e compilação

Baixe agora o código fonte do servidor RTSP:

git clone https://github.com/codemonkeyricky/pi_streamer.git

Siga com os seguintes passos:

cd pi_streamer/target
make app
./app >/dev/null

Não havendo erro, você terá a streaming disponível em rtsp://192.168.1.16:8554/pi_encode.h264. Agora você já pode ir ao seu outro dispositivo e conectar ao Raspberry. Inclusive, tem vlc para Android, portanto até de seu smartphone você poderá acessar a câmera do Raspberry. Enfim, tenha o vlc instalado e siga como demonstrado:

vlc -v rtsp://192.168.1.16:8554/pi_encode.h264

A minha câmera está pessimamente posicionada sobre o ferro de solda com o Raspberry pendurado pelo cabo curto do HDMI ao monitor de 7 polegadas. Ele está apontando para o teto, pegando minha prateleira superior, um canto do batente da porta e mais nada. Repare primeiramente como a imagem está inicialmente, depois assista o video com os ajustes.

00z-rpi_cam_hello_world-300x168.webp

Eu sei, não parece nada. Eu ainda estou escrevendo, não sei se reposicionarei a câmera, estou com preguiça. Para você se situar, a câmera está aqui:

01z-bancada_baguncada-169x300.webp

Essa imagem é de um ambiente do canto da casa, onde mal chega a única luz que estou mantendo ligada agora às 00:25 do dia 28 do mês desse artigo.

Updated

A partir desse parágrafo já é o segundo dia desse artigo, ao qual estou dando continuidade. Com todo o ânimo possível, retomei o artigo, posicionei a câmera "mazomêno" com fita adesiva, liguei a luz da bancade e enviei alguns comandos via v4l2-ctl. Usei esse comando já com streaming rodando, em um outro Raspberry Pi 3 com a câmera v1.3 e surtia efeito em seguida. Gravei meu desktop  para mostrar a streaming, mas não poderei mostrar ajustes com o v4l porque simplesmente os comandos não surtiram efeito. Enfim, é possível fazer um pós-processamento na imagem, mas o ideal é fazer ajustes para que a imagem saia corrigida pela câmera, de forma a reduzir processamento.

Durante  escrita do parágrafo anterior (não digito como um escrivão ouvindo uma narrativa) a streaming mó-rrrrréu, com todos os erres do lado direito. Reiniciei o servidor rtsp e reabri o vlc no meu ultrabook. A causa certamente está ligada ao meu ultrabook que já gastou toda sua memória e toda a swap reservada, mas não pude certificar ainda, então prefiro avisar que "pode ocasionalmente" acontecer uma parada na streaming; teste.

O video para demonstrar o conceito está ao final. Agora vou falar de uma outra coisa interessante; que tal uma lente para grande angular, uma para wide e uma para macro - tudo isso por menos de 8 reais? Ótimo, não? Pois é,  por tão pouco você pode ter esses resultados em sua câmera do Raspberry:

02z-lentes-114x300.webp

 

Bem, não tem muito o que mostrar em meu apartamento, bastante pequeno como você pode ver. Mas se quiser adquirir umas lentes dessas, é só fazer uma busca no mercado livre por "kit lentes celular".

Pra terminar, a imagem está meio horrivel no v4l, mas a imagem da câmera é espetacular, muito provavelmente o problema está no encoder ou no decoder da streaming.

 

Aqui temos um vídeo

  Inscreva-se no nosso canal Manual do Maker no YouTube.

Também estamos no Instagram.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.