626

Re: Скрипты для Icecast

Когда добаляю эту строку которой не достает то на сайте пропадает отображение исполнителя и песни

Пишу в спешке. Могут быть очепятки
Сайт за 50$. За 2 дня...

627

Re: Скрипты для Icecast

facepalm

628

Re: Скрипты для Icecast

пишет aleksanders:

Ну вот, вроде сам нахимичил, только почему-то не переходит с потока /radio на поток /nonstop! В чём я сделал ошибку?

<?php

    $data = file_get_contents('http://xoiniki.com:88/status.xsl?mount=/radio');
   
    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);
    }

if(antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>")  ==''){$data = file_get_contents('http://localhost:88/status.xsl?mount=/nonstop');}
    
    $Current_song = antara($data, "Current Song:</td>\n<td class=\"streamdata\">","</td>");
    $Curr_listens=$Current_listeners2+$Current_listeners+$hellp_curr_listeners;
    $Peak_listens=$Peak_listeners2+$Peak_listeners+$hellp_peak_listeners;
    $staylst=$Curr_listens+1;
    echo ''.$Current_song.'';
?>

у тебя в коде отсутствует

$Mount_started = antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>");
Пишу в спешке. Могут быть очепятки
Сайт за 50$. За 2 дня...

629

Re: Скрипты для Icecast

Строку добавил

$Mount_started = antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>");

Всё равно играет поток /radio а информация с потока /nonstop.

А какая проблема может быть здесь?

antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>")  ==''

630

Re: Скрипты для Icecast

А ты в конфиге айса прописывал?:

<mount>
<mount-name>/live</mount-name>
<charset>CP1251</charset>
<fallback-mount>/nonstop</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
</mount>
<mount>
<mount-name>/nonstop</mount-name>
<charset>CP1251</charset>
</mount>

Твоя страница статуса смущает:
http://img.janowcity.by/upload_image/ef59481cffb3b2cada8d5ec1606af5b9.jpg

Отредактировано FortNoxBY (03-02-2012 15:32:47)

Пишу в спешке. Могут быть очепятки
Сайт за 50$. За 2 дня...

631

Re: Скрипты для Icecast

Да и строки Mount started: нет

Пишу в спешке. Могут быть очепятки
Сайт за 50$. За 2 дня...

632

Re: Скрипты для Icecast

Эт скрипт:

<?php

    $data = file_get_contents('http://ип/status.xsl?mount=/live');

    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);
    }

if(antara($data, "Mount Start:</td>\n<td class=\"streamdata\">","</td>")  ==''){$data = file_get_contents('http://ип/status.xsl?mount=/nonstop');}
    $data = iconv("utf-8", "cp1251", $data);
    $content_type = antara($data, "Content Type:</td>\n<td class=\"streamdata\">","</td>");
    $Stream_genre = antara($data, "Peak Listeners:</td>\n<td class=\"streamdata\">","</td>");
    $Current_song = antara($data, "Current Song:</td>\n<td class=\"streamdata\">","</td>");
    $Curr_listens=$Current_listeners2+$Current_listeners+$hellp_curr_listeners;
    $Peak_listens=$Peak_listeners2+$Peak_listeners+$hellp_peak_listeners;

    $staylst=$Curr_listens+1;
    echo '
<br>&nbsp;<b>Сейчас в эфире:</b> '.$Current_song.'
';
?>

Status.xls

<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" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" >
<html>
<head>
<title>название</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<h2>&#xA0;&#xA0;&#xA0;Сайт</h2>
<br />
<!--mount point stats-->
<xsl:for-each select="source">
<xsl:choose>
<xsl:when test="listeners">
<div class="roundcont">
<div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div>
<div class="newscontent">
    <div class="streamheader">
        <table cellspacing="0" cellpadding="0">
            <colgroup align="left" />
            <colgroup align="right" width="300" />
            <tr>
                <td><h3>Mount Point <xsl:value-of select="@mount" /></h3></td>
                <xsl:choose>
                    <xsl:when test="authenticator">
                        <td align="right"><a class="auth" href="/auth.xsl">Login</a></td>
                    </xsl:when>
                    <xsl:otherwise>
                        <td align="right"> <a href="{@mount}.m3u">Play</a></td>
                    </xsl:otherwise>
                </xsl:choose>
        </tr></table>
    </div>
<table border="0" cellpadding="4">
<xsl:if test="server_name">
<tr><td>Stream Title:</td><td class="streamdata"> <xsl:value-of select="server_name" /></td></tr>
</xsl:if>
<xsl:if test="server_description">
<tr><td>Stream Description:</td><td class="streamdata"> <xsl:value-of select="server_description" /></td></tr>
</xsl:if>
<xsl:if test="stream_start">
<tr><td>Mount started:</td><td class="streamdata"><xsl:value-of select="stream_start" /></td></tr>
</xsl:if>
<xsl:if test="bitrate">
<tr><td>Bitrate:</td><td class="streamdata"> <xsl:value-of select="bitrate" /></td></tr>
</xsl:if>
<xsl:if test="quality">
<tr><td>Quality:</td><td class="streamdata"> <xsl:value-of select="quality" /></td></tr>
</xsl:if>
<xsl:if test="video_quality">
<tr><td>Video Quality:</td><td class="streamdata"> <xsl:value-of select="video_quality" /></td></tr>
</xsl:if>
<xsl:if test="frame_size">
<tr><td>Framesize:</td><td class="streamdata"> <xsl:value-of select="frame_size" /></td></tr>
</xsl:if>
<xsl:if test="frame_rate">
<tr><td>Framerate:</td><td class="streamdata"> <xsl:value-of select="frame_rate" /></td></tr>
</xsl:if>
<xsl:if test="genre">
<tr><td>Stream Genre:</td><td class="streamdata"> <xsl:value-of select="genre" /></td></tr>
</xsl:if>
<xsl:if test="listeners">
<tr><td>Current Listeners:</td><td class="streamdata"> <xsl:value-of select="listeners" /></td></tr>
</xsl:if>
<xsl:if test="server_url">
<tr><td>Stream URL:</td><td class="streamdata"> <a target="_blank" href="{server_url}"><xsl:value-of select="server_url" /></a></td></tr>
</xsl:if>
<tr><td>Current Song:</td><td class="streamdata"> 
<xsl:if test="artist"><xsl:value-of select="artist" /> - </xsl:if><xsl:value-of select="title" /></td></tr>
</table>
</div>
<div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div>
</div>
<br />
<br />
</xsl:when>
<xsl:otherwise>
<h3><xsl:value-of select="@mount" /> - Not Connected</h3>
</xsl:otherwise>
</xsl:choose>

</xsl:for-each>
<xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;


<div class="poster">текст <a class="nav" target="_blank" href="http://сайт">сайт</a></div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

Когда добавлена строка то название с нонстопа не идет даже на сайт, а про live вообще молчу...
заколдованый круг, если дело в status.xls то tarasian666 подельсь рабочим на котором проверено и работает

Пишу в спешке. Могут быть очепятки
Сайт за 50$. За 2 дня...

633

Re: Скрипты для Icecast

Да это в конфиге icecast прописал. Вот:

<mount>
        <mount-name>/radio</mount-name>
        <password>111222333</password>
    <charset>CP1251</charset>
        <fallback-mount>/nonstop</fallback-mount>
        <fallback-override>1</fallback-override>
        <fallback-when-full>1</fallback-when-full>
  </mount>
   <mount>
        <mount-name>/nonstop</mount-name>
        <password>123123</password>
    <charset>CP1251</charset>
   </mount>

Когда захожу по ссылке 127.0.0.1:88, то показывает нормально там. И один поток и второй поток. И какие песни всё правильно. А вот в информере только нонстоп.
А что смущает в такой странице статуса?

Отредактировано aleksanders (03-02-2012 17:50:02)

634

Re: Скрипты для Icecast

у меня например  когда live неактивен то всеровно в статистике отображается
http://img.janowcity.by/upload_image/567f980ba1b754dc664291ca485919d0.jpg

Пишу в спешке. Могут быть очепятки
Сайт за 50$. За 2 дня...

635

Re: Скрипты для Icecast

менял status.xls на версию от icecast-trunk...толку никакого...так в чем же причина?

Пишу в спешке. Могут быть очепятки
Сайт за 50$. За 2 дня...

636

Re: Скрипты для Icecast

А ты пробовал скрипт как у меня ставить себе. Он работает? Если работает, то вышли на freespace.by свой сервер. Ссылку в ЛС кинь или в icq 419440549

637

Re: Скрипты для Icecast

да пошуршите наконец своими извивинами! поменяйте Mount started в скрипте на что угодно что есть при активном маунте и что пропадает при откл маунте.
Ненужно менять status.xsl ведь он может не работать если из другой версии

Я вам суть показал, дальше уже подстраивайте скрипт под свой status, поскольку бацька не дает мне его увидеть

638

Re: Скрипты для Icecast

менял Mount started на Stream Description.
При нон стопе у меня присутствует Stream Description а в живую когда вещаешь на live такой строки нет, вот я и думал ее взять. Но всеровно инфа берется с нонстопа

aleksanders, твой скрипт работает

Отредактировано FortNoxBY (03-02-2012 20:46:37)

Пишу в спешке. Могут быть очепятки
Сайт за 50$. За 2 дня...

639

Re: Скрипты для Icecast

tarasian666 Красиво выразился по поводу бацьки. )))

Короче парни, не знаю что я там изменял, но оно заработало. Что изменял, даже сам не знаю. ))

640

Re: Скрипты для Icecast

давай делись пожайлусто)))...

Пишу в спешке. Могут быть очепятки
Сайт за 50$. За 2 дня...

641

Re: Скрипты для Icecast

Короче, если что не так, вы хоть не смейтесь. ))) Главное работает...

<?php

    $data = file_get_contents('http://127.0.0.1:88/status.xsl?mount=/radio');
   
    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);
    }

if(antara($data, "Content Type:</td>\n<td class=\"streamdata\">","</td>")  ==''){$data = file_get_contents('http://127.0.0.1:88/status.xsl?mount=/nonstop');}
   
    $Mount_started = antara($data, "Content Type:</td>\n<td class=\"streamdata\">","</td>");
    $Current_song = antara($data, "Current Song:</td>\n<td class=\"streamdata\">","</td>");
    $Curr_listens=$Current_listeners2+$Current_listeners+$hellp_curr_listeners;
    $Peak_listens=$Peak_listeners2+$Peak_listeners+$hellp_peak_listeners;
    $staylst=$Curr_listens+1;
    echo ''.$Current_song.'';
?>

642

Re: Скрипты для Icecast

а в status.xls как обстоят дела?) выложи код тоже

Пишу в спешке. Могут быть очепятки
Сайт за 50$. За 2 дня...

643

Re: Скрипты для Icecast

<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" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
<xsl:template match = "/icestats" >
<html>
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<h2>Icecast2 Status</h2>
<br />
<!--index header menu -->
<div class="roundcont">
<div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div>
<table border="0" width="100%" id="table1" cellspacing="0" cellpadding="4">
    <tr>
        <td bgcolor="#656565">
        <a class="nav" href="admin/">Administration</a>
        <a class="nav" href="status.xsl">Server Status</a>
        <a class="nav" href="server_version.xsl">Version</a></td>
    </tr>
</table>
<div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div>
</div>
<br />
<br />
<!--end index header menu -->
<!--mount point stats-->
<xsl:for-each select="source">
<xsl:choose>
<xsl:when test="listeners">
<div class="roundcont">
<div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div>
<div class="newscontent">
    <div class="streamheader">
        <table cellspacing="0" cellpadding="0">
            <colgroup align="left" />
            <colgroup align="right" width="300" />
            <tr>
                <td><h3>Mount Point <xsl:value-of select="@mount" /></h3></td>
                <xsl:choose>
                    <xsl:when test="authenticator">
                        <td align="right"><a class="auth" href="/auth.xsl">Login</a></td>
                    </xsl:when>
                    <xsl:otherwise>
                        <td align="right"> <a href="{@mount}.m3u">M3U</a> <a href="{@mount}.xspf">XSPF</a></td>
                    </xsl:otherwise>
                </xsl:choose>
        </tr></table>
    </div>

<table border="0" cellpadding="4">
<xsl:if test="server_name">
<tr><td>Stream Title:</td><td class="streamdata"> <xsl:value-of select="server_name" /></td></tr>
</xsl:if>
<xsl:if test="server_description">
<tr><td>Stream Description:</td><td class="streamdata"> <xsl:value-of select="server_description" /></td></tr>
</xsl:if>
<xsl:if test="server_type">
<tr><td>Content Type:</td><td class="streamdata"><xsl:value-of select="server_type" /></td></tr>
</xsl:if>
<xsl:if test="stream_start">
<tr><td>Mount started:</td><td class="streamdata"><xsl:value-of select="stream_start" /></td></tr>
</xsl:if>
<xsl:if test="bitrate">
<tr><td>Bitrate:</td><td class="streamdata"> <xsl:value-of select="bitrate" /></td></tr>
</xsl:if>
<xsl:if test="quality">
<tr><td>Quality:</td><td class="streamdata"> <xsl:value-of select="quality" /></td></tr>
</xsl:if>
<xsl:if test="video_quality">
<tr><td>Video Quality:</td><td class="streamdata"> <xsl:value-of select="video_quality" /></td></tr>
</xsl:if>
<xsl:if test="frame_size">
<tr><td>Framesize:</td><td class="streamdata"> <xsl:value-of select="frame_size" /></td></tr>
</xsl:if>
<xsl:if test="frame_rate">
<tr><td>Framerate:</td><td class="streamdata"> <xsl:value-of select="frame_rate" /></td></tr>
</xsl:if>
<xsl:if test="listeners">
<tr><td>Current Listeners:</td><td class="streamdata"> <xsl:value-of select="listeners" /></td></tr>
</xsl:if>
<xsl:if test="listener_peak">
<tr><td>Peak Listeners:</td><td class="streamdata"> <xsl:value-of select="listener_peak" /></td></tr>
</xsl:if>
<xsl:if test="genre">
<tr><td>Stream Genre:</td><td class="streamdata"> <xsl:value-of select="genre" /></td></tr>
</xsl:if>
<xsl:if test="server_url">
<tr><td>Stream URL:</td><td class="streamdata"> <a target="_blank" href="{server_url}"><xsl:value-of select="server_url" /></a></td></tr>
</xsl:if>
<tr><td>Current Song:</td><td class="streamdata"> 
<xsl:if test="artist"><xsl:value-of select="artist" /> - </xsl:if><xsl:value-of select="title" /></td></tr>
</table>
</div>
<div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div>
</div>
<br />
<br />
</xsl:when>
<xsl:otherwise>
<h3><xsl:value-of select="@mount" /> - Not Connected</h3>
</xsl:otherwise>
</xsl:choose>

</xsl:for-each>
<xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;


<div class="poster">Support icecast development at <a class="nav" target="_blank" href="http://www.icecast.org">www.icecast.org</a></div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

644

Re: Скрипты для Icecast

Короче, если что не так, вы хоть не смейтесь. ))) Главное работает...

а что смеятся то, все правильно сделал

вот интересная история об функции antara, я ее нашел на форуме shoutcast где парсили ответ sc_trans2 через его API
а теперь она расползлась по рунету...

645

Re: Скрипты для Icecast

aleksanders? спасибо большое.
а айс ты используешь скаченный с оф.сайта я так понимаю?

Пишу в спешке. Могут быть очепятки
Сайт за 50$. За 2 дня...

646

Re: Скрипты для Icecast

Так точно. Сервер скачивал с оф. сайта, версии 2.3.2

Re: Скрипты для Icecast

Помогите с вопросом... Как в данном скрипте вывести тайтл радиостанции?

<?php
$file_name='http://иппорт';
$r=fopen($file_name,'r');
$text=fread($r,2000);
fclose($r);
$mass=explode(",", $text);
echo $mass [16] ."<br>";
echo $mass [14] ."<br>";
?>

Пробовал поменять $mass но ничего нужного не выдавало... Как с помощью него вывести название радио?

Отредактировано Всё-просто (05-02-2012 01:12:43)

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

648

Re: Скрипты для Icecast

aleksanders, большое тебе человеческое спасибо!!!!
и конечно и тебе tarasian666

Пишу в спешке. Могут быть очепятки
Сайт за 50$. За 2 дня...

649

Re: Скрипты для Icecast

пишет Всё-просто:

Помогите с вопросом... Как в данном скрипте вывести тайтл радиостанции?

<?php
$file_name='http://иппорт';
$r=fopen($file_name,'r');
$text=fread($r,2000);
fclose($r);
$mass=explode(",", $text);
echo $mass [16] ."<br>";
echo $mass [14] ."<br>";
?>

Пробовал поменять $mass но ничего нужного не выдавало... Как с помощью него вывести название радио?

там не иппорт а ип:порт/status2xsl?mount=/маунт

Re: Скрипты для Icecast

пишет tarasian666:

пишет Всё-просто:

Помогите с вопросом... Как в данном скрипте вывести тайтл радиостанции?

<?php
$file_name='http://иппорт';
$r=fopen($file_name,'r');
$text=fread($r,2000);
fclose($r);
$mass=explode(",", $text);
echo $mass [16] ."<br>";
echo $mass [14] ."<br>";
?>

Пробовал поменять $mass но ничего нужного не выдавало... Как с помощью него вывести название радио?

там не иппорт а ип:порт/status2xsl?mount=/маунт

Это я знаю )

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile