Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.06.2015, 20:45   #1
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 933
Вес репутации: 967
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Яндекс радио. Поковыряем?

Сегодня зряндекс запустил некое радио
Предлагаю обсудить, как его можно слушать и управлять посредством роутера.
Tohin вне форума   Ответить с цитированием
Старый 04.06.2015, 21:07   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,380
Вес репутации: 9579
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Яндекс радио. Поковыряем?

Нужно с API разбираться
Admin на форуме   Ответить с цитированием
Старый 04.06.2015, 21:55   #3
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 933
Вес репутации: 967
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Яндекс радио. Поковыряем?

Там есть какой-то watch.js который регулярно общается с яндексом в процессе..
Кажется наиболее простой вариант - iOS -> airplay
Tohin вне форума   Ответить с цитированием
Старый 19.11.2016, 11:46   #4
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 933
Вес репутации: 967
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Яндекс радио. Поковыряем?

На текущий момент мне известно:
1. Музыка в формате mp3
2. Треки отдельные, доступны через https. wget съедает на отлично.

Не знаю, стоит ли выкладывать полный пример ссылки, но на первый взгляд она содержит пару идентификаторов сессии и некий track-id
Вот кусок из ссылки /f3b4882c83afdfbb21b4db3ca3b60579/000541a400b71bea/music/6/8/data-0.0:33488662662:5086980?
Также сайт накидывает ведерко печенек. Но они видимо не нужны, ибо wget с роутера отработал без ошибок.

Скрипты для меня нечитабельны...

Шикарное радио могло бы получится.
Tohin вне форума   Ответить с цитированием
Старый 25.08.2018, 10:26   #5
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 933
Вес репутации: 967
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию

Кстати о птичках... Я опять погуглил и нашел что еще в 2016 яндекс открыл API аудио сервисов:
https://yandex.ru/blog/yatechnologie...vedeniya-audio
Ну, товарищи программисты, может подскажете реально ли консольный скрипт под linux/wrt запилить? Хотя меня больше интересует Яндекс Радио, чтобы не набивать треки вручную.
Ну и еще пара ссылок:
https://tech.yandex.ru/audio/
https://github.com/yandex/audio-js/issues/4
https://github.com/nvbn/python-yamusic/
Tohin вне форума   Ответить с цитированием
Старый 25.08.2018, 10:42   #6
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,380
Вес репутации: 9579
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Браузерная версия точно не подойдет.
Нужно смотреть в сторону питона
Admin на форуме   Ответить с цитированием
Старый 25.08.2018, 10:51   #7
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 933
Вес репутации: 967
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию

Хм.. Залез в ява консоль на работающем яндекс.радио

Развернуть для просмотра

Код:
externalAPI.help()
 Внешний интерфейс для расширений Яндекс.Музыки и Яндекс.Радио. Быстрая справка.
 ===============================================================================
 
 Используемые форматы данных
 ---------------------------
 
 Формат описания обложки:
   Ссылка на обложку. Либо строка либо набор строк для составных обложек.
   В ссылке присутствует подстрока "%%", которую требуется заменить на необходимое разрешение.
   Доступны разрешения 30x30, 50x50, 80x80, 100x100, 200x200, 300x300, 400x400
 
 Формат описания трека:
   {String} title - название трека
   {String} link - ссылка на трек
   {Number} duration - длительность трека в секундах
   {Boolean} liked - трек залайкан
   {Boolean} disliked - трек задислайкан
   {Array.<ExternalAPI~ArtistInfo>} artists - список исполнителей
   {String} [version] - версия трека
   {ExternalAPI~AlbumInfo} [album] - альбом трека
   {ExternalAPI~CoverInfo} [cover] - обложка
 
 Формат описания альбома:
   {String} title - название альбома
   {Number} year - год выпуска
   {String} link - ссылка на альбом
   {Array.<ExternalAPI~ArtistInfo>} artists - список исполнителей
   {ExternalAPI~CoverInfo} [cover] - обложка
 
 Формат описания исполнителя:
   {String} title - имя исполнителя
   {String} link - ссылка на исполнителя
   {ExternalAPI~CoverInfo} [cover] - обложка
 
 Формат описания плейлиста:
   {String} title - название плейлиста
   {String} owner - имя владельца плейлиста
   {String} link - ссылка на плейлист
   {ExternalAPI~CoverInfo} [cover] - обложка
 
 Формат описания элементов управления:
   index - возможность запускать воспроизведние трека по его индексу
   next - возможность переключения на следующий трек
   prev - возможность переключение на предудущий трек
   shuffle - возможность включать шаффл
   repeat - возможность включать режим повтора треков
   like - возможность добавлять трек в избранное
   dislike - возможность добавлять трек в чёрный список
 Все поля могут принимать изначения из списка констант:
   CONTROL_ENABLED - доступно
   CONTROL_DISABLED - недоступно
   CONTROL_DENIED - функция отсутствует
 
 Формат описания временных метрик трека (все значения указываются в секундах):
   {Number} position - позиция воспроизведения
   {Number} duration - длительность трека
   {Number} loaded - длительность загруженной части
 
 Программный интерфейс
 ---------------------
 
 Получение данных о треках и текущем источнике:
   getCurrentTrack - данные о текущем треке
   getNextTrack - данные о следующем треке
   getPrevTrack - данные о предыдущем треке
   getTracksList - данные о списке треков
   getTrackIndex - индекс текущего трека в списке треков
   getSourceInfo - данные о текущем источнике воспроизведения
   populate(fromIndex, [after], [before], [ordered]) - подгрузка данных о треках в текущий список воспроизведения. В случае выставления флага ordered, треки будут загружаться с учётом порядка воспроизведения, а не положения в списке
 
 Получение состояния плеера:
   isPlaying - проверка, что плеер запущен и не на паузе
   getControls - получение данных о доступности элементов управления
   getShuffle - получение состояния шаффла (SHUFFLE_ON/SHUFFLE_OFF)
   getRepeat - получение состояния повтора треков (REPEAT_NONE/REPEAT_ALL/REPEAT_ONE)
   getVolume - получние текущей громкости
   getProgress - получение данных о временных метриках трека
 
 Управление плеером:
   play([index]) - запуск воспроизведения трека с указанным индексом. Если индекс не указан, будет запущен текущий выбранный трек
   next - переключение на следующий трек
   prev - переключение на предыдущий трек
   togglePause([state]) - поставить трек на паузу/снять паузу
   toggleLike - добавить трек в избранное/удалить трек из избранного
   toggleDislike - добавить трек в чёрный список/удалить трек из чёрного списка
   toggleShuffle([state]) - переключить режим шаффла (SHUFFLE_ON/SHUFFLE_OFF)
   toggleRepeat([state]) - переключить режим повтора треков (REPEAT_NONE/REPEAT_ALL/REPEAT_ONE)
   setVolume(value) - установить громкость
   toggleMute(state) - включит/выключить звук
   setPosition(value) - установить позицию воспроизведения
 
 Дополнительные команды:
   navigate(url) - переход на страницу с указанным адресом. Адрес задаётся без протокола и домена
 
 События
 -------
 
 Все события являются "чистыми" - в обработчик не передаётся никаких данных. Исключением является событие EVENT_ADVERT - в него передаются данные о рекламе, если она началась или false - если закончилась
 
 EVENT_READY - готовность данного интерфейса
 EVENT_STATE - изменение состояния плеера
 EVENT_TRACK - смена трека
 EVENT_ADVERT - воспроизведение рекламы
 EVENT_CONTROLS - изменение состояния элементов управления (в т.ч. смены состояния шаффла и повтора треков)
 EVENT_SOURCE_INFO - смена источника воспроизведения
 EVENT_TRACKS_LIST - изменения списка треков
 EVENT_VOLUME - изменение громкости
 EVENT_PROGRESS - изменение временных метрик трека
undefined
[свернуть]


Ввел в скрипт-консоль: externalAPI.next() - перешло на воспроизведение следующего трека....

Последний раз редактировалось Tohin; 25.08.2018 в 10:55.
Tohin вне форума   Ответить с цитированием
Старый 25.08.2018, 11:11   #8
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,380
Вес репутации: 9579
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Попробовал запустить в ubuntu питоновский скрипт
Нажмите на изображение для увеличения
Название: pyton.jpg
Просмотров: 4
Размер:	56.8 Кб
ID:	5041
ошибка в 14 строке скрипта.
Где взять модуль BeautifulStoneSoup и как его подключить, я не знаю
Я с питоном сталкиваюсь , можно сказать в первый раз.
Так что не знаю что мне нужно сделать , что бы исправить ошибку

P.S.
Загуглил и как всегда все просто
sudo apt-get install python-beautifulsoup
Admin на форуме   Ответить с цитированием
Старый 25.08.2018, 11:51   #9
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,380
Вес репутации: 9579
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Модуль установил, но все равно не получается запустить
Цитата:
/python-yamusic-master/tests$ python test.py Sussudio
Traceback (most recent call last):
File "test.py", line 179, in <module>
unittest.main()
File "/usr/lib/python2.7/unittest/main.py", line 94, in __init__
self.parseArgs(argv)
File "/usr/lib/python2.7/unittest/main.py", line 149, in parseArgs
self.createTests()
File "/usr/lib/python2.7/unittest/main.py", line 158, in createTests
self.module)
File "/usr/lib/python2.7/unittest/loader.py", line 130, in loadTestsFromNames
suites = [self.loadTestsFromName(name, module) for name in names]
File "/usr/lib/python2.7/unittest/loader.py", line 100, in loadTestsFromName
parent, obj = obj, getattr(obj, part)
AttributeError: 'module' object has no attribute 'Sussudio'
Admin на форуме   Ответить с цитированием
Старый 25.08.2018, 11:57   #10
sunny
Senior Member
 
Аватар для sunny
 
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,465
Вес репутации: 1526
sunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to all
По умолчанию

Цитата:
python2.7
Может питон нужен поновее ?
__________________
Читаю ваши мысли по аватару ...
sunny вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 15:59. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика