Как обеспечить потоковое воспроизведение MP3 с ограниченным доступом через Интернет

Вопрос:

Мне нужно транслировать несколько “каналов” (по каналам, о которых я думаю о радиоканалах, поэтому плейлисты могут быть более уместны) от MP3 файлов в очереди до 200 клиентов через Интернет с веб-сервера Windows 2008 R2/IIS 7. Шифрование потока не является обязательным требованием.

Мне нужен способ, чтобы каждый клиент мог передавать только один канал за раз. Я думал об ограничении по IP-адресу и хотел бы приветствовать любые предложения о том, как я могу это сделать, или если может быть лучший способ.

Для моих клиентов я предполагаю, что мне нужен игрок на стороне клиента, который может облегчить “вход в систему”. В идеале я мог бы передавать потоки в windows xp/7/8, mac и android.

Мне нужно было бы дистанционно войти в систему и управлять каждым каналом/списком воспроизведения из конечного списка файлов MP3, размещенных на веб-сервере.

Мне интересно, есть ли какие-либо продукты с полки, которые я мог бы использовать для этого. Если нет, я зациклился на том, что было бы лучшим способом.

Я кратко прочитал о крике, авто dj, потоке и льду, но у меня нет опыта с этими решениями, и я не могу найти никакой информации о том, как реализовать требования безопасности, которые у меня есть (ограничение доступа к одному поток на клиентский /IP-адрес).

Лучший ответ:

IP-адреса не однозначно идентифицируют пользователей. Существует множество ситуаций, когда NAT вступает в игру, и вы можете иметь сотни пользователей за одним и тем же общедоступным IP-адресом.

Что вам нужно сделать, так это другой метод идентификации пользователей. Предполагая, что вы не хотите требовать учетные записи, вы можете использовать идентификатор сеанса.

В принципе, вы назначаете идентификатор cookie в браузер. Когда пользователь нажимает на ссылку для запуска своего аудиоплеера, идентификатор сеанса передается по URL-адресу в поток. С помощью этого метода не имеет значения, используется ли сам браузер или отдельный аудиоплеер для воспроизведения потока. Для потокового сервера требуется принять или отклонить запрос.

Обычно принято принимать любые новые запросы и отключать старые при запуске нового потока. Icecast не поддерживает подобные вещи, но он предоставляет API-интерфейс с интерфейсом администратора, который вы можете использовать из своих собственных скриптов, чтобы получить это поведение.

Кроме того, я написал сервер под названием AudioPump, который обеспечивает аналогичную функциональность. Он пока недоступен, но, пожалуйста, свяжитесь со мной по адресу brad@audiopump.co, если вы заинтересованы.

Оцените статью
TechArks.Ru
Добавить комментарий