ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

Онлайн радио на VPS

 

888
Falcon @Falcon
Устанавливать ices 2 раза не надо.
Надо создать 2 (или более) конфиг-файлов и при запуске просто менять к ним путь.
То есть:
#ices -c ices1.conf
#ices -c ices2.conf
и т.д.
======
Что касается русских песен, но надо "крутить" кодировку в icecast на маунте.

22
macgim @macgim
Falcon пишет:


Что касается русских песен, но надо "крутить" кодировку в icecast на маунте.


меня интересует именно схема передачи названия и ее получения. например мне на нужной странице нужно вывести это название

Отредактировано macgim - 19.06.2014
888
Falcon @Falcon
Тянуть скриптом с icecastа и выводить. На PHP вариантов масса, самое простое - через file_get_contents

22
macgim @macgim
Falcon пишет:

Тянуть скриптом с icecastа и выводить. На PHP вариантов масса, самое простое - через file_get_contents


можно пример

888
Falcon @Falcon

<?php
//LIVE STREAM
$data=file_get_contents("http://s3.radioheart.ru:8005/status2.xsl?mount=/live");
$data=explode(",",$data);
if(($data[14]=='')OR(strlen($data[14])<2))
{
//NONSTOP
$data=file_get_contents("http://s3.radioheart.ru:8005/status2.xsl?mount=/nonstop");
$data=explode(",",$data);
}
$stream_title=$data[14];
//Если сайт в кодировке windows-1251 (cp-1251), раскомментируйте следующую строчку
//$stream_title=iconv("UTF-8","WINDOWS-1251",$stream_title);
$stream_description=$data[16];
$listeners=$data[15];
$mlisteners=$data[19];
$song=$data[17];
$image='';
//Если сайт в кодировке windows-1251 (cp-1251), раскомментируйте следующую строчку
//$song=iconv("UTF-8","WINDOWS-1251",$song);
// Выводим данные
echo "<div id='radiostat'>";
echo "Название потока: $stream_title<br />";
echo "Описание потока: $stream_description<br />";
echo "Слушателей: $listeners<br />";
echo "Сейчас в эфире: $song<br />";
echo "</div>";
?>

22
macgim @macgim
Falcon пишет:

Устанавливать ices 2 раза не надо.
Надо создать 2 (или более) конфиг-файлов и при запуске просто менять к ним путь.
То есть:
#ices -c ices1.conf
#ices -c ices2.conf
и т.д.
======


А как указать путь к нужному perl скрипту

22
macgim @macgim
sub ices_get_next {
return $music;
}


Что нужно передавать в переменную $music?

Я передал полный путь к mp3 файлу и получил

Logfile opened
Initialization of playlist handler failed. [This binary has no support for embedded perl]
Ices Exiting...

Отредактировано macgim - 29.06.2014
6245
Тарас @tarasian666
путь к скрипту не указывается, только название, скрипт надо ложить в /etc/ или /usr/local/etc/ если не ошибаюсь и с расширением pm а в конфиге без расширения

в $music путь к mp3 файлу

22
macgim @macgim
tarasian666 пишет:

путь к скрипту не указывается, только название, скрипт надо ложить в /etc/ или /usr/local/etc/ если не ошибаюсь и с расширением pm а в конфиге без расширения

в $music путь к mp3 файлу


Прошу прощение это уже решил.. неверное имя было скрипта + не было поддержки perl

Пока что запустилось..спасибо

Отредактировано macgim - 29.06.2014
22
macgim @macgim
А как можно сделать разный битрейт?

выдел в файле конфигурации ices есть возможность писать нужный битрейт, но как сделать что бы можно было менять?

Пришло в голову создать дополнительные файлы ices с разными битрейтамы..

битрейт то будет разный но на каждом потоке будет разная музыка.. это как то решается?

6245
Тарас @tarasian666
это решается перекодировщиком или другим клиентом вещания где можно задать несколько потоков одного стрима, но если следующий трек скрипт берет из одного источника то музыка будет та же самая, главное чтоб все ices запускались одновременно

22
macgim @macgim
tarasian666 пишет:

это решается перекодировщиком или другим клиентом вещания где можно задать несколько потоков одного стрима, но если следующий трек скрипт берет из одного источника то музыка будет та же самая, главное чтоб все ices запускались одновременно



Не думаю что рандом будет получаться везде один и тот же

6245
Тарас @tarasian666
смотря что отвечает за рандум, у меня это делает отдельный скрипт и пихает адрес к файлу в базу, а оттуда его уже берет клиент вещания, правда он оповещает если доиграл и только тогда в базу суется следующий трек. Но у меня не ices, хотя и с ним можно организовать

22
macgim @macgim
tarasian666 пишет:

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


Рандом отвечает за выбор трека

6245
Тарас @tarasian666
что отвечает за рандум
а не за что отвечает рандум

22
macgim @macgim
tarasian666 пишет:

что отвечает за рандум
а не за что отвечает рандум


Мне не понятна суть вопроса

6245
Тарас @tarasian666
если используется perl то рандум указаный в конфиге ices не работает, каким будет следующий трек будет отвечать скрипт, как напишите так и будет рандумить

22
macgim @macgim
tarasian666 пишет:

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


Мы о разном говорить начали.

Скрипт perl работает, в том числе и рандом, (рандомно берется адрес трека с БД). Мне бы узнать как для одного потока разный битрейт сделать?

6245
Тарас @tarasian666
Мы говорим об одном и том же, только вы не слушаете. Сделайте чтоб за рандом отвечал другой скрипт который в базу вносит в отдельную таблицу адрес следующего трека, тогда ices (каждый) через perl будет брать тот рандумный трэк. Это для варианта с несколькими ices разного битрейта.
А можно ставить transcoder который будет перекодировать 1 поток в несколько. Но это проект закрыт и сама программа может глючить.
Еще вариант использовать liquidsoap это как минимум 2 в одном.
Выбирайте что вам будет под силу сделать.

888
Falcon @Falcon
А что мешает сделать в конфиге ices несколько секций <stream>?

<Stream>
<Server>
<Hostname>127.0.0.1</Hostname>
<Port>8000</Port>
<Password>hackme</Password>
<Protocol>http</Protocol>
</Server>
<Mountpoint>/nonstop</Mountpoint>
<Name>TEST_FM</Name>
<Genre>New_Age</Genre>
<Description>NONSTOP</Description>
<URL>radioheart.ru</URL>
<Public>0</Public>
<Bitrate>64</Bitrate>
<Reencode>1</Reencode>
<Channels>2</Channels>
</Stream>

Отредактировано Falcon - 06.07.2014