Блог

Chromecast, мультирум и Home Assistant

Компания Google создаёт интересные устройства и технологии, но совершенно не умеет о них доносить миру.

Многие наслышаны о технологии Apple AirPlay 2, возможности транслировать с устройств Apple аудио или видео поток по этому протоколу, объединять колонки в Мультирум.

То же самое доступно в технологии Chromecast и даже больше. Но не ограничивается лишь Android устройствами. Поддержка есть в iOS (мне известны приложения YouTube, Google Photos, Plex, ivi) и в любой Desktop ОС (приложение Google Chrome).

Chromecast встроен в:

  • приставки, телевизоры и проекторы на Android TV (стоимость 4К приставок ~ $50)
  • умные колонки и экраны от Google и множество партнёров (стоимость колонок начинается от $20)
  • "свистки" Chromecast (делает только Google)

Все эти устройства можно объединять в группы и использовать как мультирум аккустику. В таком режиме колонки синхронизируют воспроизведение между собой. Колонки и устройства с экраном могут быть объединены в единую группу, но в таком режиме будут воспроизводить только звук.

Google Mini и Google Nest Mini можно объединять в стереопару (только одинаковые колонки).

Кстати Google Nest Mini дистанционно реагирует на руку пользователя (привет Яндекс Станция Мини).

Обе колонки не имеют аудио выхода на внешние колонки, но умеют отправлять музыку на внешнюю аккустику по Bluetooth. Правда в этом случае возможны отставания звука в мультирум режиме. Но их можно поправить, через настройки колонки.

Все Chromecast устройства добавляются в приложение Google Home и воспроизведением можно управлять голосом или из приложения (остановить, перемотать, изменить громкость). Для устройств на Android TV можно управлять только Chromecast воспроизведением, стандартными приложениями управлять нельзя.

В любой момент можно перевести Chromecast воспроизведение с одного устройства на другое (голосом или из приложения).

Если вы обращаетесь к колонке - все Chromecast в этой комнате (в том числе с экраном) приглушают звук.

Свистки Chromecast умеют включать телевизоры через CEC и всегда доступны. А вот устройства на Android TV любят крепко засыпать.

На колонках с экраном можно управлять умным домом как голосом, так через графический интерфейс.

С помощью браузера Google Chrome на Chromecast с экраном можно вывести вкладку браузера, либо весь рабочий стол компьютера на любой Desktop ОС (привет Apple).

На Chromecast без экрана можно транслировать вкладку с музыкальным сайтом, например Яндекс.Музыка.

Приёмники Chromecast на сегодняшний день невозможно подделать, будьте внимательны при покупке чего-нибудь в китае или даже на Amazon.

А вот API открыты и доступны всем разработчикам для встраивания в свои продукты. Если в приложении Яндекс.Музыка под Android есть поддержка Chromecast, а в приложении под iOS или браузерной версии поддержки нет - вопросы только к Яндексу.

Например, у приложения Plex есть поддержка Chromecast на Android, iOS и в браузерной версии. Естественно у YouTube аналогичная ситуация.

Кстати у сервиса ivi c поддержкой Chromecast есть большие проблемы. Для кодирования аудио они выбрали проприетарный формат (снова привет Apple). Фильмы с звуком 5.1 на последних Chromecast просто не запустятся. А если даже вы смотрите ivi не через Chromecast - на некоторой акустике вместо 5.1 услышите только стерео (я встречал проблемы у Yamaha, Sonos).

Home Assistant

Все устройства и группы добавятся в Home Assistant автоматически, если у вас включена интеграция zeroconf или default_config. Если вы объединили несколько устройств в группу, то она добавится в HA только таким способом (как отдельное устройство).

Возможности по управлению, аналогичны Google Home (остановить, перемотать, изменить громкость). Плюс на любом устройстве можно запустить аудио или видео (только на экранах) поток из Интернета или локальной сети.

Если хотите, чтоб по приходу домой вас встречала приятная музыка, можете запустить любимое радио:

automation: - alias: Auto music trigger: platform: state entity_id: binary_sensor.motion_sensor_lobby to: 'on' action: service: media_player.play_media entity_id: media_player.lobby data: media_content_id: 'https://maximum.hostingradio.ru/maximum96.aacp' media_content_type: music

С потоковым аудио, например радио, или одиночным аудио/видео - всё просто. Но что, если хочется воспроизвести целый альбом или плейлист аудио или видео?

API Chromecast поддерживают и этот случай, но, к сожалению, не реализованы в Home Assistant.

Пришлось в очередной раз писать компонент, исправляющий это недоразумение - ссылка.

Компонент заменяет собой уже существующий Media Extractor, но, в отличии от него, поддерживает плейлисты для Chromecast устройств.

Компонент добавляет сервис media_extractor.play_media, который может запустить онлайн видео или аудио с множества Интернет сайтов (был для меня настоящим открытием много лет назад). Некоторым сайтам это не нравится и они могут забанить вам доступ по IP.

Например можно запустить альбом или плейлист с Яндекс.Музыки:

automation: - alias: Auto play music in lobby and kitchen trigger: platform: state entity_id: light.lobby to: "on" action: service: media_extractor.play_media entity_id: media_player.kitchen_and_lobby data: media_content_id: https://music.yandex.ru/album/60062 media_content_type: music shuffle: true

Или включить музыку с YouTube:

https://www.youtube.com/watch?v=K1UWSMxvqm8&list=RDEMrNGHT9RXYuNgUCBIj3U8sg&start_radio=1

Причём, при правильной настройке компонента (описано на github), на колонку пойдёт только аудиодорожка, не нагружая канал Интернет видео частью. А на телевизор уже можно отправить как аудио, так и видео, на ваш выбор.

У сервиса есть опциональный параметр shuffle, позволяющий не слушать постоянно одно и то же.

PS

Я ещё не рассказал, что устройства Chromecast поддерживают запуск приложений. А так же некоторые колонки умеют самостоятельно управлять умным домом в пределах локальной сети без всяких облаков (правда распознавание голоса будет облачным).

Но об этом как-нибудь в следующий раз.


Вот все бы было нормально, но...

Есть колонка jbl playlist 150 (от сети и cromecast внутри).

И довольно часто она теряет связь с серверами гугл. Как итог - поставил Volumio на «малине 0» - оказалась более надежной связкой.

Только личный опыт. 
;)

Я тоже немного жалею, что взял экран Lenovo, вместо Google Nest. По отзывам второй оказался интереснее

Очень интересная тема. А видео с примером реализации нет? Было бы здорово пошаговое описание для не опытных пользователей НА :)

Яндекс колонку мини к системе мультирум подключить возможно? Интересен момент работы микрофона в режиме мультирум. 

Ищу удобный способ передать видео с телефона на телек, с нужной мне скоростью. Я погуглил, единственное, что нашёл - https://github.com/greggman/youtube_chromecast_speed_hack">github.com/greggman/youtube_chromecast_speed_hack, кто-то заморачивался подобным?

Способом https://sprut.ai/client/blog/2326">открытия любого сайта на Chromecast можно этого добиться?

Сайт этот запустится. Только как вы туда передадите ссылку на ролик и скорость... Если вы сделаете свой сайт, где ID ролика YouTube и скорость будут параметрами и передадите именно эту ссылку, думаю, всё заработает.

Спасибо, получается, можно сделать PWA-сайт, на который можно будет отправлять ссылки с youtube, а там уж как-нибудь поменять скорость. Для десктопных браузеров есть расширения, например это - https://github.com/codebicycle/videospeed">https://github.com/codebicycle/videospeed, я так понимаю, что можно написать js код, который будет влазить в плеер youtube, находить там тег video и подкручивать ему скорость. Попробую наверное сделать как-нибудь, если получится, тогда уже куплю Chromecast.

Если сделаете, присылайте мне, я проверю на устройстве

Привет! У меня Google home mini, не работают ссылки с youtube, не понимаю от чего это зависит! вот эта ссылка на поток - http://intenseradio.live-streams.nl:8000/low">http://intenseradio.live-streams.nl:8000/low работает, эта нет - https://tunein.com/radio/Noise-FM-s191972/">https://tunein.com/radio/Noise... в чем проблема, кто подскажет?


Вернуться назад
Вернуться назад