Skip to content

When streaming live TV on a Chromecast, video and audio are not synchronized #1100

@ThomasHeinrichSchmidt

Description

@ThomasHeinrichSchmidt

The problem

I'm using the default media player in a script to stream German public TV, like this

target:
  entity_id: media_player.cast_t_h_schmidt_de
data:
  media_content_id: https://mcdn.daserste.de/daserste/de/master.m3u8
  media_content_type: video
action: media_player.play_media

While this works fine for the above channel, all other channels I'm trying do actually play the stream but have audio and video out of sync. The audio is about 10 seconds behind the video.
When I play the 'bad' channels using VLC or Chrome, they play in sync as they should.
These are the channel that do not work in sync for me

ZDF    https://zdf-hls-15.akamaized.net/hls/live/2016498/de/high/master.m3u8
HR     https://hrhls.akamaized.net/hls/live/2024525/hrhls/index.m3u8
arte   https://artesimulcast.akamaized.net/hls/live/2030993/artelive_de/index.m3u8
ZDFneo https://zdf-hls-16.akamaized.net/hls/live/2016499/de/high/master.m3u8
3sat   https://zdf-hls-18.akamaized.net/hls/live/2016501/dach/high/master.m3u8

I've found two services on the internet that provide streaming for Chromecast and fail in the same way as Home Assistant does:
Chromecast.Link
Cast HLS_M3U8.
Apparently Home Asisstant is using pychromecast that seems to be not up to date.
From this I conclude that newer technology is required to play these channels properly. The Akamai HLS Player lets you choose hls.js or dash.js, the latter fails while the former works perfectly on my channels.

What version of Home Assistant Core has the issue?

System Information version | core-2024.9.3 -- | -- installation_type | Home Assistant OS dev | false hassio | true docker | true user | root virtualenv | false python_version | 3.12.4 os_name | Linux os_version | 6.6.31-haos-raspi arch | aarch64 timezone | Europe/Berlin config_dir | /config
Home Assistant Community Store GitHub API | ok -- | -- GitHub Content | ok GitHub Web | ok HACS Data | ok GitHub API Calls Remaining | 5000 Installed Version | 2.0.1 Stage | running Available Repositories | 1420 Downloaded Repositories | 6
Home Assistant Cloud logged_in | false -- | -- can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | ok
Home Assistant Supervisor host_os | Home Assistant OS 13.1 -- | -- update_channel | stable supervisor_version | supervisor-2024.09.1 agent_version | 1.6.0 docker_version | 26.1.4 disk_total | 57.8 GB disk_used | 8.1 GB healthy | true supported | true host_connectivity | true supervisor_connectivity | true ntp_synchronized | true virtualization | board | rpi5-64 supervisor_api | ok version_api | ok installed_addons | Terminal & SSH (9.15.0), Home Assistant Google Drive Backup (0.112.1), SQLite Web (4.2.1), Studio Code Server (5.15.0), FTP (5.1.0)
Dashboards dashboards | 4 -- | -- resources | 4 views | 2 mode | storage
Recorder oldest_recorder_run | 24 September 2024 at 14:42 -- | -- current_recorder_run | 24 September 2024 at 16:42 estimated_db_size | 47.57 MiB database_engine | sqlite database_version | 3.45.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Default Media Player, Chromecast Gen 2

Link to integration documentation on our website

https://www.home-assistant.io/integrations/cast/

Diagnostics information

No response

Example YAML snippet

target:
  entity_id: media_player.cast_t_h_schmidt_de
data:
  media_content_id: https://zdf-hls-15.akamaized.net/hls/live/2016498/de/high/master.m3u8
  media_content_type: video
action: media_player.play_media

Anything in the logs that might be useful for us?

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions