https://github.com/AlexxIT/MediaExtractorPro
Play playlists on Chromecast devices from Home Assistant
https://github.com/AlexxIT/MediaExtractorPro
chromecast home-assistant
Last synced: 6 months ago
JSON representation
Play playlists on Chromecast devices from Home Assistant
- Host: GitHub
- URL: https://github.com/AlexxIT/MediaExtractorPro
- Owner: AlexxIT
- Created: 2020-01-19T18:08:36.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-06-09T09:54:56.000Z (over 4 years ago)
- Last Synced: 2024-02-14T21:25:27.063Z (over 1 year ago)
- Topics: chromecast, home-assistant
- Language: Python
- Size: 10.7 KB
- Stars: 16
- Watchers: 5
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MediaExtractorPro for Home Assistant
[](https://github.com/custom-components/hacs)
Переработанная версия компонента [Media Extractor](https://www.home-assistant.io/integrations/media_extractor/).
Оригинальный компонент умеет получать прямые ссылки на видео и музыку с множества сайтов в Интернете. Но не поддерживает плейлисты.
В этой версии я дописал поддержку плейлистов. Пока поддерживаются только [Chromecast](https://www.home-assistant.io/integrations/cast/)-устройства.
Компонент получает прямую ссылку ТОЛЬКО на активное видео или музыку из плейлиста. При старте следующего трека - Chromecast-устройство делает запрос к вашему серверу Home Assistant. Если у вас "криво" настроен [внешний доступ](https://www.home-assistant.io/integrations/http/) - компонент может не работать.
## Установка
**Способ 1.** [HACS](https://hacs.xyz/)
> HACS > Интеграции > 3 точки (правый верхний угол) > Пользовательские репозитории > URL: `AlexxIT/MediaExtractorPro`, Категория: Интеграция > Добавить > подождать > MediaExtractorPro > Установить
**Способ 2.** Вручную скопируйте папку `media_extractor` из [latest release](https://github.com/AlexxIT/MediaExtractorPro/releases/latest) в директорию `/config/custom_components`.
## Настройка
```
media_extractor:
default_query: best # (опционально) качество по умолчанию
customize: # (опционально)
media_player.hall_tv:
video: best[ext=mp4]/best # качество для видео
music: m4a/mp3 # качество для музыки
```Для каждого устройства можно указать предпочтительное качество по [мануалу](https://github.com/ytdl-org/youtube-dl#format-selection).
Через параметр `media_content_type` указывается какой тип медиа хотите запустить.
Например, чтоб запустить плейлист с YouTube на колонке - необходимо при вызове сервиса указать `media_content_type: music`, а в настройках компонента указать для этой колонки `music: m4a/mp3`. Колонки не умеют проигрывать видео и без этой настройки не заработают.
А вот на телевизоре тот же плейлист с YouTube можно указать как `media_content_type: video`.
## Пример использования
Автоматически запустит музыкальный альбом на мультирум (кухня и прихожая) при включении света в прихожей.
```yaml
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
```## Chromecast
Поддерживаются все устройства, которые поддерживают **Google Chromecast**, а это:
- **умные колонки** и **умные экраны** Google и других производителей
- **телевизоры**, **проекторы** и **медиаплееры** на [Android TV](https://www.android.com/intl/ru_ru/tv/) (Sony, Philips, Xiaomi...), не путать с обычной версией **Android**
- "свистки" [Chromecast](https://ru.wikipedia.org/wiki/Chromecast)Все эти устройства можно объединять в группы и использовать как **мультирум** аккустику. В таком режиме колонки синхронизируют воспроизведение между собой.
**Google Mini** и **Google Nest Mini** можно объединять в стереопару (только одинаковые колонки).
Все устройства и группы добавятся в Home Assistant автоматические, если у вас включена интеграция [zeroconf](https://www.home-assistant.io/integrations/zeroconf/) или [default_config](https://www.home-assistant.io/integrations/default_config/).