GStreamer

gstreamer integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] 允许您通过 gstreamer 管道播放音频。实际上,这意味着您可以直接在运行 Home Assistant 的计算机上播放音频。它特别适合播放 TTS。高级用户可以指定管道来转换音频流和/或将其重定向至其他地方。

要将 gstreamer 媒体播放器添加到您的安装中,请将以下内容添加到您的 configuration.yamlconfiguration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中。 在更改了configuration.yamlconfiguration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件后,重启 Home Assistant 以应用更改。 该集成现在显示在集成页面的 设置 > 设备与服务 下。其实体在集成卡片上以及实体标签上列出。

# 示例 configuration.yaml 条目
media_player:
  - platform: gstreamer

Configuration Variables

name string (Optional)

媒体播放器的名称。

pipeline string (Optional)

一个 gst 管道描述。

仅支持 music 媒体类型。

设置

然后安装以下系统依赖项:

Debian/Ubuntu/Raspberry Pi OS(前称 Raspbian):

sudo apt-get install python3-gst-1.0 \
    gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 \
    gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly \
    gstreamer1.0-tools

Red Hat/CentOS/Fedora:

sudo yum install -y python-gstreamer1 gstreamer1-plugins-good \
    gstreamer1-plugins-ugly

对于 Fedora,将 yum 替换为 dnf

如果您在虚拟环境中运行 Home Assistant,您需要将系统 Python 的 gi 模块链接到您的虚拟环境中:

ln -s /path/to/your/installation/of/gi /path/to/your/venv/lib/python3.4/site-packages

在 Raspberry Pi 上,您可能需要将 Home Assistant 用户添加到 audio 组:

sudo usermod -a -G audio <ha_user>

示例用法

与 TTS 一起使用

要在本地计算机上播放 TTS(例如,如果您将扬声器连接到您的 Raspberry Pi):

media_player:
  - platform: gstreamer

script:
  tts:
    sequence:
      - action: tts.google_say # 或 amazon_polly, voicerss, 等等
        target:
          entity_id: media_player.gstreamer
        data:
          message: "示例文本转语音消息"

与 Snapcast 一起使用

要播放到由 Snapcast 消费的命名管道:

media_player:
  - platform: gstreamer
    pipeline: "audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! wavenc ! filesink location=/tmp/snapcast_gstreamer"