home-assistant-libs / pychromecast

Library for Python 3 to communicate with the Google Chromecast.
MIT License
2.52k stars 378 forks source link

Create ShakaPlayer Controller #758

Closed juanfadev closed 8 months ago

juanfadev commented 10 months ago

ShakaPlayer is a much more versatile and improved player over the default one. It allows for HLS and DASH play with custom arguments such as DRM. I have included an example of this DRM usage using ClearKey but Widevine or others can be used.

juanfadev commented 9 months ago

@balloob could you please check this PR or get someone to check it? I think it will improve a lot the posibilities for playing any media.

emontnemery commented 9 months ago

Is the shaka player chromecast interface documented somewhere, what arguments does it accept and so on?

We document the bubble upnp player as a backup in the Home Assistant documentation, should we document also the ShakaPlayer?

Lamarqe commented 8 months ago

Google says, they will switch to Shaka player as the default media player as soon as its mature enough: https://developers.google.com/cast/docs/web_receiver/shaka_migration

The Web Receiver SDK will transition to using Shaka Player as the default player for HLS content playback. This will be done in a phased approach to guide partners through the migration process.

  1. Oct '22 The Cast Web Receiver SDK introduces APIs to opt-in to play HLS content on Shaka Player.
  2. H2 '24 The Cast Web Receiver SDK changes the default player to Shaka Player for HLS content playback.

I dont think pychromecast needs to be extended while shaka player is still in this beta-ish phase. If you want to use it, you can still do it, based on a custom controller.