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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

Отредактировано IntelXeon - 17.10.2010
6245
Тарас @tarasian666
**********
IntelXeon пишет:

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

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

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

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

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

никак

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

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

Отредактировано IntelXeon - 17.10.2010
6245
Тарас @tarasian666
он не будет "посылать", пользуйтесь скриптами **********

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

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

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

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

Ставил этот скрипт > **********

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

Отредактировано IntelXeon - 17.10.2010
6245
Тарас @tarasian666
перекодировать надо в скрипте с помощью функции iconv
или менять кодировку сайта

29
IntelXeon @IntelXeon
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]");
?>.
Синтакс еррор :(

Попробовал так :
<?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
888
Falcon @Falcon
<?php
echo iconv("CP1251", "UTF-8", ".$song[0].");
?>
Или CP1252, не помню что там шауткост точно использует

Отредактировано Falcon - 18.10.2010
29
IntelXeon @IntelXeon
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 **********
// 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].");
?>



А вот когда попробовал так :


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

Отредактировано IntelXeon - 18.10.2010
6245
Тарас @tarasian666
echo iconv("CP1251", "UTF-8", $song[0]); вот так пробуй

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

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

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

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

Отредактировано IntelXeon - 18.10.2010
6245
Тарас @tarasian666
короче, какая кодировка у вас на сайте? могу щас у себя скрипт испробовать, "повертеть" кодировки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Отредактировано IntelXeon - 18.10.2010