Я нашел интернет-радиостанцию, но я хотел бы перекодировать ее в Opus 32 Кбит / с, чтобы соответствовать моему безлимитному тарифному плану. Как бы мне этого добиться?
Исходное радио использует MP3 @ 160kbps, что превышает мою неограниченную полосу пропускания данных в 128kbps.
Вам нужен публично достижимый хост, что можно работать на Icecast и хосте (возможно та же машина) для работы процесса reencoder. Учитывая низкую скорость передачи Вы стремитесь, среднее жилое соединение было бы достаточно при управлении общедоступной стороной его. IOW, если Вы находитесь позади CGNAT и не имеете IPv6 или на Вашем домашнем соединении и или на Вашем мобильном устройстве.
сервер
sudo apt install icecast2
/etc/default/icecast2
сказать ENABLE=true
/etc/icecast2/icecast.xml
и изменитесь, все пароли - не вносят другие изменения!systemctl start icecast2.service
кодер
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:bar@yourserver.example.org:8000/test.opus
Последний является просто примером с помощью ffmpeg как транскодер. Я не уверен, насколько стабильный это в наше время. По крайней мере Вы хотели бы перенести его в некоторое время истинный цикл. Другие опции как liquidsoap или ezstream могли быть оценены.
Представление порта Icecast через CPE/Router за пределами этого объема, и 'перенаправление портов' является хорошо затронутой темой в целом. Очевидно, не применяется, если Вы решаете выполнить его 'куда-нибудь в облаке'.