Streaming videos over HLS is not supported

Bug #1408760 reported by Tommy Brunn
124
This bug affects 17 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Confirmed
High
Bill Filler
Oxide
Won't Fix
Undecided
Unassigned
webbrowser-app (Ubuntu)
Invalid
High
Olivier Tilloy

Bug Description

Try going to a https://twitch.tv and open any live stream. Hopefully you should be redirected to https://twitch.tv/:streamer-slug/mobile, where there's a video being streamed over HLS. Clicking on the play button makes the video look like it's initializing for a second, and then nothing happens. Just in case there was something funky with that particular implementation, I also tried it at https://hitbox.tv, but had the same thing happen.

Related branches

Olivier Tilloy (osomon)
summary: - Streaming video does not work
+ Streaming video on twitch.tv does not work
Revision history for this message
Tommy Brunn (tommybrunn) wrote : Re: Streaming video on twitch.tv does not work

I'm not sure the new title is really correct. I don't know of that many providers of html5 streaming video, but since the problem persists both on Twitch and on Hitbox, I would suspect that it applies to all streaming video that uses HLS with an m3u8 playlist, not just Twitch. I could be wrong, though.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Thanks for the update Tommy. Until the problem is confirmed to be generic, I’d rather keep the title specific.
If you get a chance to test the use case with other HTML5 streaming video services, your feedback here will be very welcome (and feel free to update the title again if your suspicions were founded).

Revision history for this message
Tommy Brunn (tommybrunn) wrote :

That makes sense. I just wanted to make sure that the bug wasn't necessarily passed off as an edge case for a single provider. I'll see if I can find some other examples and check if they have the same problem.

Revision history for this message
Tommy Brunn (tommybrunn) wrote :

I can verify that live streams on Youtube don't work either.

To reproduce:
1. Go to http://m.youtube.com/channel/SBAaOjE-GIlRI (I typed that URL manually, so the I and l may be switched up. Just google for "youtube live stream" if it doesn't work)
2. Tap on one of the currently live streams

At that point, the advertisement audio plays, but the video itself is black. Once the advertisement ends, a message pops up saying that the video couldn't be loaded (see attached screenshot).

Revision history for this message
Olivier Tilloy (osomon) wrote :

Indeed it seems it’s a general problem with live video streams. Updating the title again. Thanks for the investigation Tommy!

summary: - Streaming video on twitch.tv does not work
+ Streaming video does not work
Revision history for this message
Olivier Tilloy (osomon) wrote : Re: Streaming video does not work

For youtube live streams, the issue seems to be with the user agent we send: a simple Oxide webview without a user agent set opens the desktop page, and the live stream plays fine.

Changed in webbrowser-app:
status: New → Confirmed
importance: Undecided → High
tags: added: video
Olivier Tilloy (osomon)
Changed in webbrowser-app (Ubuntu):
status: New → Confirmed
Changed in webbrowser-app (Ubuntu RTM):
status: New → Confirmed
Changed in webbrowser-app (Ubuntu):
importance: Undecided → High
Changed in webbrowser-app (Ubuntu RTM):
importance: Undecided → High
Changed in webbrowser-app:
status: Confirmed → Invalid
importance: High → Undecided
Revision history for this message
Olivier Tilloy (osomon) wrote :

From a duplicate bug report: http://zoo.sandiegozoo.org/cams/koala-cam doesn’t work on devices either, it’s very likely that it’s the same issue.

no longer affects: webbrowser-app
Revision history for this message
Olivier Tilloy (osomon) wrote :

This still doesn’t work with oxide 1.14 on the latest rc-proposed image.

Bill Filler (bfiller)
Changed in webbrowser-app (Ubuntu):
assignee: nobody → Olivier Tilloy (osomon)
Changed in canonical-devices-system-image:
assignee: nobody → Bill Filler (bfiller)
importance: Undecided → High
milestone: none → backlog
tags: added: system-apps
Changed in canonical-devices-system-image:
status: New → Confirmed
Revision history for this message
XaRz (perecastanyer) wrote :

It's this bug the reason why Plex web app not working in my BQ m10 OTA-11? (bug 1588203)

Revision history for this message
Olivier Tilloy (osomon) wrote :

Probably. Test URL: http://app.plex.tv/web/app (requires a user account).

Revision history for this message
XaRz (perecastanyer) wrote :

Confirmed.
Is the same problema. Pehaphs high priority is not enough in this bug... as nowadays a platforms without video streaming will becamoe critical.

How can I help to debug this? I have a bq OTA-11 in stable channel. there are some improvements to test or we are stalled?

Ragards.

Revision history for this message
Olivier Tilloy (osomon) wrote :

The following UA override makes live streams work on youtube.com:

["^https?:\/\/(www|m)\.youtube\.com\/", "Mozilla/5.0 (Linux; Android 5.0;) AppleWebKit/537.36 Chrome/51.0.2704.79 Mobile Safari/537.36"],

Revision history for this message
Olivier Tilloy (osomon) wrote :

The above override applied to twitch.tv and hitbox.tv doesn’t improve things.

On twitch.tv, I’m seeing a slew of errors printed out on the javascript console, notably about requests being blocked because they try to load insecure resources. Also:

qml: [JS] (https://www.twitch.tv/:0) XMLHttpRequest cannot load chrome-extension://boadgeojelhgndaghljhdicfkmllpafd/cast_sender.js. Cross origin requests are only supported for protocol schemes: http, data, chrome, https.
qml: [JS] (https://www.twitch.tv/:0) XMLHttpRequest cannot load chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm/cast_sender.js. Cross origin requests are only supported for protocol schemes: http, data, chrome, https.
qml: [JS] (https://www.twitch.tv/:0) XMLHttpRequest cannot load chrome-extension://hfaagokkkhdbgiakmmlclaapfelnkoah/cast_sender.js. Cross origin requests are only supported for protocol schemes: http, data, chrome, https.
qml: [JS] (https://www.twitch.tv/:0) XMLHttpRequest cannot load chrome-extension://fmfcbgogabcbclcofgocippekhfcmgfj/cast_sender.js. Cross origin requests are only supported for protocol schemes: http, data, chrome, https.
qml: [JS] (https://www.twitch.tv/:0) XMLHttpRequest cannot load chrome-extension://enhhojjnijigcajfphajepfemndkmdlo/cast_sender.js. Cross origin requests are only supported for protocol schemes: http, data, chrome, https.
qml: [JS] (https://www.twitch.tv/assets/global-0ae272a6628b5b205900d5a80b576e49.js:30) No cast extension found

On hitbox.tv, I’m seeing only the following error:

[0609/115148:ERROR:render_media_log.cc(23)] MediaEvent: PIPELINE_ERROR demuxer: could not open

Revision history for this message
Olivier Tilloy (osomon) wrote :

I’m getting the same demuxer error when trying to play Nasa TV’s live stream (https://www.nasa.gov/multimedia/nasatv/).

Revision history for this message
Olivier Tilloy (osomon) wrote :

Standalone test case for oxide:

import QtQuick 2.4
import com.canonical.Oxide 1.15
WebView {
  url: "https://www.nasa.gov/multimedia/nasatv/"
  context: WebContext {
    userAgent: "Mozilla/5.0 (Linux; Android 5.0;) AppleWebKit/537.36 Chrome/51.0.2704.79 Mobile Safari/537.36"
  }
  onJavaScriptConsoleMessage: console.log("[JS] (%1:%2) %3".arg(sourceId).arg(lineNumber).arg(message))
}

And here is the output when launched in qmlscene on arale:

qml: [JS] (https://www.nasa.gov/sites/all/modules/scald_twitter/scald_twitter.js?o7tar6:23) Uncaught ReferenceError: jQuery is not defined
qml: [JS] (https://www.nasa.gov/multimedia/nasatv/:0) Mixed Content: The page at 'https://www.nasa.gov/multimedia/nasatv/' was loaded over a secure connection, but contains a form which targets an insecure endpoint 'http://nasasearch.nasa.gov/search'. This endpoint should be made available over a secure connection.
qml: [JS] (https://www.nasa.gov/multimedia/nasatv/:0) Mixed Content: The page at 'https://www.nasa.gov/multimedia/nasatv/' was loaded over a secure connection, but contains a form which targets an insecure endpoint 'http://nasasearch.nasa.gov/search'. This endpoint should be made available over a secure connection.
qml: [JS] (https://www.nasa.gov/multimedia/nasatv/#public:0) Mixed Content: The page at 'https://www.nasa.gov/multimedia/nasatv/#public' was loaded over HTTPS, but requested an insecure script 'http://79423.analytics.edgesuite.net/html5/akamaihtml5-min.js'. This request has been blocked; the content must be served over HTTPS.
qml: [JS] (https://www.nasa.gov/multimedia/nasatv/#public:0) Mixed Content: The page at 'https://www.nasa.gov/multimedia/nasatv/#public' was loaded over HTTPS, but requested an insecure video 'http://nasatv-lh.akamaihd.net/i/NASA_101@319270/master.m3u8'. This content should also be served over HTTPS.
[0609/120740:ERROR:render_media_log.cc(23)] MediaEvent: PIPELINE_ERROR demuxer: could not open
qml: [JS] (https://www.nasa.gov/multimedia/nasatv/#public:0) Mixed Content: The page at 'https://www.nasa.gov/multimedia/nasatv/#public' was loaded over HTTPS, but requested an insecure video 'http://nasatv-lh.akamaihd.net/i/NASA_101@319270/master.m3u8'. This content should also be served over HTTPS.
[0609/120802:ERROR:render_media_log.cc(23)] MediaEvent: PIPELINE_ERROR demuxer: could not open
qml: [JS] (undefined:0) Uncaught (in promise) NotSupportedError: Failed to load because no supported source was found.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Attaching a screenshot with the details of chrome://media-internals for the Nasa TV stream.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Duplicate of bug #1462195 ?

Revision history for this message
Olivier Tilloy (osomon) wrote :

It seems HLS is supported only in chrome on android.
According to https://bugs.chromium.org/p/chromium/issues/detail?id=54198, websites serving their content over HLS are out of luck.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Note that the youtube issue is different, as a simple UA override addresses it.

Revision history for this message
Olivier Tilloy (osomon) wrote :

The issue with plex.tv is most likely the same: using HLS to stream videos.

summary: - Streaming video does not work
+ Streaming videos over HLS is not supported
Revision history for this message
Olivier Tilloy (osomon) wrote :

I marked bug #1462195 as a duplicate of this one, as this one has more detailed information.

Changed in webbrowser-app (Ubuntu):
status: Confirmed → Invalid
no longer affects: webbrowser-app (Ubuntu RTM)
Changed in oxide:
status: New → Won't Fix
Revision history for this message
Olivier Tilloy (osomon) wrote :

Set the status to "Won’t Fix" to reflect the status of the upstream bug report: https://bugs.chromium.org/p/chromium/issues/detail?id=180632.

Revision history for this message
XaRz (perecastanyer) wrote : Re: [Bug 1408760] Re: Streaming videos over HLS is not supported

Thanks Olivier. Only a question from a newbie.
As I understand, or plex develop his own app for Ubuntu touch or no way to
have plex streaming in UT devices, right?

Regards,

2016-06-09 13:09 GMT+02:00 Launchpad Bug Tracker <<email address hidden>
>:

> ** Branch linked: lp:~osomon/webbrowser-app/youtube-livestreams-3g
>
> --
> You received this bug notification because you are subscribed to a
> duplicate bug report (1588203).
> https://bugs.launchpad.net/bugs/1408760
>
> Title:
> Streaming videos over HLS is not supported
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/canonical-devices-system-image/+bug/1408760/+subscriptions
>

--
Pere Castanyer Sardà
Cap Tecnològic a Netnerd - http://www.netnerd.cat
Solucions en Tecnologia.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Or rather, plex.tv should migrate from HLS to MPEG-DASH (see https://bugs.chromium.org/p/chromium/issues/detail?id=109652).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.