Transmissão de vídeo com uma Raspberry Pi Zero W - Fazedores
Transmissão de vídeo com Raspberry…
Neste tutorial iremos mostrar a possibilidade de realizar streaming ou transmissão de vídeo com uma Raspberry Pi Zero W usando o MJPG-streamer, onde você poderá visualizar o vídeo de sua Raspberry Pi em tempo real através de um navegador web ou programa como o VLC. Esse é um projeto bem interessante se vocẽ quer ter uma câmera IP em sua residência ou implementar sistemas de segurança por vídeo.
Para este tutorial é interessante que você tenha alguns conhecimentos básicos sobre Linux embarcado, como comandos de terminal.
Montagem da câmera na Raspberry Pi
Na loja FILIPEFLOP você encontra as câmeras da Raspberry Pi. Ambas as câmeras já vem com um cabo flat para conexão com o modelo 3. Se você deseja utilizar as câmeras com a Zero W, vendemos a case oficial da Raspberry Pi Zero que acompanha um cabo flat adaptado. Basta conectar a câmera como na figura abaixo.
Sobre o MJPG-streamer
MJPG-streamer é uma aplicação que "lê" arquivos JPG de webcams compatíveis com Linux-UVC e faz um streaming desses arquivos em formato M-JPEG através do protocolo HTTP. Esse streaming pode ser visto em navegadores Web, VLC e outros softwares. Foi um programa originalmente desenvolvido para dispositivos embarcados com recursos de RAM e CPU bem limitados. É um programa sucessor do UVC-streamer, também uma aplicação para streaming de dispositivos compatíveis Linux-UVC.
Após instalado o MJPG-streamer, e com ajuda de alguns scripts de inicialização, será possível visualizar o vídeo da câmera da sua Raspberry Pi em tempo real através do navegador. Veja abaixo como instalar o MJPG-streamer.
Instalando o MJPG-streamer
Acesse o sistema de sua Raspberry Pi seja via monitor HDMI ou via terminal SSH e clone o repositório abaixo na pasta /home/pi do sistema Raspbian.
Esse repositório é na verdade um fork do projeto original com adição ao suporte a câmera da Raspberry Pi.
Então inicie a compilação.
Utilizando o MJPG-streamer
Após a compilação você deve notar que temos um binário chamado mjpg_streamer e também alguns plugins .so dentre eles o input_raspicam.so e output_http.so.
Antes de executar o MJPG-streamer, certifique-se de que sua Raspberry está conectada a uma rede Wi-Fi e que a interface de câmera está configurada no raspi-config. Para executar o MJPG-streamer com a câmera da Raspberry Pi utilize os comandos abaixo.
Se tudo ocorrer bem o terminal deverá exibir algo do tipo:
Agora abra um navegador e acesse o IP da sua Raspberry Pi na porta 8080. Você deverá ver a página de boas vindas do MJPG-streamer.
Clique na aba Stream onde você poderá ver o vídeo em tempo real. Você também pode ver o link direto para o vídeo clicando em here como mostrado na imagem abaixo:
É possível selecionar a resolução, FPS e qualidade de vídeo como mostrado no comando abaixo:
./mjpg_streamer -o "output_http.so -w ./www" -i "input_raspicam.so -fps 15 -x 640 -y 480 -quality 35"
Também é possível utilizar o programa VLC para visualizar o vídeo. Abra o VLC e selecione o menu Open Network Stream…
Insira o link direto, já visto acima, no campo de texto e clique em Play. O stream de vídeo deve iniciar logo em seguida.
Automatizando o Streaming de vídeo com Systemd
Vamos automatizar os comandos vistos acima utilizando systemd e shell script para que o streaming se inicialize logo após o sistema da Raspberry pi iniciar.
Crie um arquivo de nome start-camera.service com o conteúdo abaixo e coloque-o na pasta /lib/systemd/system
Description=MJPEG-streamer
ExecStart=/home/pi/start-camera.sh
Crie um outro arquivo de nome start-camera.sh com o conteúdo abaixo e coloque-o na pasta /home/pi.
mjpg_streamer -o "output_http.so -w ./www" -i "input_raspicam.so -fps 15 -x 640 -y 480 -quality 35"
Não se esqueça de tornar o arquivo executável.
chmod +x start-camera.sh
Ative o e inicie o serviço com os comandos abaixo:
sudo systemctl enable start-camera.service
sudo systemctl start start-camera.service
Pronto! Agora sempre que a Raspberry Pi iniciar, o streaming de vídeo já estará disponível automaticamente.
Com isso você pode integrar os conceitos vistos neste tutorial com Node.js, HTML e criar sua própria interface de uma câmera IP.
Quer aprender ainda mais sobre Raspberry Pi? Acesse nossos outros conteúdos aqui :)
Categoria: UncategorizedPor Giovanni Bauermeister 20 de julho de 2018 1 Comentário
AnteriorPost anterior:Braço robótico controlado pela mentePróximoPróximo post:Copa do Mundo de Robôs Autônomos
19 de setembro de 2019 em 11:52
Eu pretendo fazer este projeto, cujo o objetivo é transmitir o vídeo em um celular ou tablet, ou mesmo outra Raspberry com display. Porém, na aplicação que vou usar, estarei isolado, no meio da Floresta Amazônica, e sem internet…
Se eu criar um servidor através de um roteador ou mesmo uma ESP32, outra Raspberry ou qualquer microcontrolador com sistema embarcado, eu consigo realizar a transmissão de vídeo?