Notícias:

Quando arrastar arquivos na lista, mantenha pressionada a tecla Ctrl, o arquivo se copiará ao invés de mover-se.

Main Menu

Transmitir Radio da Internet em AAC+ ou RTMP no ZaraRadio

Iniciado por Cristiano, Setembro 24, 2016, 06:48:16 PM

tópico anterior - próximo tópico

Cristiano

#1
Vou apresentar neste tópico como efetuar a retransmissão de uma Rádio da Internet através do ZaraRadio com um dos protocolos mais utilizados nos dias de hoje, o aacPlus.

O Blá, blá, blá...

O aacPlus por apresentar alta compressão de dados e uma qualidade boa de saída é o formato preferido para transmissões de streaming em geral, independente da velocidade da Internet. Funciona bem desde uma conexão 3G até as novas bandas largas de alta velocidade. Com o Brasil e o resto do mundo voltando décadas no tempo, revivendo problemas antigos com MP3 por causa de acordos comerciais mal resolvidos entre a Adobe, Google, Mozilla, etc... e nós simples mortais perdidos no meio desta briga de gigantes, somos obrigados a aceitar a morte do flash player e aderir aos recursos simples da tag audio do HTML5 mesmo antes de estar completamente implementado sem reclamar como se fosse a panaceia da mídia digital, e assim vamos dando nosso jeito, mas tenha certeza que o aacPlus com RTMP ainda é muito utilizado e não tem concorrente a altura, principalmente no que diz respeito a arquitetura, flexibilidade, extensibilidade, suporte, segurança e confiabilidade.

Citação de: Cristiano de OliveiraEscrevi isso em 2016 agora demos um salto no tempo até os confins de 2021 e vemos as versões mais novas da plataforma Chrome do Google ensaiando usar códigos binários em seus Javascripts, vemos os novos aplicativos PWA usando partes da máquina do navegador para criar aplicativos multiplataforma em html5 e javascript, e perguntamos... não era isso que já estavamos fazendo com flash desde 1996 (descance em paz). Por que esperar mais 5 ou 10 anos para começar a fazer de forma rudimentar a mesma coisa que já faziamos de forma avançada desde o século passado? Ah entendi... mudaram de nome, mudaram de cor, reduziram a gordura saturada e retiraram o sódio e agora é ideia de vocês... parabéns inovadores do século 21. Vou voltar para a câmara criogênica e acordo daqui a 10 anos para ver como as coisas evoluiram. I'll be back

A Necessidade...

Bem vamos ao que interessa, como é sabido, o ZaraRadio só retransmite Rádios da Internet nos formatos MP3, WAV e OGG

Já apresentei outras soluções para retransmissão utilizando o satélite, mas em muitos casos o dispositivo de entrada é utilizado para outras finalidades (ligar um receiver, microfone, etc) ou simplesmente em algumas versões do Windows ele fica desativado inviabilizando soluções através deste recurso.

Precisamos de uma solução que permita utilizar os recursos nativos do ZaraRadio sem complicar a operação da rádio e muito menos criar novas despesas. Então precisa ser uma solução grátis que converta o áudio da Rádio Externa (Internet) em MP3 em tempo real para que o ZaraRadio possa utilizar. Simples né? :)

A Solução...

O nome da solução é VLC Media Player, ele é um reprodutor/tocador e transmissor multimídia de código aberto. Possui suporte a vários formatos de vídeo, como OGM, MPEG1, MPEG-2, MPEG-4, DivX, DVD, VCDs, etc e áudio como OGG, Speex, FLAC, MPC, MP3, WAV e outros.

O VLC parece simples, tem um visual clássico, mas precisaríamos de um bom tempo para explanar sobre todos seus recursos e funções. Você pode instalar através do site ninite.com ou baixar o instalador automático clicando no link https://ninite.com/vlc

A Configuração...

Você precisa do endereço do streaming da Rádio que você quer retransmitir, vamos pegar como exemplo o streaming da Rádio Onda Norte de Portugal



rtmp://rtmp1.cdowebcast.com:1935/15814/15814.stream



Vamos testar no player passo a passo.

Passo 1 - Fluxo

P1.Abra o VLC Media player e acesse a opção Fluxo (Ctrl + S)




Passo 2 - Rede

P2.Clique na guia Rede, cole ou digite o endereço do streaming que você quer capturar e em seguida clique no botão Fluxo, para continuar.




Passo 3 - Fonte

P3.Como você deve ter percebido esse recurso serve para receber streaming de diversas fontes de streaming, até de um vídeo ao vivo para áudio do ZaraRadio é possível, nesta tela apenas confirme os dados digitados e clique em Próximo




Passo 4 - Configuração do Destino

P4.Selecione na lista o novo destino como HTTP e clique no botão Adicionar



...na tela da Configuração do Destino HTTP aparece a porta padrão 8080, caso seu sistema já esteja utilizando esta porta você pode trocar, por exemplo 8088, 8035, 808, 8081, etc. O caminho não precisa alterar, apenas clique no botão Próximo




Passo 5 - Opções de Transcodificação

P5.São vários formatos de saída que o VLC trabalha, em nosso caso o ZaraRadio aceita o MP3 ou Vorbis OGG, escolha Áudio MP3, por padrão o VLC já deixa o transcodificador configurado corretamente, mas...



...se quiser conferir como está configurado, clique no ícone com as ferramentas, como indicado na imagem a seguir...



...confira o bitrate (padrão 128-kbps), stereo (2 canais) e frequência (44.100Hz), você pode testar outros padrões além de diversos filtros, compressores, etc. Mas primeiro vamos fazer funcionar o básico. Salve as suas alterações e clique no botão Próximo novamente




Passo 6 - Configuração de Opções

P6.Neste ponto estamos prontos para fazer a transcodificação, ou seja, converter o streaming de entrada de RTMP/AAC para MPEG/MP3 o padrão que o ZaraRadio reconhece. Então vamos lá... clique no botão Fluxo



CitarNo Windows vai aparecer um aviso do firewall (só na primeira vez) perguntando se você quer liberar essa porta 8080, clique nas caixas onde ele pergunta em quais redes você quer permitir e clique em ok, feito isso o Windows entende que estas portas podem ser utilizadas no seu computador e/ou rede local.

Após clicar no botão Fluxo o VLC demora aproximadamente 10 segundos e começa a transmitir em tempo real para nosso streaming de saída na porta configurada no Passo 4 (padrão 8080).




Passo 7 - Testar no ZaraRadio

P7.Para testar no ZaraRadio vamos adicionar diretamente na playlist uma Rádio da Internet...



...vamos definir um tempo para execução e a fonte de áudio como: http://localhost:8080 ou http://127.0.0.1:8080

CitarObservação: localhost é só um nome para indicar o endereço IP 127.0.0.1, portanto da o mesmo resultado.



Pronto nosso ZaraRadio está retransmitindo a partir de uma rádio da Internet que usa o padrão RTMP/AAC.




Fantático! Mas como eu faço para isso tudo ficar automático no ZaraRadio?


A Brincadeira acabou...

Sabemos que em produção a história é outra, quanto menos precisar da intervenção de um operador melhor, por isso estudando um pouco mais o VLC entendemos porque ele é o preferido dos nerds :)

A partir deste ponto você precisa de algum conhecimento técnico, ajuda do seu amigo nerd ou muita atenção e boa vontade para que tudo funcione corretamente, então, sigam-me os bons!

Vamos criar um arquivo de comando para ativar a retransmissão via VLC disparado por um evento do ZaraRadio usando como base as configurações feitas em nosso teste manual.


Juntando as peças...

A idéia agora é criar um arquivo de comando que seja disparado por um evento do ZaraRadio e que abra o VLC carregando a retransmissão automaticamente e da mesma forma feche a retransmissão e o aplicativo VLC automaticamente ao final do horário programado, voltando a programação normal.

Primeiro, precisamos copiar o caminho completo de onde o VLC está sendo executado, basta clicar com o botão direito do mouse sobre o ícone VLC media player que está na área de trabalho e escolher Propriedades e copiar o conteúdo do Destino:




Então, agora temos tudo que precisamos:


Peça a.O local de onde o VLC está sendo iniciado:


"C:\Program Files\VideoLAN\VLC\vlc.exe"




Peça b.A fonte do streaming:


rtmp://rtmp1.cdowebcast.com:1935/15814/15814.stream




Peça c.A configuração gerada pelo VLC no Passo 6, vamos utilizar a mesma configuração como base para montar nossa linha de comando:


:sout=#transcode{vcodec=none,acodec=mpga,ab=128,channels=2,samplerate=44100}:http{mux=mp3,dst=:8080/} :sout-keep




A linha de comando...

Juntando nossas peças (a + b + c) nossa linha de comando ficou assim:


"C:\Program Files\VideoLAN\VLC\vlc.exe" rtmp://rtmp1.cdowebcast.com:1935/15814/15814.stream :sout=#transcode{vcodec=none,acodec=mpga,ab=128,channels=2,samplerate=44100}:http{mux=mp3,dst=:8080/} :sout-keep vlc://quit --stop-time 3600



* Observe no final da linha de comando adicionei duas opções extras vlc://quit  e  --stop-time 3600. O primeiro comando serve para fechar o VLC ao final da transmissão. No caso de um vídeo ou arquivo MP3 gravado só ele bastaria, mas como fechar se streaming ao vivo não tem fim?

Por este motivo utilizamos o segundo comando --stop-time 3600, esse valor 3600 são os segundos que ele vai transmitir, ou seja, nosso programa tem 1 hora de duração, calculei os segundos assim 60 minutos * 60 segundos = 3600 segundos, ao final desse tempo a transmissão se encerra e o vlc://quit faz seu trabalho.


Salve a linha de comando que montamos em um arquivo com a extensão cmd, por exemplo: stream.cmd

Citação de: AdministradorPara criar este arquivo recomendo o editor Notepad++ que pode ser instalado a partir do site ninite.com ou diretamente através do instalador https://ninite.com/notepadplusplus/


Finalmente, os eventos no ZaraRadio...

No meu caso preciso que o evento seja iniciado às 19 horas com duração de 1 hora, para isso vou criar dois eventos no ZaraRadio, o primeiro vai disparar o arquivo de comando que criamos stream.cmd assim carregamos o VLC configurado com a retransmissão da rádio externa.




O segundo evento vai iniciar a transmissão da nossa Rádio da Internet que está sendo transmitida na porta local 8080 pelo VLC. Lembre-se que existe um delay de mais ou menos 10 segundos na transcodificação do VLC, portanto definimos nosso horário de início no segundo evento com 10 segundos ou mais após o início do primeiro evento.



Tudo montado, programado e funcionando. Agora só esperar o horário do show e aplaudir!

CitarNão entrei em detalhes sobre as opções do evento porque isso você já deve estar cansado de fazer, definir horários, tempo de espera, dias de execução, prioridades, validade, etc


Considerações finais...

O ZaraRadio é muito versátil, não tem a atenção que merece dos desenvolvedores, mas ainda é a solução mais leve, estável e fácil de usar que existe para automatizar transmissões de rádio... e o melhor, totalmente grátis.

Espero que esta solução possa ajudá-lo de alguma forma e caso ainda não seja membro de nossa comunidade ZaraRadio Brasil por favor faça seu registro, divulgue e participe do nosso fórum.

Não importa se você está começando agora ou já é um Jedi do ZaraRadio, consideramos importantes todas as dúvidas e sugestões que nos são apresentadas.

Este tópico considera que você tem a autorização da outra rádio para fazer a retransmissão e não está fazendo um "gato virtual", sempre solicite a autorização da outra rádio antes de retransmitir


Cordialmente,
Cristiano de Oliveira
Comunidade ZaraRadio Brasil

SMF spam blocked by CleanTalk