Streaming de vídeo com a Raspberry Pi 3 no Ustream.tv

Ustream.tv

Este artigo mostra como fazer streaming de vídeo com a Raspberry Pi 3 no site Ustream.tv, a partir de uma webcam comum.

Projeto

A Raspberry Pi 3 é uma das Single-Board Computer mais populares existentes. Com ela é possível fazer muitos projetos, dos mais simples aos mais complexos. Considerando a versatilidade desta SBC, será feito um projeto de streaming de imagens de uma webcam comum ao site Ustream.tv, de modo que o streaming possa ser visto de qualquer lugar do planeta. Este projeto pode ter múltiplas aplicações, desde segurança residencial, monitoramento de animais de estimação e até mesmo monitoramento de processos industriais.

Como ponto importante deste projeto, destaca-se o uso de uma webcam comum (custo aproximado: R$35,00), o que apresenta um custo muito inferior em relação à camera oficial da Raspberry Pi (aproximadamente R$180,00).

Recursos necessários

  • Raspberry Pi 3 (de preferência, sem ser headless);
  • Webcam USB comum;
  • Conectividade com a Internet.

Canal no Ustream.tv

O Ustream.tv é uma plataforma de streming muito popular. Dentre os motivos da sua popularidade, destacam-se a possibilidade de utilizá-la de forma totalmente grátis e a facilidade de uso. Para o projeto deste artigo, será necessário criar uma conta e um canal no Ustream.tv, além de obter uma URL para streaming e chave de autenticação para a mesma. Para isso, siga os passos:

  1. Acesse o site www.ustream.tv;
  2. Criar uma conta no site.
    Quando for solicitado para escolher o plano / pricing, selecione o free (grátis);
  3. No final do processo de cadastro da conta, será solicitado para ser criado um canal. Dê o nome que desejar ao mesmo, e selecione a opção para torná-lo público;
  4. Uma vez logado na sua conta, vá em “Channel Settings”. Lá, clique no nome do seu canal;
  5. Na tela de configurações do canal, clicar na opção “Broadcast settings”. Na tela que abrir, clique na opção “View” localizada ao lado de “Encoder settings”;
  6. Na página que abrir, será exibida a URL RMTP e a chave de acesso / chave de streaming. Guarde estas informações, estas serão fundamentais no decorrer do projeto.

Instalações e procedimentos – passo-a-passo

Para ser realizado o streaming da forma desejada (diretamente para um canal do site Ustream.tv), é necessária a instalação de alguns programas e codecs. Para isso, siga os passos:

  1. Plugue a webcam em qualquer entrada USB da Raspberry Pi 3;
  2. Abrir o terminal / console;
  3. Executar os seguintes comandos:

    La listagem exibida, verifique se a webcam aparece na listagem (irá aparecer como video0).

  4. Atualização do repositório e instalação do fswebcam:

Para isto, utilize os seguintes comandos:

Feito isso, é hora de testar se a webcam está funcionando. Para isto, vá a alguma pasta que você tenha pleno acesso e digite o seguinte comando:

Após a execução do comando, será salvo no arquivo FotoTeste.jpg uma “foto” tirada pela webcam. Verifique se a imagem está ok / bem visível (se não estiver, há alguma incompatibilidade de sua câmera especificamente com o Raspbian, já se estiver ok, pode-se prosseguir neste passo-a-passo).

5. Instalação do codec H264

Este codec é um dos principais exigidos no streaming de imagens. Portanto, é importante tê-lo instalado. Para instalá-lo, utilize os seguintes comandos:

O processo todo demora bastante (na ordem de algumas dezenas de minutos, dependendo da velocidade de sua conexão à Internet).

6. Instalação do FFMPEG

O FFMPEG é uma ferramenta que permite fazer captura de vídeo a partir de uma webcam, seja uma captura local (salvar vídeo em um arquivo na Raspberry Pi) ou para streaming (o uso que faremos neste artigo). Esta ferramenta precisa ser baixada, compilada e instalada. Para isto, utilize os seguintes comandos:

Trata-se de um processo que demora horas (no meu caso, durou cerca de tres horas e meia) e exige muito processamento da Raspberry Pi. Portanto, recomendo fortemente fazer este procedimento com a  Raspberry fora do case (ou utilizar um case com cooler). A título de curiosidade, monitorei on-line a temperatura da Raspberry Pi (utilizando este projeto aqui) e constatei picos de temperatura de 74 graus Celsius nos núcleos ARM (algo bem relevante para a temperatura dos cores de um SoC).

7.  Instalação do AVCONV

 
O AVCONV trata-se de uma ferramenta que, utilizada em conjunto com o FFMPEG, permite fazer o streaming de imagens da webcam com uma série de parametrizações (resolução, framerate, encoding, etc.). Para sua instalação, utilize o seguinte comando:

8. Hora de fazer o Broadcast!

Chegou a hora mais esperada: fazer o streaming! Para isto, utilize o seguinte comando:

Onde:

  • <RMTP_URL>: URL RMTP do seu canal, obtida anteriormente no procedimento deste artigo;
  • <CHAVE_STREAMING>: chave streaming do seu canal, obtida anteriormente no procedimento deste artigo.

Feito isso, o streaming irá ser iniciado. Basta agora entrar no seu canal do Ustream.tv a partir de qualquier dispositivo (computador, tablet ou smartphone) e assistir ao streaming ao vivo!

Para interromper o streaming, pressionar Ctrl +  C.

Referências

Website | Veja + conteúdo

Sou engenheiro eletricista formado pela Faculdade de Engenharia de Guaratinguetá (FEG - UNESP) e trabalho com Android embarcado em Campinas-SP.
Curioso e viciado em tecnologia, sempre busco me aprimorar na área de sistemas embarcados (modalidades bare-metal, RTOS, Linux embarcado e Android embarcado).

Para mais informações, acesse minha página no Facebook:https://www.facebook.com/pbertoleti

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Comentários:
Notificações
Notificar
guest
9 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
marcoocram
marcoocram
19/04/2020 19:23

bom estava pensando se seria fazer isso com áudio somente áudio .tipo da entrada analógica pra saída pra um servidor tipo esse que usou só que um de áudio com chave de aceeso e tudo. bastando somente a placa processar o audio que ela recebe em acc plus (ACC+) e mandando pra um servidor soutcast ou icecast e ambos . SERIA isso possível?

Pinheiro Filho
Pinheiro Filho
13/12/2019 16:41

Parabéns pela excelente exposição.sou do ramo de radiodifusão mas o UStream,Tv mudoi muitas coisas: só agora vi seu trabalho portanto logo lo farei pesquisa a respeito pois preciso disso. Mais uma vez receba os meus parabéns!

Ricardo Farias
Ricardo Farias
19/09/2017 11:58

Pedro, teve latência?

Edgar Dos Reis
Edgar Dos Reis
19/09/2016 12:55

Muito bom o artigo! Parabéns!
Saberia me dizer se é possivel também nas placas B e B+ além da Raspberry 3?

Moises Santana Pereira
Moises Santana Pereira
24/08/2016 23:21

Parabéns pelo artigo Pedrão!

Pedro Henrique Bertoleti
phfbertoleti
Reply to  Moises Santana Pereira
25/08/2016 20:30

Moises, muito obrigado!

Thiago Lima
23/08/2016 11:28

Pedro, qual e’ a camera utilizada nesse post?
Parabens pelo post, parece muito pratico.

Pedro Henrique Bertoleti
phfbertoleti
Reply to  Thiago Pinheiro Felix da Silva
24/08/2016 00:19

Thiago, boa noite.

Primeiramente, obrigado pela leitura e pelo elogio. A câmera utilizada foi, literalmente, uma “câmera genérica”. Nem marca ela tem (paguei 30 reais nela). Ou seja, isso mostra que câmeras simples e baratas podem ser muito úteis em projetos de visão computacional e afins na Raspberry Pi.

Atencioisamente,
Pedro Bertoleti

Thiago Lima
Reply to  phfbertoleti
24/08/2016 23:37

Puxa Vida, que legal! 🙂

Talvez você goste:

Séries

Menu