1

Тема: Вывод данных радио сервера на сайте

Собственно уже второй день мучаюсь не могу понять как вывести данные Shoutcast сервера с локального компьютера на сторонний хост.

Блог/Радио делаю не себе а товарищу.

По подробнее постараюсь описать что да как я сделал :
Установил Shoutcast сервер (не с официального сайта, с официального сайта не запускался сервер) если не ошибаюсь версия 1.9.8 ENG.
Установил Winamp Lite с официального сайта.
Поставил на Winamp Shoutcast плагин тоже скорее всего не самый свежий.

У человека динамический-внешний адрес. То есть к нему из вне можно подключится но адрес меняется.
Потому я зарегистрировался в www.dyndns.com сервисе, зарегистрировал домен, на компьютер поставил софт.

В общем все заработало так как и хотели все круто. Радио работает на домене > mikul.dyndns-free.com:8000 > а динамический адрес все время подстраивается под домен.

Взяли купили самый простенький хостинг на hostia.ru, купили домен для сайта, поставил сайт на движке WordPress поставили простенький шаблон.
Собственно я создал раздел под радио и там просто выложил ссылку на файл для винампа в котором был адрес mikul.dyndns-free.com:8000 в общем с этим тоже все круто все работает как и хотели.

Но вот стал вопрос что нужно сделать отдельный блок под радио на сайте что бы там было пару полей :
Online/Offline картинка радио.
Кнопка слушать радио (ну это понимаю как сделать).
Какая композиция играет.
Сколько людей слушает.

Ну к примеру так.

В общем ни я не мой знакомый не можем понять как заставить Shoutcast сервер выводить метаданные (думаю так называются) с локального компьютера на сторонний хост.
Что нужно сделать и что прописать на сайте ?

И еще если у кого то есть лучший вариант сервера + плагина + программы для трансляции на ОС Windows то буду признателен за совет.
Кстати кирилица на сгенерированном сайте Shoutcast сервера не отображается. Кодировка другая sad

И еще как то работает не понятно в Shoutcast плагине работа с Input звуком микрофона. То есть человек говорит во время эфира и все работает нормально но музыка на заднем фоне пропадает полностью.
То есть как мы не крутили настройки уровня звука заднего фона ее все равно не слышно sad Надо что бы когда он говорил в микрофон музыка на 75% затухала.

И еще все же если не пройдет вариант с выводом мета данных с локального компьютера на сторонний хост. То хотя бы как переделать дизайн сгенерированного SHoutcast сервером сайта ?
А то этот убогий черный дизайн убивает меня sad А HTML/PHP файла не нашел вообще.
Спасибо за внимание !

Отредактировано IntelXeon (17-10-2010 14:38:46)

2

Re: Вывод данных радио сервера на сайте

Скрипты для SHOUTcast

пишет IntelXeon:

И еще как то работает не понятно в Shoutcast плагине работа с Input звуком микрофона. То есть человек говорит во время эфира и все работает нормально но музыка на заднем фоне пропадает полностью.

поставить захват с микшера а не с микрофона

пишет IntelXeon:

То есть как мы не крутили настройки уровня звука заднего фона ее все равно не слышно  Надо что бы когда он говорил в микрофон музыка на 75% затухала.

данный плагин на такое не способен

пишет IntelXeon:

как переделать дизайн сгенерированного SHoutcast сервером сайта ?

никак

3

Re: Вывод данных радио сервера на сайте

Тогда один остался вопрос. Как вывести данные/статистику радио на сайт ?

То есть есть коды. Но как заставить Shoutcast Сервер посылать эту статистику на другой хостинг...

Отредактировано IntelXeon (17-10-2010 16:10:28)

4

Re: Вывод данных радио сервера на сайте

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

5

Re: Вывод данных радио сервера на сайте

Супер ! Спасибо вам ! То что надо. Буду пробовать.

6

Re: Вывод данных радио сервера на сайте

Все работает так как и хотел. Все четко за исключением того что Кирилица в статусе песни не отображается.

Взял скрипт php файлы преобразовал в UTF-8, поставил русский DSP плагин, поставил русский Shoutcast сервер, теперь на страничке Shoutcast работает кирилица но сайт на котором стоит скрипт выводит крякозябры.

Взял поменял windows-1252 на windows-1251 в файлах скрипта. Все равно выводит кракосябры. Что делать не подскажите ?

Ставил этот скрипт > Скрипты для SHOUTcast

PS
Я уже так намудохался с этими кодировками просто ужас... ЕСТЬ ЛИ КАКОЙ ТО СОФТ КОТОРЫЙ АВТОМАТОМ ПЕРЕВЕДЕТ НА ТРАНСЛИТ ВСЕ РУССКИЕ ПЕСНИ В МОЕЙ ПАПКЕ ?
Кстати в папке 5к песен... Вручную все перевести можно сума сойти. Уже 8 часов мучаюсь с этим радио.

Отредактировано IntelXeon (17-10-2010 19:55:51)

7

Re: Вывод данных радио сервера на сайте

перекодировать надо в скрипте с помощью функции iconv
или менять кодировку сайта

8

Re: Вывод данных радио сервера на сайте

tarasian666,Все HTML/PHP файлы сайта перевел в UTF-8, все charset-ы перевел в UTF-8, все файлы скрипта перевел в UTF-8. На всех страницах отображается кирилица корректно а именно название песен кракозябрами.

В PHP я не шарю делаю все методом тыка и гуглю все время. Собственно насколько я понял iconv переводит кодировку строки выводимой на сайте в ту что нужна.
Но какой синтакс у PHP я без понятия. И куда эту функцию iconv вписать понятия не имею.

Нагуглил это :
<?php
echo iconv("KOI8-U", "UTF-8", "Пора переходить на юникод.");
?>.

В скрипт файле насколько я понял эта функция отвечает за вывод строки песни :
.$song[0]

Попробовал опираясь на логику в скрипт файле сделать такую строку :

<?php
echo iconv("KOI8-U", "UTF-8", ".$song[0]");
?>.
Синтакс еррор sad

Попробовал так :
<?php
echo iconv("KOI8-U", "UTF-8", "Пора переходить на юникод.");
.$song[0]
?>.
Ошибку не выбило по синтаксу но зато целую строку крякозябров выбило. Попробовал поменять первое значение KOI8-U на UTF-8, отобразилась надпись "Пора переходить на юникод.".

В общем так не вышло у меня.

Попробовал в index файле сайта где строка ссылается на весь скрипт файл помудрить там :

<?php include "radio_stats.php"; ?>

И как ее совмистить с этим :
<?php
echo iconv("KOI8-U", "UTF-8", "Пора переходить на юникод.");
?>.

Понятия не имею. Если это не сложно/трудоемко то пожалуйста tarasian666 объясни хотя бы вкратце как использовать ICONV что бы работала и кирилица и латиница в строке вывода песни.

ps
Либо посоветуй скрипт с поддержкой кирилицы.

Отредактировано IntelXeon (18-10-2010 10:57:17)

9

Re: Вывод данных радио сервера на сайте

<?php
echo iconv("CP1251", "UTF-8", ".$song[0].");
?>
Или CP1252, не помню что там шауткост точно использует

Отредактировано Falcon (18-10-2010 11:07:22)

http://radioheart.ru/banners/radioheart_400x40_banner.jpg
RadioHeart.ru: Функциональный радио хостинг с автодиджеем и нонстопом, а так же быстрый виртуальный хостинг. Возможность создать радио за 5 минут, подключить автодиджей и нонстоп.
Отзывы о хостинге

10

Re: Вывод данных радио сервера на сайте

Falcon,

Parse error: syntax error, unexpected '?' in /home/jollo/domains/mikul.od.ua/public_html/wp-content/themes/curved-10/radio_stats.php on line 82

Код скрипта :

  <?php
// Shoutcast Server Stats
// Parses shoutcasts xml to make an effective stats thing for any website
// ©2004-2005 Daniel Brown http://www.gmtt.co.uk
// Please refer to the readme file for use.


// Add-On MAXLISTNERS insead of the / 10 MAXLISTENERS which was set, and the BITRATE add-on.
// Online and Offline graphics, and add-on code.
// Better HTML Script.

// Do Not Try To Edit This Only Unless You Know What You're Doing!!!!!!!

include('config_radio.php');

$scfp = fsockopen("$scip", $scport, &$errno, &$errstr, 30);
 if(!$scfp) {
  $scsuccs=1;
echo''.$scdef.' is Offline'; 
 }
if($scsuccs!=1){
 fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
 while(!feof($scfp)) {
  $page .= fgets($scfp, 1000);
 }
######################################################################################################################
/////////////////////////part 1 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//define  xml elements
 $loop = array("STREAMSTATUS", "BITRATE", "SERVERTITLE", "CURRENTLISTENERS", "MAXLISTENERS", "BITRATE");
 $y=0;
 while($loop[$y]!=''){
  $pageed = ereg_replace(".*<$loop[$y]>", "", $page);
  $scphp = strtolower($loop[$y]);
  $$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
  if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
   $$scphp = urldecode($$scphp);

// uncomment the next line to see all variables
//echo'$'.$scphp.' = '.$$scphp.'<br>';
  $y++;
 }
//end intro xml elements
######################################################################################################################
######################################################################################################################
/////////////////////////part 2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//get song info and history
 $pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
 $pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
 $songatime = explode("<SONG>", $pageed);
 $r=1;
 while($songatime[$r]!=""){
  $t=$r-1;
  $playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
  $playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
  $song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
  $song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
  $song[$t] = urldecode($song[$t]);
  $dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page);
  $dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed);
$r++;
 }
//end song info
fclose($scfp);
}

//display stats
if($streamstatus == "1"){
//you may edit the html below, make sure to keep variable intact
echo'
<html>

<head>


<title>'.$scdef.'</title>
</head>

<body text="" bgcolor="">

<p align="center"><center>
<img src="online.jpg"><br>
<b>Сейчас маслает:</b> '.$song[0].'</p><b>
</p>
</body>

</html>';
}
if($streamstatus == "0")
{
//you may edit the html below, make sure to keep variable intact
echo'
<html>

<head>

<title>Radio Server Is Offline</title>
</head>

<body text="" bgcolor="">
<center>
<img src="offline.jpg">
</body>

</html>';
}
?>

Сделал так :

<?php
echo iconv("CP1251", "UTF-8", ".$song[0].");
?>

http://img188.imageshack.us/img188/3294/94200089.jpg

А вот когда попробовал так :
http://img404.imageshack.us/img404/2632/93588407.jpg

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

Отредактировано IntelXeon (18-10-2010 11:25:52)

11

Re: Вывод данных радио сервера на сайте

echo iconv("CP1251", "UTF-8", $song[0]); вот так пробуй

12

Re: Вывод данных радио сервера на сайте

Попробовал вот так :
<?php echo iconv("CP1251", "UTF-8", $song[0]); ?>

Просто нечего не выводит.

И вариантов 10 уже попробовал. Вот думаю либо найти другой радио сервер, либо спереть с чьего то сайта уже готовый скрипт, либо найти другой скрипт, либо забить на вывод информации об песне...
Уже в отчаянии. Вчера с 10 утра до 7 вечера сидел с этой проблемой и сегодня с 9 утра уже начинаю мудохатся sad

Просто вся область где эта строка находиться она как бы закомментирована echo' ТУТ ВЕСЬ КОД ' и изначально $song[0] написан по середине этого когда вот так '$song[0]'...

Отредактировано IntelXeon (18-10-2010 11:49:23)

13

Re: Вывод данных радио сервера на сайте

короче, какая кодировка у вас на сайте? могу щас у себя скрипт испробовать, "повертеть" кодировки

14

Re: Вывод данных радио сервера на сайте

Адрес сайта

Показать / Cкрыть текст
файлы сайта index.php и тд и тп и все файлы шаблона *.php тоже перевел в UTF-8 в блокноте Notepad++.

В коде уже сгенерированого сайта такая строка :
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

Могу попробовать поменять ее на UTF-8.

15

Re: Вывод данных радио сервера на сайте

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

Добавлено спустя     2 минуты   11 секунд:
а вот мат лучше убрать со страницы ))
+ українська у вас препаскудна...

16

Re: Вывод данных радио сервера на сайте

Ну поменял и там на utf-8 и все равно все тоже самое.

17

Re: Вывод данных радио сервера на сайте

лучше на 1251 ведь теги песен пронисаны именно в той кодировке
но тогда убрать iconv

18

Re: Вывод данных радио сервера на сайте

Ну до того как я все в UTF-8 перевел все было в windows-1251 и была та же история.

19

Re: Вывод данных радио сервера на сайте

я пользовался таким скриптом, сам файл в кодировке utf-8, мета тег сайта cp1251

Показать / Cкрыть текст

20

Re: Вывод данных радио сервера на сайте

Круть ) Выглядит простенько. Будет возможность попробую. Сейчас уезжаю по делам. СПАСИБО ЗА ВНИМАНИЕ И ОТВЕТЫ !

ps

+ українська у вас препаскудна...

Это не я писал... Это человек которому я делаю сайт. К тому же он просто гонит )

ps2
Поставил ваш скрипт. Все тоже самое отображает кирилицу кракозябрами. Уже и на Joomla и просто HTML страицу пробовали все равно...

В общем я забиваю на эти танцы с бубном. Тема закрыта ! А вам большое спасибо за внимание и помощь !

Отредактировано IntelXeon (18-10-2010 16:19:25)

21

Re: Вывод данных радио сервера на сайте

С кодировкой полные вилы... целый день на это убил, весь нэт облазил... никаких дельных советов...
iconv и mb... не помогают.... Ну должно же быть какое-то средство?????????????????

22

Re: Вывод данных радио сервера на сайте

сначала надо добиться нормального отображения на странице icecast