Live do Youtube com Raspberry Pi

Transmita imagens numa live stream no YouTube com Raspberry Pi Zero W Deixe um comentário

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:

Se você não tiver a Raspberry Pi Zero W, fonte e case oficial, uma sugestão é comprar o kit Raspberry Pi Zero W Intermediate.

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:

  1. Primeiramente, encaixe o adaptador de conector da Câmera Raspberry PI na placa. Este adaptador já vem com o case.
  2. 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.
  3. 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.
  4. 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.Raspberry Pi Zero W case e câmera
  5. 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:

  1. 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.Menu Youtube
  2. 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.

Configurações Youtube

 

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.

Montagem do sistema para live stream no youtube com raspberry pi

 

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. Em caso de dúvidas, caso queira trocar uma ideia, ou até mesmo dividir seu projeto, acesse nosso Fórum!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *