Re-codificar o rádio da internet para uma taxa de bits menor?

1

Eu encontrei uma estação de rádio na internet, mas eu gostaria de re-codificá-la para o Opus 32kbps para caber no meu plano de dados ilimitado. Como eu conseguiria isso?

O rádio de origem usa MP3 @ 160kbps, que está acima da minha largura de banda ilimitada de dados de 128kbps.

    
por dat tutbrus 11.05.2018 / 07:52

1 resposta

2

Você precisa de um host que possa ser acessado publicamente para executar o Icecast e um host (possivelmente a mesma máquina) para executar o processo de reencoder. Dada a baixa taxa de bits que você está procurando, uma conexão residencial média seria suficiente, se você controlar o lado público dela. IOW se você estiver por trás de um CGNAT e não tiver IPv6 em sua conexão doméstica ou em seu dispositivo móvel.

servidor

  • sudo apt install icecast2
  • edite /etc/default/icecast2 para dizer ENABLE=true
  • edite /etc/icecast2/icecast.xml e mude todas senhas - não faça outras alterações!
  • systemctl start icecast2.service

codificador

  • sudo apt install ffmpeg
  • ffmpeg -re -i http://origin.example.com/stream.mp3 -c:a opus -b:a 32k -application audio -vbr on -content_type application/ogg icecast://source:[email protected]:8000/test.opus

O último é apenas um exemplo usando o ffmpeg como o transcodificador. Não tenho certeza de quão estável é hoje em dia. No mínimo, você gostaria de envolvê-lo em um loop verdadeiro. Outras opções como liquidsoap ou ezstream podem ser avaliadas.

A exposição da porta Icecast através de um CPE / Roteador está fora deste escopo e o 'encaminhamento de porta' é um tópico bem coberto em geral. Obviamente, não se aplica se você decidir executá-lo 'em algum lugar na nuvem'.

    
por TBR 11.05.2018 / 08:33