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

Нужен скрипт для вывода тегов из IceCast на сайт

 

8
Дмитрий @Dmitriy_Nazarov
Нужен скрипт для вывода названия текущего трека на сайт.

137
Radio-Tochka_com @Radio-Tochka_com
Shoutcast? Icecast?

8
Дмитрий @Dmitriy_Nazarov
Radio-Tochka.com пишет:

Shoutcast? Icecast?


IceCast

137
Radio-Tochka_com @Radio-Tochka_com
Ссылку на поток можете опубликовать? Нужно версию посмотреть.

8
Дмитрий @Dmitriy_Nazarov
Radio-Tochka.com пишет:

Ссылку на поток можете опубликовать? Нужно версию посмотреть.

**********
Сейчас идет тестирование Сервера и ПО

137
Radio-Tochka_com @Radio-Tochka_com
Кладем в web директорию icecast'a эти два файла:
**********
**********

после этого из Javascript можно сделать запрос по адресу ********** и получить JSON со статусом трансляции.
Останется сделать вывод этой информации на странице, вот пример скрипта:


<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script>

var timeout = 5; // интервал обновления информации в секундах

function getStats(){
$.ajax({
url: "http://185.9.146.179:8000/status-json.xsl",
success: function( response ) {
$('#song-title').text(response.icestats.source.title)
}
});
}
getStats();
setInterval(getStats, timeout * 1000);

</script>

<div id="song-title"></div>



Демо (с другим потоком)
**********

Отредактировано Radio-Tochka_com - 24.10.2015
8
Дмитрий @Dmitriy_Nazarov
Radio-Tochka.com пишет:


Останется сделать вывод этой информации на странице

Все сделал. Но отображается только название трека, исполнителя нет
**********

137
Radio-Tochka_com @Radio-Tochka_com
Если нужна полная строка с исполнителем и названием трэка, то в скрипте заменить это:
$('#song-title').text(response.icestats.source.title)
на

$('#song-title').text(response.icestats.source.yp_currently_playing)

8
Дмитрий @Dmitriy_Nazarov
Radio-Tochka.com пишет:

Если нужна полная строка с исполнителем и названием трэка, то в скрипте заменить это:
$('#song-title').text(response.icestats.source.title)
на

$('#song-title').text(response.icestats.source.yp_currently_playing)

Спасибо! Возможно, еще понадобится Ваша помощь позднее

8
Дмитрий @Dmitriy_Nazarov
Если Два потока на одном сервере IceCast (mp3 и aacp+), то не выводится информация о треке.
Как в таком случаи быть?

137
Radio-Tochka_com @Radio-Tochka_com
теперь, когда их два, нужно взять первый из массива:
$('#song-title').text(response.icestats.source[0].yp_currently_playing)

8
Дмитрий @Dmitriy_Nazarov
СПАСИБО!

8
Дмитрий @Dmitriy_Nazarov
Можно ли сделать чтобы название трека сохранялось и соответственно переписывалось в случаи изменения в .txt файл, а оттуда он будет выводиться в плеер на сайте. Способ брать из текстового файла у меня есть, мне нужно чтобы из скрипта сохранялось в этот файл

25
yakoff @yakoff
Установил icecast 2.4.2.
Использую скрипт от Radio-Tochka.com:
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script>
var timeout = 5; // интервал обновления информации в секундах
function getStats(){
$.ajax({
url:"http://188.166.110.220:8000/status-json.xsl",
success:function(response){
$('#song-title').text(response.icestats.source.title)
}
});
}
getStats();
setInterval(getStats, timeout * 1000);
</script>

<div id="song-title"></div>


Ничего не кажет.. в то же время файл "**********" доступен через браузер.
Пробовал использовать Ваш файл "**********" - все работает: вытаскиваю все данные, какие хочу, то есть с принципом работы немного разобрался.
При использовании файла со своего сервера - ничего не отображает. Пробовал обратиться и к text(response.icestats.source.artist) , и к text(response.icestats.source.server_url) - ни в какую..

Файлы
/icecast/status-json.xsl
/icecast/xml2json.xslt
на месте, содержание стандартно, ничего не менял.


Есть разница в поведении между моим и Вашим status-json.xs: при обращении через браузер у мой status-json.xs открывается прямо в браузере, а у Вас браузер сохраняет файл с именем "file-".
Хотя подозреваю, что в данном случае дело в content-type вашего файла, и роли не играет.


Как вывести название трека? Что я делаю не так?

Отредактировано yakoff - 04.11.2015
25
yakoff @yakoff
Уважаемые форумчане! ну помогите, брутфорс кодинг положительных результатов не дает.

2
temacoder @temacoder
Добрый день! Сделал вывод названия треков по вашему скрипту и все отлично работает. Но есть один вопрос, почему в логах icecast с каждого IP идет от 5 до 20 запросов в минуту? В коде я указал, чтобы обновление было раз в 60 сек. Вот пример лога:

77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
77.79.136.153 - - [23/Aug/2018:09:21:02 +0300] "GET /status-json.xsl HTTP/1.1" 200 4807 "[url]ссылка[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0

2
temacoder @temacoder
И еще вопрос. Всё это проработало чуть меньше суток, и в итоге айскаст нагрузил проц на 100%. От чего это вдруг?