- Дорабатываем Яндекс.Станцию для просмотра YouTube
- С чего все началось?
- Что же произошло?
- Давайте разбираться.
- Получаем список устройств
- Воспроизводим видео
- Собираем
- Что в итоге?
- Заключение
- Как отправить видео YouTube на Станцию
- Содержание
- Вводная
- Возможности расширения
- Безопасно ли это? Какие данные передаются?
- Мне нравится! Как начать пользоваться?
- На ПК (настольные компьютеры, ноутбуки)
- На смартфонах (полностью поддерживается только на Андроид)
- Установка
- Обновление расширения
- Первый способ
- Второй способ
- Третий способ
- Возможные проблемы и методы решения
- При импорте устройств ничего не происходит/вылезает ошибка «Ошибка при подключении к серверу Яндекса»
- Видео отправляется, но на станции загорается красное кольцо с сообщением об ошибке воспроизведения
- Нажимаю на кнопку отправить, но ничего не происходит
- Нажимаю на кнопку отправить, но показывается совсем другое видео
- Нажимаю на кнопку «Импортировать устройства», но в списке устройств — пусто
- История обновлений
- Версия 1.0.3 от 28.07.2019
- Версия 1.0.2 от 28.07.2019
- Версия 1.0.1 от 25.07.2019
- Ya station cast не работает
Дорабатываем Яндекс.Станцию для просмотра YouTube
На Яндекс.Станции неудобно смотреть YouTube. Нет рекомендаций, подписок и даже поиск нормально не работает. Поэтому я написал телеграмм бота для отправки на неё любого видео.
Под катом история, как я это сделал несмотря на то, что официального открытого API нет.
С чего все началось?
Я инженер. Постоянно изучаю, как работают разные технологии и вещи вокруг, а также делаю много интересных проектов сам. Когда друзья подарили мне Яндекс.Станцию, я зареверсил протокол активации и развил идею передачи данных, ориентированной на wow-эффект.
У меня глупый (не smart) телевизор, а в качестве основной медиа приставки я использую Станцию. Все отлично, да только YouTube смотреть на ней совсем неудобно. Нельзя войти в аккаунт Ютуба, а значит, никаких рекомендаций и подписок. Кроме того, поиск по видео в Станции, как я понял, осуществляется через Яндекс.Видео. К сожалению такая схема не очень хорошо работает. Иногда не находятся видео даже если дословно произнести название, а новые видео вообще нельзя посмотреть, пока поисковик Яндекса их не проиндексирует.
Я почти смирился с тем, что YouTube на Станции смотреть нельзя, но все изменилось пару недель назад.
Что же произошло?
В субботу утром я решил посмотреть последний сезон «Кремниевой долины». Зашел на «Кинопоиск» и увидел следующее:
После клика по кнопке видео улетело на Яндекс.Станцию и воспроизвелось дальше там. Прямо как ChromeCast или AirPlay. Восторг! Но я обрадовался не самому функционалу, а потенциальной возможности отправить любое видео на станцию.
Я и думать забыл про сериал — на все выходные ушел в реверс инжиниринг и разработку.
Давайте разбираться.
Открываем «Кинопоиск» или «Яндекс.Видео» в Хроме — там отличные инструменты для web разработки. Находим нужную кнопку, кликаем правой клавишей мыши, выбираем «Исследовать элемент».
Можно много, что там поизучать, но нас интересует, какой запрос выполняется при клике по этой кнопке. Переходим во вкладку «Network» инструментов разработчика и смотрим запросы.
Да, отлетает много статистики, но сразу видно 2 интересных запроса. Это devices_online_stats и station.
Получаем список устройств
devices_online_stats — запрос активных устройств пользователя. Простой GET запрос. Если вы авторизованы в Яндексе, то можете узнать о своих устройствах просто открыв в браузере ссылку:
Интересно и достаточно интуитивно. ID Станции в примере я заменил на звездочки на всякий случай, но именно он понадобится нам в дальнейшем.
Воспроизводим видео
Запрос на yandex.ru/video/station отправляется методом POST. Повторим его из консоли, получив команду следующим образом:
Запускаем в терминале и получаем ответ:
Через пару секунд видео запускается на станции. Успех!
Собираем
Я удалил все «лишние» поля из запроса так, чтобы он остался рабочим. Для отправки видео на Станцию в тело и заголовки POST запроса нужно положить всего 4 параметра:
- SessionID — авторизация в Яндексе
- x-csrf-token
- provider_item_id — ссылка на видео (или идентификатор для некоторых сервисов)
- device — Идентификатор устройства, который мы получили ранее
Что за x-csrf-token? Не будем сейчас углубляться. Его можно получить просто GET запросом на frontend.vh.yandex.ru/csrf_token если вы авторизованы в Яндексе.
К этому моменту я уже стал оборачивать все в скрипт на Python. В итоге функция для отправки видео на станцию выглядит примерно так:
Вы могли заметить, что я добавляю поле player_id если прислана ссылка с Ютуба. Дело в том, что на Станции есть несколько плееров с кодами youtube, vh и ott. По умолчанию используется vh, но тогда ломается превью и название ролика. Кроме того, его состояние не сбрасывается при смене ролика, что часто вызывает ошибки (Возможно, не все поля в запросе были «лишними»). Плеер ott, как я понял, используется для стриминговых сервисов, а это значит, что в перспективе можно смотреть IPTV через станцию.
Что в итоге?
Сейчас у меня есть бот, через которого мы отправляем видео с Ютуба на Станцию. Просто нажимаем «Поделиться» в приложении YouTube и отправляем ссылку Боту. Кстати, я назвал его «Ящик» и сделал логотип).
Я не стал делать его публичным, чтобы не собирать логины и пароли. Но вы можете развернуть такого же для себя или доработать для OAuth авторизации или отправки видео с других сайтов. Все исходники доступны на GitHub.
Я хотел сделать расширение для браузера, чтобы работало совсем как AirPlay с любыми видео, но понял, что удобнее отправлять из приложения с телефона. А для такого сценария лучше подходит бот. Вот видео его работы:
Заключение
Когда инженеру нехватает функционала, он доделывает его сам. Мы теперь действительно регулярно пользуемся этим ботом — очень удобно 🙂
Разработчики Яндекса, пожалуйста не ломайте этот запрос. Это не уязвимость. Работает только с аутентификацией. А если есть возможность — сделайте API устройств публичным — столько всего можно еще сделать!
Спасибо, что читаете мои статьи! Надеюсь, вам было интересно.
Источник
Как отправить видео YouTube на Станцию
Содержание
Вводная
На момент написания статьи на Яндекс.Станции и Яндекс.Модуле просмотр видео с Youtube очень урезан: нет входа в аккаунт, а значит — отсутствуют тренды, подписки, рекомендованные видео, поиск, трансляции, итд.
Для решения этой проблемы участник комьюнити @HeyAlyosha написал расширение для Яндекс.Браузера «YaStation Cast». После его установки становится возможным транслировать практически все видео и трансляции YouTube на Яндекс.Станцию или Модуль точно так же, как это официально реализовано в Яндекс.Видео. Если вы хотите отправить видео с Android смартфона, попробуйте приложение YCast.
Возможности расширения
- Отправка практически любого видео YouTube на Яндекс.Станцию или Модуль.
- Отправка трансляции (стрима) с YouTube на Яндекс.Станцию или Модуль.
- Возможность быстро найти видео с Youtube на Я.Видео по его названию.
- Быстрый импорт в расширение всех подключенных устройств.
Безопасно ли это? Какие данные передаются?
- Процесс трансляции на Станцию или Модуль сделан точно теми же средствами, что и обычная трансляция из Я.Видео, так что процесс безопасен.
- Все данные хранятся в памяти браузера и передаются только между Яндексом, YouTube и используемыми сервисами (Quasar, закрытое API Станции и Модуля).
- При запросах расширение использует ваши cookie, что позволяет лучше работать с настройками и историей.
Мне нравится! Как начать пользоваться?
Инструкция зависит от устройства:
На ПК (настольные компьютеры, ноутбуки)
После установки расширения при заходе на YouTube в левом верхнем углу каждого видео появятся 2 значка. Разберём их различия:
- Нажатие на эту иконку сразу отправляет видео на Станцию или Модуль.
- Нажатие на эту иконку открывает страницу Яндекс.Видео с поисковым запросом по названию этого видео (сделано на случай изменения существующего API трансляции).
При нажатии на первую кнопку появится окно с привязанными устройствами. Если никакие устройства не привязаны:
- нажмите «Импортировать устройства»,
- После появления списка устройств, нажмите на нужное для трансляции.
Теперь все устройства сохранены в памяти браузера.
При изменении аккаунта, ID у устройств, или привязки/изменения новых/старых устройств обязательно повторите импорт. Подробности на скриншоте справа.
На смартфонах (полностью поддерживается только на Андроид)
Появилось альтерантивное решение, это приложение YCast. Откройте YouTube видео в телефоне, выберите Поделиться и укажите приложение YCast.
Установка
- Если была установлена альфа версия расширения (0.0.1) через режим разработчика, то удаляем её на странице browser://extensions/ или chrome://extensions/ . Выключаем режим разработчика (ползунок в правом верхнем углу)
- Скачиваем и устанавливаем Яндекс.Браузер — browser.yandex.ru, для смартфонов — Мобильный Яндекс.браузер в Google Play
- Устаналиваем расширение Ya.Station Cast — Каталог Расширений Chrome
- После установки производим импорт устройств. Нужно быть авторизованным в Яндексе под аккаунтом, к которому привязаны Станция и Модуль.
Обновление расширения
Первый способ
- В браузере заходим на страницу browser://extensions/ или chrome://extensions/ . Выключаем режим разработчика (ползунок в правом верхнем углу)
- В верхней панели нажимаем «Обновить» или «Обновить всё»
- После сообщения об успешном обновлении, выключаем режим разработчика.
Второй способ
- Переустановить расширение (удалить/установить).
Третий способ
- Ничего не делать, расширение обновится автоматически (от 1 дня до 1 недели).
Возможные проблемы и методы решения
При импорте устройств ничего не происходит/вылезает ошибка «Ошибка при подключении к серверу Яндекса»
Данная ошибка встречается в Яндекс Браузер Бета и некоторых актуальных версиях Яндекс браузера. Решения на данный момент нет: Яндекс.Браузер блокирует запросы расширения. Сейчас общаюсь с поддержкой Яндекс.Браузера по этому поводу, как станет понятно с чем это связано — напишу. Единственный выход на данный момент — пользоваться Хромом или Оперой или попытаться полностью переустановить Я.Браузер (с удалением БРАУЗЕРА, всей истории и настроек, а затем повторной установкой браузера (не бетой)) .
Видео отправляется, но на станции загорается красное кольцо с сообщением об ошибке воспроизведения
- Если ошибку выдаёт просмотренное, недосмотренное видео или видео в плейлисте (красная полоса под превью видео на Ютубе) — обновить расширение до версии 1.0.1 и выше.
- Нажать на кнопку поиска в Яндекс.Видео (правее от иконки «Транслировать»). Некоторые видео с Ютуба Яндекс загружает на свои сервера, после чего они становятся доступны только с Я.Видео.
Нажимаю на кнопку отправить, но ничего не происходит
- 26.07.2019 Яндекс стал запрещать отправку видео с Ютуба. Для решения этой проблемы — обновить версию расширения до 1.0.2 и выше.
- Станция потеряла доступ к интернету или загружает видео, забивающее канал. Решение: просто подождать и проверить доступ к интернету.
- Проверить авторизованы ли вы в Яндексе под аккаунтом, к которому привязаны устройства.
Нажимаю на кнопку отправить, но показывается совсем другое видео
- Результаты поиска на Ютубе закешировались. Полистать (скролл) страницу вверх вниз, данные обновятся.
Нажимаю на кнопку «Импортировать устройства», но в списке устройств — пусто
- Проверить авторизованы ли вы в Яндексе под аккаунтом, к которому привязаны устройства.
История обновлений
Версия 1.0.3 от 28.07.2019
- На мобильной версии Ютуба убраны иконки для трансляции видео на Яндекс.Станцию.
Версия 1.0.2 от 28.07.2019
- Яндекс стал запрещать отправку видео с Ютуба, на всех прошлых версиях расширения трансляция не работает. В версии 1.0.2 от 28.07.2019 года это исправлено на ПК, на смартфонах трансляция видео не работает.
- Улучшен быстрый поиск по видео.
- При развёртывании видео на весь экран иконки расширения теперь пропадают.
Версия 1.0.1 от 25.07.2019
- Иконки трансляций больше не залезают на окно видеоплеера и панель навигации в мобильной версии Ютуб.
- Просмотренные и недосмотренные видео (с таймкодом) больше не вызывают ошибки (красное кольцо) на Станции и Модуле.
- Видео из плейлистов больше не вызывает ошибки (красное кольцо) на Станции и Модуле.
- Улучшен импорт устройств, больше не нужно перезагружать страницу, лист устройств обновится автоматически.
- Если при импорте возникнет ошибка, то появится соответствующее сообщение.
- Добавлена иконка для расширения.
- Расширение добавлено в Каталог Расширений Chrome , метод установки упростился.
- При запуске браузера на ПК пропало предупреждение об установленном через средства разработчика расширении.
- На Вики добавлен блок «Возможные проблемы и способы решения».
Источник
Ya station cast не работает
Яндекс Станция — Обсуждение
Обсуждение » | Яндекс модуль » | Умный пульт Яндекса » | Выбор и сравнение устройств умного дома » | Яндекс. Станция Макс | Яндекс станция Мини »
Процессор:
AllWinner Cortex-A53 4 ядра 1.4 ГГц
Звук:
Диапазон воспроизводимых частот: 50 Гц — 20 кГц
Суммарная мощность: 50 Вт
НЧ-динамики: 1 шт., 30 Вт, 85 мм
ВЧ-динамики: 2 шт., 10 Вт, 20 мм
Пассивные излучатели: 2 шт., 95 мм
Отношение сигнал/шум: 96 дБ
Подключение:
Выход HDMI — HDMI 1.4
Wi-Fi — IEEE 802.11 b/g/n/ac, 2.4 ГГц / 5 ГГц
Bluetooth — Bluetooth 4.1/BLE
Дополнительно:
Размеры (ШxВxГ) — 141x231x141 мм
Вес — 2.9 кг
Для активации станции, аккаунт, привязываемый к станции, должен быть в домене @yandex.ru
В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам раздела через кнопку
Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать Куратором (предварительно изучив шапку темы и все материалы для кураторов).
Сообщение отредактировал podolsk26 — 10.10.21, 08:51
самый интересующий вопрос, тв из сети алиса покажет? напрмер алиса включи канал нтв на ютюб? можно таким методом телек смотреть. или хотя бы яндекс тв
Сообщение отредактировал mister_B — 04.06.18, 12:08
Скорей всего нет, так как на презентации нечего не было про это сказано, фильмы и сериалы будут браться из медиатеки: «Кинопоиска», онлайн-кинотеатра ivi и «Амедиатека»
Сообщение отредактировал kasabucki_timafei — 04.06.18, 13:53
Сообщение отредактировал androboy — 04.06.18, 23:22
Обзоры Муртазина вообще довольно однобокие. Впрочем каждый имеет право на свое мнение.
Хотя если не будет в рознице, в чем я все-же сомневаюсь, это будет почти гарантированный провал.
Лично я колонку куплю, если получится. Она в качестве товара пока фигурирует только на яндекс.маркете и в магазине специализируемся на умных колонках, не густо, ну или яндекс больше не нашел)))
В целом колонка как железка должна быть добротной, качество тех функций что есть у Алисы меня устраивает полностью, новые пусть и не быстро но появляются яндекс.диалоги так вообще потенциально огонь!
Что до гугла, пусть он сначала появится, а потом я еще посмотрю на качество распознания и функциональность в условиях РФ. А то гугл карты тоже есть, а пользуюсь яндексом и дубльгисом.
А вот видео они зря полезли, то чего все хотят — огромной видеотеки у яндекса нет, Иви и прочее мягко говоря так себе, только цену девайса увеличивает. Стоило имхо потом свисток с HDMI выпустить как аксессуар, надо купят.
Сообщение отредактировал alh1m1kus — 04.06.18, 23:44
тоже верно, надо смотреть, если они к концу лета только выпустят в продажу то лично я возможно уже интерес потеряю
Сообщение отредактировал Tom Hagen — 04.06.18, 23:40
А вот в тех.харрактеристике не сказано , на какой она ОС.
Судя по процу(я не спец далеко) , можно предположить что это Андроид. С какой-то неинтересной оболочкой.
Если так , то расширение функционала по-любому возможно и будет.
А так-же , перспектива взлома и кастомов. Мое мнение.
Ещё интересует вопрос — на гаджеты с Андроид (смартфоны и ты боксы) , функционал колонки можно ли будет портировать?
Сообщение отредактировал sormat1 — 05.06.18, 13:27
Вероятность что там андроид крайне мала, в нем просто нет нужды не из-за плейстора же.
Как мне кажется, как и в смарт телеках и много еще где, там дистрибутив линукса а для отрисовки UI использует модифицированный браузер. Дешево и сердито, правда не быстро в плане производительности.
Что-то там ломать смысла вообще не вижу, колонка управляется алисой и имеет голосовое управление. Что там ломать, обои заменить?
Сообщение отредактировал alh1m1kus — 05.06.18, 21:26
Муртазин конечно во многом прав. Не будет в магазинах электроники — это плохо, не посмотреть, не послушать, не надгрызть. Если бы они договорились с кем-нибудь на эксклюзив, хоть с ДНС, хоть со связным — был бы другой результат.
Хотя, про Алису тоже ныли что не полетит, а вон, полетела! Я пользуюсь!
Сообщение отредактировал mister_B — 06.06.18, 11:08
Источник