Умную колонку от Yandex не мог не ждать успех. Популярная «Алиса», русский язык, богатые функциональные возможности и доступная цена – всё это вызвало небывалый ажиотаж, вследствие чего колонка была быстро раскуплена. Купив данный девайс и распаковав его, пользователь может озаботиться вопросами правильного подключения устройства. Ниже разберём, каким образом правильно настроить устройство «Яндекс.Станция». И опишем перечень шагов, которые нам в этом помогут.
Как нужно начать настраивать Яндекс станцию — первое включение
Распаковав приобретённое устройство, нам будет необходимо осуществить процедуру его подключения и настройки.
-
Подключите Яндекс.Станцию в розетку и дождитесь его загрузке. В конце загрузки вас поприветствует голосовой ассистент « Алиса »;
Источник: sdelaicomp.ru
Дорабатываем Яндекс.Станцию для просмотра YouTube
На Яндекс.Станции неудобно смотреть YouTube. Нет рекомендаций, подписок и даже поиск нормально не работает. Поэтому я написал телеграмм бота для отправки на неё любого видео.
Купил в 2022 Яндекс Станцию и это не Макс и вот почему
Под катом история, как я это сделал несмотря на то, что официального открытого API нет.
С чего все началось?
Я инженер. Постоянно изучаю, как работают разные технологии и вещи вокруг, а также делаю много интересных проектов сам. Когда друзья подарили мне Яндекс.Станцию, я зареверсил протокол активации и развил идею передачи данных, ориентированной на wow-эффект.
У меня глупый (не smart) телевизор, а в качестве основной медиа приставки я использую Станцию. Все отлично, да только YouTube смотреть на ней совсем неудобно. Нельзя войти в аккаунт Ютуба, а значит, никаких рекомендаций и подписок. Кроме того, поиск по видео в Станции, как я понял, осуществляется через Яндекс.Видео. К сожалению такая схема не очень хорошо работает.
Иногда не находятся видео даже если дословно произнести название, а новые видео вообще нельзя посмотреть, пока поисковик Яндекса их не проиндексирует.
Я почти смирился с тем, что YouTube на Станции смотреть нельзя, но все изменилось пару недель назад.
Что же произошло?
В субботу утром я решил посмотреть последний сезон «Кремниевой долины». Зашел на «Кинопоиск» и увидел следующее:
После клика по кнопке видео улетело на Яндекс.Станцию и воспроизвелось дальше там. Прямо как ChromeCast или AirPlay. Восторг! Но я обрадовался не самому функционалу, а потенциальной возможности отправить любое видео на станцию.
Я и думать забыл про сериал — на все выходные ушел в реверс инжиниринг и разработку.
Давайте разбираться.
Открываем «Кинопоиск» или «Яндекс.Видео» в Хроме — там отличные инструменты для web разработки. Находим нужную кнопку, кликаем правой клавишей мыши, выбираем «Исследовать элемент».
установка сторонних приложений на Яндекс модуль
Можно много, что там поизучать, но нас интересует, какой запрос выполняется при клике по этой кнопке. Переходим во вкладку «Network» инструментов разработчика и смотрим запросы.
Да, отлетает много статистики, но сразу видно 2 интересных запроса. Это devices_online_stats и station.
Получаем список устройств
devices_online_stats — запрос активных устройств пользователя. Простой GET запрос. Если вы авторизованы в Яндексе, то можете узнать о своих устройствах просто открыв в браузере ссылку:
< «items»:[ < «icon»:»https://avatars.mds.yandex.net/get-yandex-station/1540981/yandexstationicon/orig», «id»:»************», «name»:»Яндекс Станция», «online»:true, «platform»:»yandexstation», «screen_capable»:true, «screen_present»:true >], «status»:»ok» >
Интересно и достаточно интуитивно. ID Станции в примере я заменил на звездочки на всякий случай, но именно он понадобится нам в дальнейшем.
Воспроизводим видео
Запрос на yandex.ru/video/station отправляется методом POST. Повторим его из консоли, получив команду следующим образом:
Запускаем в терминале и получаем ответ:
Через пару секунд видео запускается на станции. Успех!
Собираем
Я удалил все «лишние» поля из запроса так, чтобы он остался рабочим. Для отправки видео на Станцию в тело и заголовки POST запроса нужно положить всего 4 параметра:
- SessionID — авторизация в Яндексе
- x-csrf-token
- provider_item_id — ссылка на видео (или идентификатор для некоторых сервисов)
- device — Идентификатор устройства, который мы получили ранее
К этому моменту я уже стал оборачивать все в скрипт на Python. В итоге функция для отправки видео на станцию выглядит примерно так:
def sendToScreen(video_url): # Auth and getting Session_id auth_data = < ‘login’: config.login, ‘passwd’: config.password >s = requests.Session() s.get(«https://passport.yandex.ru/») s.post(«https://passport.yandex.ru/passport?mode=auth, data=auth_data) Session_id = s.cookies[«Session_id»] # Getting x-csrf-token token = s.get(‘https://frontend.vh.yandex.ru/csrf_token’).text # Getting devices info TODO: device selection here devices_online_stats = s.get(«https://quasar.yandex.ru/devices_online_stats»).text devices = json.loads(devices_online_stats)[«items»] # Preparing request headers = < «x-csrf-token»: token, >data = < «msg»: < «provider_item_id»: video_url >, «device»: devices[0][«id»] > if «https://www.youtube» in video_url: data[«msg»][«player_id»] = «youtube» # Sending command with video to device res = s.post(«https://yandex.ru/video/station», data=json.dumps(data), headers=headers) return res.text
Вы могли заметить, что я добавляю поле player_id если прислана ссылка с Ютуба.
Дело в том, что на Станции есть несколько плееров с кодами youtube, vh и ott. По умолчанию используется vh, но тогда ломается превью и название ролика. Кроме того, его состояние не сбрасывается при смене ролика, что часто вызывает ошибки (Возможно, не все поля в запросе были «лишними»). Плеер ott, как я понял, используется для стриминговых сервисов, а это значит, что в перспективе можно смотреть IPTV через станцию.
Что в итоге?
Сейчас у меня есть бот, через которого мы отправляем видео с Ютуба на Станцию. Просто нажимаем «Поделиться» в приложении YouTube и отправляем ссылку Боту. Кстати, я назвал его «Ящик» и сделал логотип).
Я не стал делать его публичным, чтобы не собирать логины и пароли. Но вы можете развернуть такого же для себя или доработать для OAuth авторизации или отправки видео с других сайтов. Все исходники доступны на GitHub.
Я хотел сделать расширение для браузера, чтобы работало совсем как AirPlay с любыми видео, но понял, что удобнее отправлять из приложения с телефона. А для такого сценария лучше подходит бот. Вот видео его работы:
Заключение
Когда инженеру нехватает функционала, он доделывает его сам. Мы теперь действительно регулярно пользуемся этим ботом — очень удобно 🙂
Разработчики Яндекса, пожалуйста не ломайте этот запрос. Это не уязвимость. Работает только с аутентификацией. А если есть возможность — сделайте API устройств публичным — столько всего можно еще сделать!
Спасибо, что читаете мои статьи! Надеюсь, вам было интересно.
- реверс-инжиниринг
- яндекс.станция
- яндекс.модуль
- Кинопоиск
- телеграм-бот
- Программирование
- Яндекс API
- Реверс-инжиниринг
Источник: habr.com
Плейлисты на Яндекс Станции — Как Создать на Смартфоне и Включить Свою Музыку с Помощью Алисы?
Одной из удобных функций Алисы в Яндекс Станции Лайт, Мини и Макс является возможность по голосовой команде включать на умной колонке музыкальные треки. Причем, это может быть не просто подборка музыки по жанру, стилю или конкретному исполнителю. Алиса умеет выводить на Яндекс Станцию свои собственные плейлисты, созданные через приложение на телефоне. Как их создать и включить на колонке? Разбираемся прямо сейчас!
ВНИМАНИЕ! Акция для читателей WiFika.RU: перейдите по этой ссылке и оформите подписку на Яндекс Плюс БЕСПЛАТНО на 60 дней. И целых 2 месяца смотрите кино и сериалы, слушайте музыку и подкасты, копите и тратьте баллы кешбэка в сервисах Яндекса
Как сделать свой плейлист для Яндекс Станции с телефона?
Итак, для создания своего собственного плейлиста необходимо:
- Установить на смартфон приложение Яндекс Музыка
- Иметь активную подписку на Яндекс Плюс, в который входит Музыка
- Авторизоваться в данном онлайн сервисе под своей учетной записью (email на yandex.ru)
- Привязать Яндекс Станцию или любую другую колонку с поддержкой Алисы (например, JBL) к тому же профилю
Чтобы создать новый плейлист из треков мы открываем приложение Яндекс Музыка
И заходим в раздел «Коллекция» (значок «сердечка» в главном меню) и выбираем здесь «Плейлисты»
По умолчанию в данной рубрике уже имеется плейлист «Мне нравится», который составлен из тех песен, которые вы пометили как избранные. Для создания нового жмем на «плюсик»
И придумываем для него название, например «ВайФайка»
Затем нажимаем на кнопку «Добавить треки»
Появится список самых популярных синглов среди пользователей Яндекс Музыки. Мы можем воспользоваться поиском, чтобы найти свои собственные по названию, композитору или артисту
В результатах поиска выбираем нужные треки, нажав на плюсик рядом с ними
Добавленные в плейлист пометятся галочками
Возвращаемся обратно на страницу плейлиста и видим все добавленные композиции
Ваше мнение — WiFi вреден?
Показать результаты
Проголосовало: 50655
И также если вернуться на уровень выше увидим в списке плейлистов свой только что созданный
Как попросить Алису включить музыку из своего плейлиста?
Теперь мы можем попросить голосового помощника на Яндекс Станции запустить музыку из своего плейлиста для воспроизведения через колонку. Для этого необходимо произнести одну из следующих фраз:
- Алиса, включи плейлист «ВайФайка»
- Алиса, давай послушаем плпейлист «ВайФайка»
- Алиса, поставь плейлист «ВайФайка»
По окончании треков в плейлисте Алиса продолжит воспроизведение музыки, схожей по характеру с теми, которые были только что сыграны.
Как добавить трек в плейлист с помощью Алисы?
Если вы просто слушаете случайную музыку на Яндекс Станции (например, попросили Алису поставить композиции определенного направления), то понравившиеся треки можно добавить в память и впоследствии их воспроизводить. Для этого в момент звучания нужно сказать:
После чего данная композиция появится в стандартном плейлисте «Мне нравится»
Для удаления музыки даем команды:
- Дизлайк
- Мне не нравится
Также все созданный плейлисты очистятся при полном сбросе Яндекс Станции до заводских настроек.
Как добавить в Яндекс Музыку собственный плейлист из других сервисов?
Как вы заметили, добавлять в плейлисты для Станции с Алисой можно только из сервиса «Яндекс Музыка». Из-за ограничений, введенных в связи с нарушениями авторских прав, возможность загружать собственные файлы была некоторое время назад отключена. Но зато осталась функция импорта треков из «чужих» легальных онлайн сервисов. Если у вас уже имеются в них свои плейлисты, то можно их импортировать в Я. Музыку и потом слушать на колонке.
Для добавления композиций необходимо в меню «Коллекции» нажать на иконку в виде шестеренки
И промотать страницу до пункта «Импорт медиатеки»
Здесь еще раз авторизуемся в профиле Yandex
И выбираем сервис, откуда необходимо перенести треки. На данный момент доступны следующие:
- ВК Музыка
- Apple Music
- Spotify
- Last.fm
- Deezer
Теперь входим в аккаунт выбранного онлайн сервиса
Для ВК достаточно вставить ссылку на свою страницу ВКонтакте — система сама перенесет все плейлисты и добавит их в «Любимое из VK Music»
Видео
Также предлагаю ознакомиться с официальной инструкцией по созданию личных плейлистов на сайте поддержки Яндекс
Источник: wifika.ru