Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Лейся песня, или сервер потокового аудио своими руками


Сергей Яремчук

Чтобы покончить с бардаком, нужно возглавить его самому. Если пользователи по утрам, вместо того чтобы работать, выходят в Интернет в поисках новостей, что подчас съедает большую долю трафика, то почему бы не организовать свою ленту новостей на корпоративном сайте, понемногу пользователи привыкнут, и нагрузка на внешний канал уменьшится. Но новости и прочая текстовая информация еще ничего по сравнению с гигабайтами музыки, видео и прочего материала, который хотят протащить в сеть через узкий канал. Можно организовать фильтрацию, установить лимиты, все это иногда помогает, но гигабайты информации, при этом часто одинаковой, все равно собираются на жестких дисках компьютера, затрудняя архивацию.

Сегодня разберемся как создать сервер, который будет транслировать аудиопотоки.

В настоящее время существует достаточно большое количество приложений, позволяющих организовать такую трансляцию. Написаны они на разных языках программирования, работающих под управлением разных операционных систем, отличающихся лицензией, поддерживаемыми форматами и прочими характеристиками. Самый большой список, который мне удалось найти, размещен на странице http://sound.condorow.net/netaudio.html. Наиболее известным решением является использование веб-сервера Apache, модуль и необходимую информацию о настройках которого можно найти по адресам: http://www.tangent.org/mod_mp3 и http://sander.vanzoest.com/apachecon/2001. Другим не менее популярным решением является SHOUTcast от компании Nullsoft, подарившей миру WinAMP. Есть тяжеловес jetCast Server (http://jetaudio.com/download/jetcast.html), поддерживающий большое количество форматов, или простой в настройке и совместимый практически со всеми подобными серверами – AnaloxX SimpleServer:Shout (http://analox.com). Как видите, выбор есть.

В статье мы познакомимся с наиболее популярным Open Source-решением – Icecast (http://www.icecast.org). На данный момент Icecast поддерживает форматы Ogg Vorbis и MP3, при особой необходимости любой другой формат может быть добавлен без проблем, работает под управлением как Windows, так и UNIX-подобных систем, гибок и легок в настройке, имеет толковую документацию, распространяется в исходных кодах.

Кто есть кто

Механизм трансляции аудиопотоков имеет свои особенности, поэтому сначала разберемся, как это работает, и определимся с терминами. Любой сервер аудиопотоков, будь то Icecast или SHOUTcast, предназначен только для трансляции и работы с клиентами, которые подсоединяются, чтобы послушать музыку. Сервер не занимается поиском информации на жестком диске, кодированием и прочим, как это происходит с серверами, занимающимися трансляцией видео. Необходимую информацию ему нужно сначала переслать. Причем есть два варианта. Первый – использовать аналогичный сервер (впрочем, не все серверы на 100% совместимы между собой) в качестве источника информации. Такой сервер называется master relay. Можно забрать весь поток с сервера и перетранслировать его полностью или забрать только часть точек монтирования. Последний вариант также может понадобиться при неполной совместимости серверов. Например, если в качестве мастер-сервера для icecast будет выступать SHOUTcast, то весь поток забрать не получится, необходимо указывать отдельные точки монтирования. Да, что такое точка монтирования? Точка монтирования – это ресурс на сервере, который представляет один поток трансляции. Например, клиент хочет послушать музыку, запустив XMMS, нажимает <Ctrl + L>, вводит http://cal.icecast.net:8630/prog1.ogg (ссылка рабочая) и слушает себе музыку. Параметр cal.icecast.net указывает на сервер, 8630 – на порт, используемый для трансляции (по умолчанию на большинстве серверов – 8000), а prog1.ogg на источник информации, это и есть точка монтирования. Причем если для mp3-потока указывать расширение не обязательно, то для ogg это требуется. Конечно же и наш сервер также может быть источником информации для других slave relay серверов. Такая схема принята по нескольким причинам, чтобы равномерно распределить клиентов, избежать дублирования информации на жестких дисках, не перегружать каналы, ведь проще забрать поток и перетранслировать его самому, чем позволить всем пользователям тащить это в одиночку. Другим источником информации для сервера могут быть так называемые source client или broadcasting tools. Но о них позже.


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100