Integração da API Azuracast no Discourse

Integração da API do AzuraCast no Discourse

Link do AzuraCast https://www.azuracast.com/

Link da API do AzuraCast Swagger UI

O software AzuraCast é uma solução completa de código aberto para operar uma rádio web. Todas as funções são controladas por meio de um navegador, e até mesmo um cliente de streaming totalmente baseado no navegador foi implementado. A automação de rádio está em constante desenvolvimento, e algumas funcionalidades ainda precisam ser aprimoradas, mas o software já pode ser utilizado de forma produtiva.

A estrutura do AzuraCast é baseada em componentes testados e aprovados, e, ao mesmo tempo, busca estar alinhada com o estado atual da arte. A plataforma de streaming Icecast (Shoutcast opcional) e a linguagem de script Liquidsoap são utilizadas para configurar a plataforma de streaming; as transmissões individuais são gerenciadas por meio de uma extensa aplicação web. Para tornar a instalação em todos os sistemas o mais simples possível, todos os componentes são virtualizados em um contêiner Docker. A configuração é reduzida a alguns comandos de linha de comando, e o restante é feito no navegador. Portanto, o AzuraCast deve rodar em todos os sistemas Linux comuns. Plataformas baseadas em ARM, como o Raspberry Pi, atualmente não são suportadas.

Mais diversidade no rádio
O princípio básico da plataforma é a possibilidade de oferecer várias estações independentes, em vez de apenas uma estação de rádio. Dessa forma, é possível operar não apenas um serviço completo de hospedagem, mas também uma rádio web que oferece a paleta musical adequada para cada gosto. Cada estação possui seu próprio perfil e gerencia seus próprios arquivos de música e playlists. Além disso, é possível criar usuários autorizados a transmitir programas ao vivo por meio do web DJ integrado ou de software de streaming tradicional. Configurações extensas, estatísticas e outras ferramentas de administração complementam perfeitamente a interface. Pensamos até mesmo em usuários de tecnologias assistivas, pois toda a interface pode ser operada muito bem com leitores de tela.

Necessidade de melhoria no processo de transmissão
A rotação é configurada por meio de playlists. Na interface do usuário, no entanto, inicialmente não é possível ver os arquivos atribuídos às listas, apenas as configurações e regras de programação, o que pode tornar um pouco confusa a migração de outros sistemas de automação de rádio. Ao editar uma playlist, define-se se ela é baseada em faixas ou em reprodução de URLs, ou seja, conteúdo externo, como mensagens ou programas entregues. Playlists mistas, no entanto, ainda não são possíveis. Por exemplo, um contêiner de mensagens com um arquivo de abertura local, mensagens entregues via URL e um arquivo de encerramento local só seria possível de forma indireta. As playlists na área de arquivos de música são preenchidas com conteúdo. Arquivos individuais ou pastas completas podem ser atribuídos a qualquer número de playlists, de modo que não é necessário fazer upload múltiplo dos arquivos. Novos conteúdos podem ser carregados por meio do navegador. Com grandes volumes de dados, um servidor FTP temporário pode ser configurado no contêiner Docker, mas isso requer intervenção via linha de comando.

O comportamento do Auto-DJ é definido na área de administração de uma estação. Isso mostra que o chamado crossfade, ou seja, as transições entre arquivos individuais, oferece também uma opção inteligente, que leva em consideração o volume das faixas ao fazer a mistura, mas ainda não inclui detecção de silêncio, o que às vezes faz com que as transições entre as músicas pareçam um pouco irregulares. Também não há configurações de fade separadas para diferentes tipos de arquivos. Embora as transições entre músicas possam ser bastante longas, ao transmitir jingles ou faixas de voz, deseja-se pouco ou nenhum fade. Portanto, ainda há muito a ser otimizado aqui. Afinal, o AzuraCast já oferece aos usuários experientes a opção de injetar seu próprio código na configuração do Liquidsoap.

Conclusão
O AzuraCast está em constante desenvolvimento e está sendo atualizado quase diariamente. Mesmo que o software já possa ser utilizado de forma produtiva, produtores de rádio experientes ainda quererão aguardar algumas funcionalidades. Mas, considerando que apenas alguns desenvolvedores principais lideram o projeto, o AzuraCast pode ser observado e, em alguns pontos, até supera produtos comerciais semelhantes. Portanto, vale a pena acompanhá-lo. Graças à instalação simples via Docker, um ambiente de teste para monitorar o progresso pode ser configurado rapidamente.

O desenvolvimento ocorre no GitHub. A equipe também oferece componentes de software individuais para uso em seus próprios projetos, incluindo uma exibição de títulos baseada em PHP para streams Icecast. O site com instruções de instalação e opções de suporte pode ser encontrado em Azuracast.com.

Só resta esperar que o AzuraCast não desapareça como o Airtime apresentado aqui há alguns anos e seu

1 curtida

A integração via API com o AzureCast abrange um escopo de trabalho bastante amplo. Estou assumindo que o tipo de integração que você deseja entre o AzureCast e o Discourse seja um onebox que vincule a uma estação de rádio?

:arrow_up: O qual parece não estar funcionando. Um embed do onebox deveria ser capaz de ter um pequeno player de áudio como este em um tópico do Discourse:

Parece que o AzureCast oferece suporte a embeds:

Páginas Públicas: O AzuraCast inclui páginas públicas embutíveis que você pode integrar à sua página web existente ou usar como base para seu próprio player personalizado.

Portanto, algo assim deveria ser possível, como temos para o SoundCloud:

5 curtidas