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

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

 

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

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

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

Shoutcast? Icecast?


IceCast

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

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

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

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

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

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

  1.  
  2. <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
  3. <script>
  4. var timeout = 5; // интервал обновления информации в секундах
  5. function getStats(){
  6. $.ajax({
  7. url: "http://185.9.146.179:8000/status-json.xsl",
  8. success: function( response ) {
  9. $('#song-title').text(response.icestats.source.title)
  10. }
  11. });
  12. }
  13. getStats();
  14. setInterval(getStats, timeout * 1000);
  15. </script>
  16. <div id="song-title"></div>


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

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


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

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

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

на

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

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

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

на

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

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

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

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

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

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

0
25
yakoff @yakoff
Установил icecast 2.4.2.
Использую скрипт от Radio-Tochka.com:
  1. <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
  2. <script>
  3. var timeout = 5; // интервал обновления информации в секундах
  4. function getStats(){
  5. $.ajax({
  6. url:"http://188.166.110.220:8000/status-json.xsl",
  7. success:function(response){
  8. $('#song-title').text(response.icestats.source.title)
  9. }
  10. });
  11. }
  12. getStats();
  13. setInterval(getStats, timeout * 1000);
  14. </script>
  15. <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
0
25
yakoff @yakoff
Уважаемые форумчане! ну помогите, брутфорс кодинг положительных результатов не дает.

0
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

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

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.