A Raspberry Pi Zero W é uma placa e tanto! Pequena, versátil e com alto poder computacional, trata-se de uma opção muito boa para a grande maioria dos projetos que envolvem sistemas embarcados. Dentre a enorme gama de projetos possíveis de serem feitos, aposto que um deles você dificilmente imaginou que seria possível: fazer uma live stream no Youtube com Raspberry Pi Zero W.
E é justamente isso que este post ensinará: como utilizar uma Raspberry Pi Zero W e uma Câmera Raspberry Pi para transmitir imagens da câmera numa live stream no Youtube.
Material necessário
Para fazer este projeto, você precisará de:
- Uma placa Raspberry Pi Zero W ou Raspberry Pi Zero 2 W funcional (com Raspberry Pi OS instalado e conectividade com a Internet já funcionando) com cartão de memória (mínimo recomendado: 16GB, preferencialmente classe 10)
IMPORTANTE: certifique-se de utilizar a distribuição mais recente do Raspbian. - Uma Camera Raspberry Pi. Pode ser tanto a clássica quanto a NoIR, fica à sua escolha.
- Uma fonte de alimentação 5V / 3A micro-USB
- Um case oficial Raspberry Pi Zero
Se você não tiver a Raspberry Pi Zero 2 W, fonte e case oficial, uma sugestão é comprar o kit Raspberry Pi Zero 2 W Mega.
Primeiro passo: montagem
A primeira coisa a ser feita é montar a Raspberry Pi Zero W e a Câmera Raspberry Pi no case oficial. É algo muito simples, mas deve ser feito com o máximo de cuidado dada a fragilidade dos componentes (sobretudo a Camera Raspberry Pi). Para esta montagem, siga o passo-a-passo abaixo:
- Primeiramente, encaixe o adaptador de conector da Câmera Raspberry PI na placa. Este adaptador já vem com o case.
- Considerando que o cartão micro-SD já está encaixado na Raspberry Pi Zero W, encaixe-o na base do case. Atentar para o posicionamento dos conectores USB e micro-HDMI na base do case.
- O case vem também com três “tampas”: uma sem furação alguma, uma com um furo central e outro com uma cavidade retangular lateral. Pegue a “tampa” com furo central.
- Encaixe a Câmera Raspberry Pi no adaptador e, feito isso, encaixe a câmera na tampa que tem o furo central. O arranjo final deve ser conforme mostrado na figura abaixo.
- Pronto! Agora é só fechar a tampa.
Segundo passo: obtenção de dados de sua conta do YouTube
Agora, será preciso obter dois dados de sua conta no YouTube: a URL para stream (RTMP) e a stream key. Tais informações serão usadas posteriormente neste projeto para que o stream da Câmera Raspberry Pi seja direcionado direto ao YouTube. Portanto, você precisará, obrigatoriamente, ter uma conta no YouTube. Essa conta pode ser obtida totalmente de graça e, se você possui uma conta GMail, já possui uma conta YouTube automaticamente atrelada.
Para obter as informações necessárias, siga o procedimento abaixo:
- Uma vez logado em sua conta do YouTube, vá até o Estudio de Criação. Para isso, clique em sua foto no canto superior direito e depois em Estudio de Criação. Observe a figura abaixo.
- No Estúdio de criação, clique sobre “Transmissão Ao Vivo” no canto esquerdo e, na tela que abrir, obtenha em “Configurações do Codificador” as informações necessárias (URL para stream RTMP e a stream key). Observe a figura abaixo.
IMPORTANTE: copie e guarde estas informações, você precisará delas mais a frente neste projeto.
Pronto! Você já possui todas as informações do YouTube necessárias para fazer a live stream no Youtube com Raspberry Pi.
Terceiro passo: habilitação da Câmera Raspberry Pi
Para habilitar a Câmera Raspberry Pi, sugiro você ler este nosso artigo do blog. Nele, além da explicação de como habilitar a câmera, é explicado em detalhes como utilizar a Câmera Raspberry Pi.
Quarto passo: instalação de pacotes necessários para o streaming
Antes de ir ao streaming das imagens propriamente dito, é necessária a instalação do pacote libav-tools (o qual contém o avconv, fundamental para este projeto). Além disso, é altamente recomendável atualizar as versões dos pacotes instalados atualmente. Para fazer estas ações, execute os comandos abaixo (na ordem em que são apresentados):
sudo apt-get update sudo apt-get upgrade sudo apt-get install libav-tools
Quinto passo: transmissão de imagens para uma live stream no Youtube com Raspberry Pi
Para fazer a live stream no youtube com raspberry pi, serão utilizadas duas aplicações em conjunto: raspivid (para obtenção das imagens da camera) e avconv (para fazer o stream para o YouTube. O comando já combinando as duas aplicações para fazer o stream e os seus parâmetros mais importantes são mostrados a seguir.
Particularidades:
- Atentar para o fato que, para maior qualidade do stream, o tamanho da imagem transmitida é 800×600.
- Se você optar pelo posicionamento do caso na horizontal e com os conectores para baixo (observar figura abaixo), será necessário aplicar rotação de 270 na imagem.
Comando:
raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 -w 800 -h 600 -rot 270 | avconv -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv URL_RTMP/STREAM_KEY
Onde os parâmetros mais importantes são:
- URL_RTMP: define a URL RTMP para fazer o stream no YouTube. Esta URL foi obtida na sessão “Segundo passo: obtenção de dados de sua conta do YouTube” deste post)
- STREAM_KEY: define a chave / stream key para fazer o stream no YouTube. Esta informação foi obtida na sessão “Segundo passo: obtenção de dados de sua conta do YouTube” deste post)
- -w: define a largura da imagem de vídeo a ser transmitida. Como neste caso é desejado que o stream seja de imagens de 800×600, a largura deve ser igual a 800 (-w 800)
- -h: define a altura da imagem de vídeo a ser transmitida. Como neste caso é desejado que o stream seja de imagens de 800×600, a altura deve ser igual a 600 (-w 800)
- -fps: define o número de quadros (ou frames) por segundo (fps) do stream. Para poupar o uso de processamento da Raspberry Pi Zero W, um bom número é 30 (-fps 30)
- -rot: rotaciona as imagens do stream. No posicionamento sugerido na figura 4, é necessário aplicar uma rotação de 270º (-rot 270)
Pronto! Basta executar o comando (não esquecendo de substituir URL_RTMP e STREAM_KEY pelos de sua conta do YouTube) para iniciar o stream. O stream / live (assim como link para compartilha-lo com quem desejar) pode ser visto na parte de transmissão ao vivo do estúdio de criação do YouTube (mesma sessão abordada na sessão “Segundo passo: obtenção de dados de sua conta do YouTube” deste post). Nesta mesma sessão, na parte direita da tela, há o link da live, o qual você pode passar para quem desejar ou utilizar no seu smartphone para acompanhar a live de onde estiver.
Considerações gerais
Segue abaixo algumas considerações gerais sobre este projeto:
- Este projeto transmite apenas as imagens da câmera para o YouTube. Portanto, a captura de áudio não é abordada aqui.
- Assim como uma live feita de qualquer dispositivo (computador ou smartphone, por exemplo), há um delay de alguns segundos entre o que é exibido na live e o momento da filmagem. Este delay está atrelado ao serviço do YouTube, portanto não há meios de otimizarmos isso.
- Todas as lives ficam gravadas em seu canal YouTube. Entretanto, o tempo máximo de gravação é de 12h (lives maiores que isso terão somente as primeiras 12h gravadas).
Usos para este projeto
Fazer uma live stream no Youtube com Raspberry Pi permite vários usos, entre eles:
- Câmera remota de segurança: se você colocar a live como não listada ou privada, você poderá utilizar este projeto como uma câmera remota de segurança, podendo acompanhar de qualquer lugar as imagens obtidas.
- Vigilância e monitoramento de pets: se você, assim como eu, tem animais de estimação, com certeza já pensou em como monitorá-los quando estiver fora de casa, seja por saudades de seu pet ou seja pelo fato do animal de estimação ser “arteiro” demais. Com este projeto, isto pode ser feito sem problema algum.
- Câmera de monitoramento de robôs: pode ser um projeto muito útil a ser aplicado em robôs de inspeção de tubulações, por exemplo.
Aqui, o céu é o limite. O projeto se encaixa em praticamente em quaisquer situações onde uma live stream no YouTube com Raspberry Pi é uma boa ideia.
Gostou deste post sobre como fazer uma live stream no Youtube com Raspberry Pi Zero W? Deixe seu comentário logo abaixo.