Идея: ретранслировать интернет-радио на своем сервере для прослушивания через сотовый Интернет, который периодически отваливается.
Хочу создать на сервере буфер эфира минут на 10. При хорошей связи буфер загружается на телефон. При восстановлении хорошей связи буфер на телефоне дополняется или обновляется.
Таким образом хочу получить непрерывное прослушивание интернет-радио, пусть и отстающего на 10 минут от реального эфира.
Подскажите, с помощью каких средств это можно реализовать?
Ретрансляция интернет-радио с задержкой
-
- Неофит
- Сообщения: 4
- Зарегистрирован: 23 окт 2023, 19:59
Re: Ретрансляция интернет-радио с задержкой
погугли за Icecast или Shoutcast: программы для ретрансляции аудиопотоков; там есть возможность создания буфера для задержки вещания
youtube.com/StreamHelp Школа Стримера | youtube.com/StreamGuild стримы | youtube.com/igroglaz обзоры
-
- Неофит
- Сообщения: 4
- Зарегистрирован: 23 окт 2023, 19:59
Re: Ретрансляция интернет-радио с задержкой
Изучил. Возможность создания буфера ни в документации к этим серверам, ни в инструкциях пользователей не нашёл.
Подобное видел в некоторых трансляциях на YouTube. Для своей трансляции YouTube не позволяет создать буфер.
Или я не то ищу?
Подобное видел в некоторых трансляциях на YouTube. Для своей трансляции YouTube не позволяет создать буфер.
Или я не то ищу?
-
- Неофит
- Сообщения: 4
- Зарегистрирован: 23 окт 2023, 19:59
Re: Ретрансляция интернет-радио с задержкой
Нашёл в Icecast параметры burst-size и queue-size.
Увеличил burst-size и соответственно queue-size ( queue-size в 8 раз больше).
Получился поток с отставанием около 2 минут. Это хорошо, к этому стремился.
Отключаю сеть на 10 сек. Включаю снова.
Воспроизведение не реагирует, т.к. проигрывается загруженный буфер. Это тоже хорошо.
Потом по окончанию загруженного буфера происходит следующее: поток перепрыгивает вперёд и воспроизводится в реальном времени.
А я ожидал продолжения отставания потока. Я допускаю какие-нибудь скачки после окончания загруженного буфера из-за произвольной сегментации потока mp3.
Но почему поток стал воспроизводиться в реальном времени?
Увеличил burst-size и соответственно queue-size ( queue-size в 8 раз больше).
Получился поток с отставанием около 2 минут. Это хорошо, к этому стремился.
Отключаю сеть на 10 сек. Включаю снова.
Воспроизведение не реагирует, т.к. проигрывается загруженный буфер. Это тоже хорошо.
Потом по окончанию загруженного буфера происходит следующее: поток перепрыгивает вперёд и воспроизводится в реальном времени.
А я ожидал продолжения отставания потока. Я допускаю какие-нибудь скачки после окончания загруженного буфера из-за произвольной сегментации потока mp3.
Но почему поток стал воспроизводиться в реальном времени?
-
- Неофит
- Сообщения: 4
- Зарегистрирован: 23 окт 2023, 19:59
Re: Ретрансляция интернет-радио с задержкой
Разобрался. Работаем с icecast.
1. Ставим параметр burst_size из расчёта битрейт / 8 * необходимое время.
2. Параметр queue_size выставляем экспериментально, следим, чтобы значение было больше, чем burst_size.
3. Подбираем нормальный проигрыватель, способный проглотить начальный пакет с размером burs_size, а также способный переприсоединяться к серверу. У некоторых всё это опционально, у некоторых это включено по умолчанию и не регулируется.
Спасибо tangar! Воодушевил. Оказалось, что icecast может!
1. Ставим параметр burst_size из расчёта битрейт / 8 * необходимое время.
2. Параметр queue_size выставляем экспериментально, следим, чтобы значение было больше, чем burst_size.
3. Подбираем нормальный проигрыватель, способный проглотить начальный пакет с размером burs_size, а также способный переприсоединяться к серверу. У некоторых всё это опционально, у некоторых это включено по умолчанию и не регулируется.
Спасибо tangar! Воодушевил. Оказалось, что icecast может!
Re: Ретрансляция интернет-радио с задержкой
рад, что у тебя всё получилось. удачи в творчестве!
youtube.com/StreamHelp Школа Стримера | youtube.com/StreamGuild стримы | youtube.com/igroglaz обзоры