ОсновноеRadiotalkПользовательское
Технологии вещания, софт, скрипты
6   •   Посмотреть все темы

Скрипты для Icecast

 

34
Артём @Artyom_Glazunov
Странно, ничего не понимаю... Не выводится, хоть убейте

888
Falcon @Falcon
У хостера сайта может стоять запрет на функцию file_get_contents.
Самое банальное, проверить, что хоть какие-то данные приходят:

<?php
$fl = file_get_contents('http://radio.tehmir.com.ua:8000/status.xsl?mount=/tech_radio');
echo $fl;
?>

24
Мишутка @Мишутка
транслит у кого проблема с кодировкой кому интересно:
$replace =
array (
'à' => 'а',
'á' => 'б',
'â' => 'в',
'ã' => 'г',
'ä' => 'д',
'å' => 'е',
'¸' => 'ё',
'æ' => 'ж',
'ç' => 'з',
'è' => 'и',
'é' => 'й',
'ê' => 'к',
'ë' => 'л',
'ì' => 'м',
'í' => 'н',
'î' => 'о',
'ï' => 'п',
'ð' => 'р',
'ñ' => 'с',
'ò' => 'т',
'ó' => 'у',
'ô' => 'ф',
'õ' => 'х',

'ö' => 'ц',
'÷' => 'ч',
'ø' => 'ш',
'ù' => 'щ',
'ú' => 'ъ',
'û' => 'ы',
'ü' => 'ь',
'ý' => 'э',
'þ' => 'ю',
'ÿ' => 'я',


'À' => 'А',
'Á' => 'Б',
'Â' => 'В',
'Ã' => 'Г',
'Ä' => 'Д',
'Å' => 'Е',
'Æ' => 'Ж',
'Ç' => 'З',
'È' => 'И',
'É' => 'Й',
'Ê' => 'К',
'Ë' => 'Л',
'Ì' => 'М',
'Í' => 'Н',
'Î' => 'О',
'Ï' => 'П',
'Ð' => 'Р',
'Ñ' => 'С',
'Ò' => 'Т',
'Ó' => 'У',
'Ô' => 'Ф',
'Õ' => 'Х',
'Ö' => 'Ц',
'×' => 'Ч',
'Ø' => 'Ш',
'Ù' => 'Щ',
'Ú' => 'Ъ',
'Û' => '?Ы',
'Ü' => 'Ь',
'Ý' => 'Э',
'Þ' => 'Ю',
'ß' => 'Я',
'¨' => 'Ё',

'à' => 'а',
'á' => 'б',
'â' => 'в',
'ã' => 'г',
'ä' => 'д',
'å' => 'е',
'¸' => 'ё',
'æ' => 'ж',
'ç' => 'з',
'è' => 'и',
'é' => 'й',
'ê' => 'к',
'ë' => 'л',
'ì' => 'м',
'í' => 'н',
'î' => 'о',
'ï' => 'п',
'ð' => 'р',
'ñ' => 'с',
'ò' => 'т',
'ó' => 'у',
'ô' => 'ф',
'õ' => 'х',
'ö' => 'ц',
'÷' => 'ч',
'ø' => 'ш',
'ù' => 'щ',
'ú' => 'ъ',
'û' => 'ы',
'ü' => 'ь',
'ý' => 'э',
'þ' => 'ю',
'ÿ' => 'я',

'À' => 'А',
'Á' => 'Б',
'Â' => 'В',
'Ã' => 'Г',
'Ä' => 'Д',
'Å' => 'Е',
'¨' => 'Ё',
'Æ' => 'Ж',
'Ç' => 'З',
'È' => 'И',
'É' => 'Й',
'Ê' => 'К',
'Ë' => 'Л',
'Ì' => 'М',
'Í' => 'Н',
'Î' => 'О',
'Ï' => 'П',
'Ð' => 'Р',
'Ñ' => 'С',
'Ò' => 'Т',
'Ó' => 'У',
'Ô' => 'Ф',
'Õ' => 'Х',
'Ö' => 'Ц',
'×' => 'Ч',
'Ø' => 'Ш',
'Ù' => 'Щ',
'Ú' => 'Ъ',
'Û' => 'Ы',
'Ü' => 'Ь',
'Ý' => 'Э',
'Þ' => 'Ю',
'ß' => 'Я',
);

echo strtr($song,$replace);

120
Александр @Aleksandr_Boyko
а есть скрипт который будет выводить без php

71
удалён @Djenigma
Добрый вечер. Извините если не тут тему создал. Новую создавать не актуально.
Смотрел видимо плохо тут на форуме. Но не нашел. Дело вот в чем. Имеется радио радиохерцт
Но нет скрипта на вывод ведущего эфира То есть есть нашел тут у вас. Но опять же я не силен в php
Сайт у меня написан на html и css сам скрипт хотелось бы приоброзавать его что бы выходил трек и ведущий радио эфира.
<font color="9db1cc"><?php
error_reporting(0);
header("Content-Type: text/html; charset=windows-1251");

function antara($string, $start, $end){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}

$fl = file_get_contents("http://radioheart.ru:8000/status.xsl?mount=/mp3");

$rj = antara($fl,"<td>Stream Title:</td>\n<td class=\"streamdata\">","</td>");

if($rj == "0" or $rj == ""){
echo "<img src='http://адрес вашего сайта где будет находиться картинка на нонстоп/nonstops.jpg'>";
$fl = file_get_contents('http://ultradio.ru/radiostat.php/status.xsl?mount=/mp3');
}else
{
switch ($rj) {


case "НИК ВЕДУЩЕГО Прописывать как в сам броткасте ":
echo "<img src='http://адрес к картинке ведущего' wight=100%>";
break;

case "НИК ВЕДУЩЕГО Прописывать как в сам броткасте ":
echo "<img src='http://адрес к картинке ведущего' wight=100%>";
break;
}
}
$stream = antara($fl,"<td>Stream Title:</td>\n<td class=\"streamdata\">","</td>");

$description = antara($fl, "<td>Stream Description:</td>\n<td class=\"streamdata\">", "</td>");

$listeners = antara($fl, "<td>Current Listeners:</td>\n<td class=\"streamdata\">", "</td>");

$max = antara($fl, "<td>Peak Listeners:</td>\n<td class=\"streamdata\">", "</td>");

$song = antara($fl, "<td>Current Song:</td>\n<td class=\"streamdata\">", "</td>");

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

echo "<br>В эфире <b>".$stream."</b> <br>Слушает - ".$listeners."<br>Слушало максимум - ".$max."<br>Сейчас Играет - ".$song;

?>
</font>

А на выходе у меня вот что выходит
Stream Title:\n",""); if($rj == "0" or $rj == ""){ echo ""; $fl = file_get_contents('http://ultradio.ru/radiostat.php/status.xsl?mount=/mp3'); }else { switch ($rj) { case "��� �������� ����������� ��� � ��� ��������� ": echo ""; break; case "��� �������� ����������� ��� � ��� ��������� ": echo ""; break; } } $stream = antara($fl,"Stream Title:\n",""); $description = antara($fl, "Stream Description:\n", ""); $listeners = antara($fl, "Current Listeners:\n", ""); $max = antara($fl, "Peak Listeners:\n", ""); $song = antara($fl, "Current Song:\n", ""); //////////////////////////////////////////////////////////////////////////////////////////////////////////////// echo "
� ����� ".$stream."
������� - ".$listeners."
������� �������� - ".$max."
������ ������ - ".$song; ?>

Зарание спасибо за ответы и помощь.

Отредактировано Djenigma - 18.11.2014
888
Falcon @Falcon
У вас сайт без поддержки PHP
Либо вы вставили PHP код в html страницу - что не правильно.

71
удалён @Djenigma
Falcon пишет:

У вас сайт без поддержки PHP
Либо вы вставили PHP код в html страницу - что не правильно.


php у меня не знаю вроде подерживает стоят у меня два кода. Из которых вылазит реклама.
а кодик простой писал его сам.
<?php
//reklama
$url = file_get_contents('http://778899.ru/top-reklama.txt');
echo $url;
?>

но это не к этой информации. дело в том что ваш код не идет. и как его сделать что бы пошел? Вот в чем вопрос.
Вот что у меня на странице php в отдельном документе. что в отдельном что на страницу одно и тоже каракули.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
</head>

<body>


<font color="9db1cc">
<?php error_reporting(0);
header("Content-Type: text/html; charset=windows-1251");

function antara($string, $start, $end){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}

$fl = file_get_contents("http://radioheart.ru:8000/status.xsl?mount=/mp3");

$rj = antara($fl,"<td>Stream Title:</td>\n<td class=\"streamdata\">","</td>");

if($rj == "0" or $rj == ""){
echo "<img src='http://адрес вашего сайта где будет находиться картинка на нонстоп/nonstops.jpg'>";
$fl = file_get_contents('http://ultradio.ru/radiostat.php/status.xsl?mount=/mp3');
}else
{
switch ($rj) {


case "НИК ВЕДУЩЕГО Прописывать как в сам броткасте ":
echo "<img src='http://адрес к картинке ведущего' wight=100%>";
break;

case "НИК ВЕДУЩЕГО Прописывать как в сам броткасте ":
echo "<img src='http://адрес к картинке ведущего' wight=100%>";
break;
}
}
$stream = antara($fl,"<td>Stream Title:</td>\n<td class=\"streamdata\">","</td>");

$description = antara($fl, "<td>Stream Description:</td>\n<td class=\"streamdata\">", "</td>");

$listeners = antara($fl, "<td>Current Listeners:</td>\n<td class=\"streamdata\">", "</td>");

$max = antara($fl, "<td>Peak Listeners:</td>\n<td class=\"streamdata\">", "</td>");

$song = antara($fl, "<td>Current Song:</td>\n<td class=\"streamdata\">", "</td>");

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

echo "<br>В эфире <b>".$stream."</b> <br>Слушает - ".$listeners."<br>Слушало максимум - ".$max."<br>Сейчас Играет - ".$song;

?>
</font>

</body>
</html>

а это через что php выходит на саму страничку под аудио плеер.
<div id="info">
<?php echo 'Php отработается';
include ("script.php"); ?>
</div>

382
Grigorij @gyurgin_1
У Вас точно не отрабатывает PHP, а по скрипту следующее: раз каракули, то пробуем:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" заменить на: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">, вот это: header("Content-Type: text/html; charset=windows-1251")совсем убрать. И насколько я понял, на radioheart админка на русском, исправляйте вот эту строчку $rj = antara($fl, "<td>Заголовок:</td>\n<td class=\"streamdata\">", "</td>"); и потом перед выводом $stream = antara($fl, "<td>Заголовок:</td>\n<td class=\"streamdata\">", "</td>");
$description = antara($fl, "<td>Описание:</td>\n<td class=\"streamdata\">", "</td>");
$listeners = antara($fl, "<td>Слушателей на канале:</td>\n<td class=\"streamdata\">", "</td>");
$max = antara($fl, "<td>Рекорд слушателей:</td>\n<td class=\"streamdata\">", "</td>");
$song = antara($fl, "<td>Сейчас играет:</td>\n<td class=\"streamdata\">", "</td>");

В остальном, в скрипте ничего криминального нет - должен работать.

Отредактировано gyurgin_1 - 19.11.2014
71
удалён @Djenigma
gyurgin_1 пишет:

У Вас точно не отрабатывает PHP, а по скрипту следующее: раз каракули, то пробуем:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" заменить на: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">, вот это: header("Content-Type: text/html; charset=windows-1251")совсем убрать. И насколько я понял, на radioheart админка на русском, исправляйте вот эту строчку $rj = antara($fl, "<td>Заголовок:</td>\n<td class=\"streamdata\">", "</td>"); и потом перед выводом $stream = antara($fl, "<td>Заголовок:</td>\n<td class=\"streamdata\">", "</td>");
$description = antara($fl, "<td>Описание:</td>\n<td class=\"streamdata\">", "</td>");
$listeners = antara($fl, "<td>Слушателей на канале:</td>\n<td class=\"streamdata\">", "</td>");
$max = antara($fl, "<td>Рекорд слушателей:</td>\n<td class=\"streamdata\">", "</td>");
$song = antara($fl, "<td>Сейчас играет:</td>\n<td class=\"streamdata\">", "</td>");

В остальном, в скрипте ничего криминального нет - должен работать.

не пашет не в windows-1251 и не utf-8

382
Grigorij @gyurgin_1
Специально проверил - если правильно ввести свои данные, скрипт выполняет то, для чего был написан. Да, кстати, надеюсь принцип работы данного скрипта Вам известен. Уберите error_reporting(0); , что получается? В конце концов дайте полный код скрипта со всеми данными и адрес сайта.

888
Falcon @Falcon
А меня лично очень забавляет эта строчка
$fl = file_get_contents('http://ultradio.ru/radiostat.php/status.xsl?mount=/mp3');
Зачем она тут? К чему? Да и файл для запроса уж очень интересный.

382
Grigorij @gyurgin_1
Да самое интересное что он еще и работает. Ну все вопросы к автору скрипта изначально.

71
удалён @Djenigma
Falcon пишет:

А меня лично очень забавляет эта строчка
$fl = file_get_contents('http://ultradio.ru/radiostat.php/status.xsl?mount=/mp3');
Зачем она тут? К чему? Да и файл для запроса уж очень интересный.

дело в том что эта строчка нон стопа. Так как у меня нет авто диджея.

71
удалён @Djenigma
gyurgin_1 пишет:

Да самое интересное что он еще и работает. Ну все вопросы к автору скрипта изначально.

Скриптик не мой. Я его тут на форуме брал.
Мне нужен скрипт вывода не только песен в эфире но и ведущиго эфира. С графическим ником или с аватаркой ведущего. Все больше мне от этого скрипта не чего не требуется.

888
Falcon @Falcon
[quote=Антоненко А.В. (оф. стр.)]
Falcon пишет:

А меня лично очень забавляет эта строчка
$fl = file_get_contents('http://ultradio.ru/radiostat.php/status.xsl?mount=/mp3');
Зачем она тут? К чему? Да и файл для запроса уж очень интересный.

дело в том что эта строчка нон стопа. Так как у меня нет авто диджея.[/quote]
Это строчка явно не нон-стопа. В данной строке вы запрашиваете данные с радио станции ultradio.ru

71
удалён @Djenigma
Falcon пишет:

[quote=Антоненко А.В. (оф. стр.)]
Falcon пишет:

А меня лично очень забавляет эта строчка
$fl = file_get_contents('http://ultradio.ru/radiostat.php/status.xsl?mount=/mp3');
Зачем она тут? К чему? Да и файл для запроса уж очень интересный.

дело в том что эта строчка нон стопа. Так как у меня нет авто диджея.

Это строчка явно не нон-стопа. В данной строке вы запрашиваете данные с радио станции ultradio.ru[/quote]
У меня станция радио работает когда я захожу или ведущий заходит работает. там непосредственно. А когда нет не кого то информация идет с треками с ультро радио.
Вот что у меня на радио вылазеет ********** Мне вот эта инфа нужна
как на сервере. А не ероглифы китая как тут
**********а не то что хотелось бы. В течение часа убирать скрипт не буду. Я не смыслю в php програмирование. Мне хватает html и css/ И так голова кипит. а если еще и на php сесть изучать его то взрыв мозга ограничен.

Отредактировано Djenigma - 21.11.2014
71
удалён @Djenigma
Falcon пишет:

У вас сайт без поддержки PHP
Либо вы вставили PHP код в html страницу - что не правильно.

Да нет в браузере не сработал код php почему не знаю. дело вот в чем мне нужно вытащить ********** свое вещание и вывод ведущего в эфире. Кто то писал что радио херц не подерживает что то там чего то. поток на вещание **********

44
firefedot @firefedot
Доброе...
Подскажите пожалуйста, по чему не получается вывести список слушателей?
У меня на каждой точке вещания доступ по логину и паролю, и я хочу отдельно от админки . чтобы не входить в не все врем видеть реальную картину.
пробовал создать файл user.xsl в /usr/share/icecast2/admin и web (У меня стоит CentOS 6.6 x64) c таким содержимым:


<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN...
<xsl:template match = "/icestats" >
<html>
<head>
<title>Icecast Потоковый Media Сервер</title>
<link rel="stylesheet" type="text/css" href="/style.css" />
</head>
<table cellspacing="0" cellpadding="5" border="1" bordercolor="#C0C0C0" >
<tr>
<td ><center><b>IP слушателя</b></center></td>

</tr>
<xsl:variable name = "themount" ><xsl:value-of select="@mount" /></xsl:variable>
<xsl:for-each select="listener">
<tr>
<td align="center"><xsl:value-of select="IP" /><xsl:if test="username"> (<xsl:value-of select="username" />)</xsl:if></td>

</tr>
</xsl:for-each>
</table>
<br />
</body>
</html>
</xsl:template>
</xsl:stylesheet>


Но получаю сообщение/, что не возможно парсить...

Попробовал через пхп

<?php
$fl = file_get_contents('http://192.168.1.155:8888/admin/listclients.xsl?mount=/home');
echo $fi;
?>


В ответ тишина. Файл пхп положил себе на веб сервер, он в той же локальной сети.

Как правильно парсить список пользователей и куда все класть? На совесть?)

Пробую получить кол-во слушателей, получаю без проблем командой

"name" : "<xsl:value-of select="server_name"/>",


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

382
Grigorij @gyurgin_1
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output omit-xml-declaration="yes" method="text" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="no" encoding="UTF-8" /><xsl:strip-space elements="*"/>
<xsl:template match = "/icestats" >
<xsl:for-each select="source">
<xsl:variable name = "themount" ><xsl:value-of select="@mount" /></xsl:variable>
<xsl:for-each select="listener">
<xsl:value-of select="IP" />
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
вызывать так например: сервер:порт/listclients.xsl?mount=/поток

Отредактировано gyurgin_1 - 04.12.2014
44
firefedot @firefedot
Создал файл client.xsl с вашим содержанием.
Положил в папку /usr/share/icecast/admin
********** - получил сообщение Unrecognised command
Положил в папку /usr/share/icecast/web
********** - получил пустую страницу, ни ошибок. ничего... точка запущена...

Что не так делаю? не пойму)