HLS-потоки на нашей платформе интернет-радио

HTTP Live Streaming (HLS) - это протокол адаптивной потоковой передачи, разработанный Apple. Он работает путём разделения аудиопотока на небольшие чанки (сегменты) формата .ts (MPEG-TS), обычно по 2–10 секунд, и доставки их через стандартный HTTP (или HTTPS). Основной плейлист (.m3u8) динамически перечисляет доступные варианты потока (например, 64 кбит/с, 128 кбит/с, 256 кбит/с), позволяя проигрывателям в реальном времени переключаться между качествами в зависимости от скорости соединения.

✅ Преимущества HLS

  • Адаптивный битрейт: слушатели автоматически получают лучшее качество, которое поддерживает их соединение.
  • Совместимость с сетями: использует стандартный HTTP(S), поэтому работает везде - включая мобильные сети и корпоративные сети с ограничениями.
  • Масштабируемость: легко раздаётся через CDN и обычные веб-серверы.

⚠️ Недостатки HLS

  • Задержка: из-за разбивки на чанки и буферизации HLS обычно добавляет 10–30 секунд задержки, что делает его непригодным для интерактивной трансляции в реальном времени.
  • Нет статистики слушателей в реальном времени: в отличие от Icecast или SHOUTcast, HLS раздаётся так же, как обычные файлы через HTTP - невозможно точно подсчитать количество одновременных слушателей или отслеживать, кто именно слушает.
  • Ограничения геоблокировки: поскольку HLS-чанки раздаются как статические файлы, традиционные методы геоограничений по IP-адресу на уровне потока не работают в нашей системе.

Разъяснение распространённых заблуждений

Многие путают два типа плейлистов .m3u:

  • Статический плейлист: простой список отдельных независимых потоков (например, http://radio.ru:8080/stream_128, http://radio.ru:8080/stream_128).
  • Настоящий HLS: живой поток, разбитый на временные сегменты (чанки) с поддержкой динамического переключения качества.

Наша панель управления использует именно правильный, стандартный HLS - стрим разбивается на короткие фрагменты, скачивающиеся параллельно, а не просто перечисляет потоки радио в статическом списке.


Кроме того:

  • Потоки MP3 и AAC разделены: вы получаете отдельные HLS-ссылки для MP3 и AAC - они никогда не смешиваются.
  • Несколько серверов Icecast/SHOUTcast? Если у вас запущено несколько энкодеров или серверов с разными битрейтами (например, 64, 128, 256 кбит/с), наша система объединяет их в одну HLS-ссылку. Проигрыватель автоматически выбирает наилучший поток в зависимости от доступной пропускной способности.

Такой современный подход обеспечивает широкую совместимость - особенно на iOS, Android и веб-проигрывателях - и при этом даёт плавное и адаптивное аудиовоспроизведение.