Тема: Нужен скрипт для вывода тегов из IceCast на сайт
Нужен скрипт для вывода названия текущего трека на сайт.
Первый русскоязычный форум посвященный интернет-радиовещанию
Форум интернет радио Icecast и Shoutcast → Технологии вещания, софт, скрипты → Нужен скрипт для вывода тегов из IceCast на сайт
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Нужен скрипт для вывода названия текущего трека на сайт.
Shoutcast? Icecast?
пишет Radio-Tochka.com:
Shoutcast? Icecast?
IceCast
Ссылку на поток можете опубликовать? Нужно версию посмотреть.
пишет Radio-Tochka.com:
Ссылку на поток можете опубликовать? Нужно версию посмотреть.
http://185.9.146.179:8000/
Сейчас идет тестирование Сервера и ПО
Кладем в web директорию icecast'a эти два файла:
http://radio-tochka.com/icecast/status-json.xsl
http://radio-tochka.com/icecast/xml2json.xslt
после этого из Javascript можно сделать запрос по адресу http://185.9.146.179:8000/status-json.xsl и получить 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>
Демо (с другим потоком)
http://radio-tochka.com/icecast
Отредактировано Radio-Tochka.com (25-10-2015 00:35:42)
пишет Radio-Tochka.com:
Останется сделать вывод этой информации на странице
Все сделал. Но отображается только название трека, исполнителя нет
http://185.9.146.179:8000/test.html
Если нужна полная строка с исполнителем и названием трэка, то в скрипте заменить это:
$('#song-title').text(response.icestats.source.title)
на
$('#song-title').text(response.icestats.source.yp_currently_playing)
пишет Radio-Tochka.com:
Если нужна полная строка с исполнителем и названием трэка, то в скрипте заменить это:
$('#song-title').text(response.icestats.source.title)
на
$('#song-title').text(response.icestats.source.yp_currently_playing)
Спасибо! Возможно, еще понадобится Ваша помощь позднее
Если Два потока на одном сервере IceCast (mp3 и aacp+), то не выводится информация о треке.
Как в таком случаи быть?
теперь, когда их два, нужно взять первый из массива:
$('#song-title').text(response.icestats.source[0].yp_currently_playing)
Можно ли сделать чтобы название трека сохранялось и соответственно переписывалось в случаи изменения в .txt файл, а оттуда он будет выводиться в плеер на сайте. Способ брать из текстового файла у меня есть, мне нужно чтобы из скрипта сохранялось в этот файл
Установил 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>
Ничего не кажет.. в то же время файл "http://188.166.110.220:8000/status-json.xsl" доступен через браузер.
Пробовал использовать Ваш файл "http://185.9.146.179:8000/status-json.xsl" - все работает: вытаскиваю все данные, какие хочу, то есть с принципом работы немного разобрался.
При использовании файла со своего сервера - ничего не отображает. Пробовал обратиться и к 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 (05-11-2015 00:38:46)
Уважаемые форумчане! ну помогите, брутфорс кодинг положительных результатов не дает.
Добрый день! Сделал вывод названия треков по вашему скрипту и все отлично работает. Но есть один вопрос, почему в логах 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 "ссылка" "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 "ссылка" "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 "ссылка" "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 "ссылка" "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 "ссылка" "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 "ссылка" "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 "ссылка" "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 "ссылка" "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 "ссылка" "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 "ссылка" "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 "ссылка" "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 "ссылка" "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 "ссылка" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 0
И еще вопрос. Всё это проработало чуть меньше суток, и в итоге айскаст нагрузил проц на 100%. От чего это вдруг?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форум интернет радио Icecast и Shoutcast → Технологии вещания, софт, скрипты → Нужен скрипт для вывода тегов из IceCast на сайт