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 dizerENABLE=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'.