LINUX.ORG.RU

Интернет-радио


0

0

Добрый день!
Не подскажет ли кто ссылочки, где можно почитать подробно о сабже. Интересует больше внутренности: в каком формате идет передача, параметры и прочее. Сразу скажу: требуется написать простенький плеер, отсюда и подобные вопросы. Как захватить, как проиграть и пр. Поиском как-то ничего путного в Сети не нашел...

Ответ на: комментарий от LX

Дык, это что?... Как я понял, это сервер, экспортирующий звук в сеть, и к нему клиент, этот звук играющий. То есть, пара сервер-клиент.
А если я хочу слушать звук не с icecast-сервера, а с того, откуда его слушает, например, виндовый медиа-плеер?... Там уже как, другой протокол совсем?...

Sergeant
() автор топика
Ответ на: комментарий от Sergeant

Виндовый медиаплеер может и с icecast сервера тоже слушать. И винамп (xmms) может. И еще много кто может, я остальные не пробовал.

LX ★★
()
Ответ на: комментарий от Sergeant

icecast - сервер, а клиент, что там есть (ices например), он не играет, а отправляет музыку на сервер, и потом уже все ее могут слушать, тоесть это клиент - источник звука.

LX ★★
()
Ответ на: комментарий от LX

Хорошо, тогда поставим вопрос по другому: может ли ice-клиент слушать не с icecast-сервера? Вот в чем вопрос, мне-то нужно не сервер написать, а клиент...

Sergeant
() автор топика
Ответ на: комментарий от LX

Аааа, вот так... Понятно.
То есть, для написания проигрывателя мне надо ковырять не клиент, а стервер, разобраться, каким макаром он отправляет в Сеть звук, как его потом захватить и проиграть....
Тогда, вроде как, мне проще ковырять исходники какого-нибудь плеера, типа, xmms (или кто там у него такое делает - плагин какой-то?..). Но, исходники ковырять - это хорошо, конечно, а хотелось бы доку какую-нибудь поиметь по этому всему... Я ведь так понимаю, что весь этот процесс как-то стандартизирован, то есть, где-то должне быть описан?...

Sergeant
() автор топика
Ответ на: комментарий от Sergeant

Я не писал подобные проги, просто знаю как радио работает, потому как настраивал этот icecast. А все эти плееры типа xmms и остальных играют без плагинов. Ты например в xmms просто делаешь Add Url, пишешь туда адрес радио и он играет.

LX ★★
()
Ответ на: комментарий от LX

То есть, познания о том, как работает радио - исключительно из настройки icecast? Никакой документации толковой таки нету?...

Sergeant
() автор топика
Ответ на: комментарий от Sergeant

тебе нужно ковырять формат в котором ты собрался забирать с сервера пожатый звук.

А сервера тут не при чем - им совершенно однохуйственно кому отдавать, xmms'у, или wget'у, или вообще браузеру - тебе нужно этот поток декодировать и направить в /dev/dsp, лучше всего начать отсюда:

http://www.xiph.org/ogg/vorbis/docs.html

(ибо ogg vorbis открытый кодек)

anonizmus
()
Ответ на: комментарий от anonizmus

Хорошо, а как узнать, в каком формате сервер будет подавать звук? Это прописано где-то среди хтмл-тегов на странице? Или он как-то об этом сообщит - формат, параметры сжатия и пр. Или я сам ему об этом заявляю. Где все эти вопросы описаны? По форматам сжатия инфы-то хватает, а вот именно об устройстве инет-радио?.. То, что сервера не при чем - понятно, но документации-то нету... Единственный выход получается - ковырять исходники либо серверов, либо плееров, чтоб понять, что вообще там к чему...

Sergeant
() автор топика
Ответ на: комментарий от Sergeant

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

На деле все просто - потому что сервер отдает тебе mime type этого контента - где в 99.99% правильно указано что это такое.

Вообще я так понял - что проблема в не совсем корректной формулировке вопроса, что ты понимаешь под "инет-радио" ?

anonizmus
()

Радио разное бывает. Бывает, работает через HTTP, бывает через RTP, бывает через другие протоколы. В случае если это HTTP, то просто передается mp3 файл. Тип данных определяется при помощи заголовка HTTP Content-Type. В случае RTP в заголовке пакета есть поле, которое указывает тип payload. Есть RFC, в котором все это описано (ищи на rfc-editor.org). Написать плейер элементарно: просто выдераешь все байты относящиеся к контенту и подсовываешь их декодеру. В качестве примера плейера работающего с HTTP можешь смотреть исходники mpg123.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.