Вопрос Перекодировать интернет-радио на более низкий бит?


Я нашел интернет-радиостанцию, но хотел бы перекодировать ее на Opus 32kbps, чтобы поместиться в мой неограниченный план данных. Как я могу это достичь?

Исходное радио использует MP3 @ 160 кбит / с, что превышает мою неограниченную пропускную способность данных 128 кбит / с.


1
2018-05-11 05:52


происхождения




ответы:


Вам нужен общедоступный хост, чтобы вы могли запускать Icecast on и хост (возможно, тот же самый компьютер), чтобы запустить процесс 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 выходит за рамки этой области, а «переадресация портов» - это хорошо освещенная тема в целом. Очевидно, это не применяется, если вы решите запустить его «где-то в облаке».


2
2018-05-11 06:33



Edit: Получил его работу. Есть ли способ передавать метаданные на радио? - dat tutbrus
Я не думаю, что ffmpeg может это сделать. Вы должны посмотреть на одного из других. Вероятно, жидкость может помочь, но может быть не так просто настроить. Однако у них есть некоторые примеры. - TBR