Приём радиопотоков
Радиопотоки обычно используют протокол ICY — потоковый протокол, разработанный для интернет-радиовещания. Многие радиостанции используют серверы Icecast или Shoutcast для передачи своего контента. Хотя ICY похож на HTTP, у него есть важные отличия в обработке метаданных и информации о потоке.
Как найти URL радиопотока
Заголовок раздела «Как найти URL радиопотока»Если вы знаете только адрес сайта радиостанции, вы можете найти URL потока с помощью инструментов разработчика в браузере:
- Откройте сайт радиостанции в браузере
- Откройте Веб-инспектор (Инструменты разработчика) и перейдите на вкладку Network
- Включите воспроизведение радио на сайте
- На вкладке Network найдите строку с типом media, у которой размер постоянно увеличивается
- Кликните правой кнопкой мыши по этой строке и выберите Copy → Copy URL

Скопированный URL — это прямой адрес потока, который можно использовать с FFmpeg.
Приём радио с помощью FFmpeg
Заголовок раздела «Приём радио с помощью FFmpeg»Astra не поддерживает протокол ICY напрямую. Однако вы можете принимать радиопотоки через FFmpeg, чтобы преобразовать их в формат, с которым Astra может работать.
Используйте FFmpeg для приёма ICY-потока и вывода его в UDP, который Astra сможет принять:
ffmpeg -i http://radio.example.com:8000/stream -c copy -f mpegts 'udp://127.0.0.1:15001?pkt_size=1316'Затем настройте Astra на приём с этого UDP-адреса:
udp://127.0.0.1:15001Запуск FFmpeg как сервиса
Заголовок раздела «Запуск FFmpeg как сервиса»Чтобы FFmpeg работал постоянно, вы можете настроить его как сервис systemd.
Создайте файл /etc/systemd/system/radio-name.service со следующим содержимым:
[Unit]Description=Forward Radio Name to AstraAfter=network-online.targetWants=network-online.target
[Service]Type=simpleExecStart=/usr/bin/ffmpeg \ -hide_banner -loglevel warning -nostats \ -timeout 5000000 \ -reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5 \ -re \ -i https://radio-stream:7378 \ -c:a copy \ -f mpegts 'udp://127.0.0.1:15001?pkt_size=1316'
Restart=alwaysRestartSec=5
StandardOutput=nullStandardError=journal
[Install]WantedBy=multi-user.targetВ этом файле замените:
- File Name: вместо
radio-name.serviceукажите подходящее имя радиостанции (если у вас несколько сервисов) - Description: измените
Radio Nameна название радиостанции - Stream URL: замените
https://radio-stream:7378на фактический URL потока радиостанции - UDP Port: измените
15001на нужный вам UDP-порт
После создания файла сервиса включите и запустите сервис командой:
systemctl enable radio-namesystemctl start radio-nameЧтобы остановить сервис, используйте:
systemctl stop radio-nameЧтобы отключить автозапуск при загрузке, используйте:
systemctl disable radio-nameНастройка Astra
Заголовок раздела «Настройка Astra»В завершение настройте Astra на приём UDP-потока, добавив новый вход с адресом:
udp://127.0.0.1:15001