question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Allow Native HLS playback on other Platforms

See original GitHub issue

Have you read the FAQ and checked for duplicate open issues? Yes

Is your feature request related to a problem? Please describe.

Would like to use devices native HLS decoder when known. Some TVs allow Playback of encrypted HLS but Shaka intercepts the request and throws error 4034 As Shaka does not support encryption as yet.

Describe the solution you’d like

We would like the option to force the use of the Native HLS player via src like it does automatically for Safari.

Describe alternatives you’ve considered

Alternatives are using a separate player for HLS playback on TV devices when DRM is not available. We are trying to reduce maintenance of players and are hoping we can use the Shaka Player API as is possible for playback via src on Safari.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
joeyparrishcommented, Jan 7, 2021

@avelad, no need. If the proposal would work for @stuartflanagan, I have the change done already locally.

1reaction
joeyparrishcommented, Jan 7, 2021

The logic that controls this is in lib/player.js in shouldUseSrcEquals_().

After all the hard requirements are dealt with, there is a decision between MSE and src= when both are possible. It currently looks like this:

      // We would prefer MediaSource in some cases, and src= in others.  For
      // example, Android has native HLS, but we'd prefer our own MediaSource
      // version there.  For Safari, the choice is governed by the
      // useNativeHlsOnSafari setting of the streaming config.
      return Platform.isApple() && this.config_.streaming.useNativeHlsOnSafari;

How about we create a flag like streaming.preferNativeHls? Then we could change this to:

    if (this.config_.streaming.preferNativeHls) return true;
    if (Platform.isApple()) return this.config_.streaming.useNativeHlsOnSafari;
    return false;

What do you think?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Allow Native HLS playback on other Platforms #3077 - GitHub
We would like the option to force the use of the Native HLS player via src like it does automatically for Safari. ......
Read more >
Native HLS Playback
Allow the browser to play HLS video urls (m3u8) 'natively' ... Switch between zoom and native video size in the options.
Read more >
Playing HLS Video in the Browser | HTTP Live Streaming
The good news is that it is possible to play HLS video in other desktop browsers, such as Chrome or Firefox, but you...
Read more >
HLS Playback - Flussonic Manual
Flussonic allows playback via Apple Low-Latency HLS (LL-HLS) — a streaming protocol that derives from HLS and overcomes its high latency.
Read more >
Native HLS, content groups and a new Q&A overlay - Vidbeo
As such, Apple's Safari browser supports it natively, both in OS X (desktop) and iOS (mobile). That is to say the browser can...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found