Closed
Bug 941351
(m3u8video)
Opened 11 years ago
Closed 7 years ago
Handle VIDEO element with M3U8 source
Categories
(Core :: Audio/Video: Playback, defect, P2)
Core
Audio/Video: Playback
Tracking
()
RESOLVED
FIXED
Tracking | Status | |
---|---|---|
firefox57 | --- | wontfix |
People
(Reporter: hsteen, Unassigned)
References
(Depends on 1 open bug, )
Details
(Keywords: feature)
Attachments
(1 file)
717 bytes,
text/html
|
Details |
In bug 780379 we implemented functionality in Firefox for Android to pass M3U8 - files on to some system media player if loaded directly. However, this bug still doesn't handle <video src="foo.m3u8">. As iPhone supports this, we see a significant number of mobile video sites using it.
We need to either implement some sort of playlist support for <video> itself, or make sure the file is passed on to a system player if either JS play() is called or the user clicks the play button. Playlist implementation might make this easier to fix on Fx OS too.
Reporter | ||
Updated•11 years ago
|
Comment 1•11 years ago
|
||
Can we fix this with evangelism instead? We want to limit the formats we support in the media elements, and playlist support can easily be added with a polyfill.
Are the m3u8 here actually Apple HTTP Live Streaming manifests? Supporting those is a bit more complicated and requires the MediaSource extensions, still behind a pref. Once we have that in release, sites can make both HLS and DASH work without any special platform support.
Comment 2•11 years ago
|
||
(In reply to Ralph Giles (:rillian) from comment #1)
> Are the m3u8 here actually Apple HTTP Live Streaming manifests?
The file linked from the attachment is an HLS manifest.
Comment 3•11 years ago
|
||
The linked m3u8 is indeed an HLS manifest. It could be supported via MSE in theory (i.e. the spec itself provides sufficient functionality), but I don't believe we have plans to support MPEG-2 TS which is required by HLS.
Comment 4•11 years ago
|
||
Ah, good point. I forgot about having to use mpeg-ts. A MediaSource implementation would have to remux as fragmented mp4, or use your proposed unencapsulated API. We would have some overhead compared to native support, but not significant if we can keep the blob slices zero-copy like padenot was talking about.
Reporter | ||
Comment 5•11 years ago
|
||
We can certainly try to evangelise those sites if we have a good "story" explaining why it would be a better solution to do it differently. If Apple has built more proprietary stuff into this it may be hard to change and thus hard to get sites to change though.
Reporter | ||
Comment 6•11 years ago
|
||
(Also: I don't know what the difference between normal M3U8 and "Apple streaming manifest" is exactly, but I know that my first attempt at writing a test, based on online information about the M3U8 format, ended up with a test that didn't work on the iPhone either..)
Comment 7•11 years ago
|
||
Hallvord - Do you know how prevalent the use of this style of playlist support is on the mobile Web? Can we scrape to find any sites in addition to the two linked as blocked by this bug?
Reporter | ||
Comment 8•11 years ago
|
||
I intend to do some automated research here, but some solutions show just an image with a "play" icon and only create the <VIDEO> tag when the user tries to play the video, so we might not be able to find all instances..
Comment 9•11 years ago
|
||
(In reply to Ralph Giles (:rillian) from comment #1)
> Can we fix this with evangelism instead? We want to limit the formats we
> support in the media elements, and playlist support can easily be added with
> a polyfill.
Can you write up how one would go about supporting playlists with polyfill? Having a document we can link to would help evangelism efforts.
Reporter | ||
Comment 10•11 years ago
|
||
Follow-up question: when I find a site using M3U8 source for <video> elements, how can I check if it's also using the proprietary Apple HLS stuff?
Comment 11•11 years ago
|
||
It has to meet the requirements described here: http://tools.ietf.org/html/draft-pantos-http-live-streaming-07#section-3, and then you would look for the new HLS specific tags. For example, in the Apple example linked above, the top-level m3u8 has a bunch of EXT-X-STREAM-INF entries that identify it as an HLS manifest.
Reporter | ||
Updated•11 years ago
|
Alias: m3u8video
Comment 12•11 years ago
|
||
There is also an interesting discussion about mime type vs sniffing on https://www.w3.org/Bugs/Public/show_bug.cgi?id=11984
Comment 13•11 years ago
|
||
Reporter | ||
Comment 14•11 years ago
|
||
Note: CNN.com sends VIDEO with M3U8 src to devices identifying as Safari on iPhone, and MP4 to those identifying as Android.
Reporter | ||
Comment 15•11 years ago
|
||
Example of CNN's M3U8 usage:
http://cnnios-f.akamaihd.net/i/cnn/big/world/2014/02/10/tsr-dnt-sciutto-iran-warships.cnn_ios_,150,440,650,1240,.mp4.csmil/master.m3u8?__b__=650
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=638000,RESOLUTION=640x360,CODECS="avc1.66.30, mp4a.40.2"
index_2_av.m3u8?e=b471643725c47acd
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=148000,RESOLUTION=400x224,CODECS="avc1.66.30, mp4a.40.2"
index_0_av.m3u8?e=b471643725c47acd
etc..
Comment 16•11 years ago
|
||
That's the strangest m3u I've ever seen. It's just comments, no actual substance. Here's an example of basic m3u [0] and extended [1].
[0] https://github.com/nickdesaulniers/javascript-playlist-parser/blob/master/test/mixed.m3u8
[1] https://github.com/nickdesaulniers/javascript-playlist-parser/blob/master/test/extended.m3u
Maybe apple is doing something strange on top of m3u?
Comment 17•11 years ago
|
||
Yes. Apple calls this HTTP Live Streaming, and it works like DASH. It's kind-of compatible with m3u, but a player needs to understand the comments to make full use of it.
The comments alternate with relative URIs which give the location of playlist resources describing each stream alternate. "Relative URIs MUST be resolved against the URI of the Playlist file that contains it."
See https://tools.ietf.org/html/draft-pantos-http-live-streaming for more information.
Comment 18•10 years ago
|
||
FWIW, I think we shouldn't jump to implementing HLS before MSE with MP4 support has been out there for a while and we've seen how that works out. Once Firefox, IE and Chrome all support MSE with MP4, maybe sites wake up and start using DASH.js for non-Safari browsers.
Reporter | ||
Updated•10 years ago
|
OS: Linux → All
Hardware: x86 → All
Reporter | ||
Comment 19•10 years ago
|
||
NRK.no (basically Norway's BBC) is an example of a site that has three modes: Flash playback for desktop, HTML5 <video> with HLS for iPads - and presumably Android stock browser -, and native apps for iOS and Android. Naturally, none of these work on Firefox OS :-/
Comment 20•10 years ago
|
||
KTLA.com's mobile site using HLS for live video: https://github.com/webcompat/web-bugs/issues/389
Comment 21•10 years ago
|
||
FWIW - JW Player on Firefox 38 still uses flash to display HLS video with .m3u8 manifests even though FF38 has the Cisco Open H.264 codec. (bug #1143841)
Blocks: 1143841
Comment 22•10 years ago
|
||
(In reply to Richard A Milewski[:richard] from comment #21)
> FWIW - JW Player on Firefox 38 still uses flash to display HLS video with
> .m3u8 manifests even though FF38 has the Cisco Open H.264 codec. (bug
> #1143841)
We use platform decoders for MP4 playback. OpenH264 is not useful for video playback.
Reporter | ||
Updated•9 years ago
|
Comment 25•9 years ago
|
||
Depends on https://webcompat.com/issues/389
See Also: → https://webcompat.com/issues/389
Updated•9 years ago
|
Component: Audio/Video → Audio/Video: Playback
Reporter | ||
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/1732
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/779
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/1416
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/1220
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/1102
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/885
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/759
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/756
Updated•9 years ago
|
QA Whiteboard: https://webcompat.com/issues/1949
Updated•9 years ago
|
QA Whiteboard: https://webcompat.com/issues/1949
See Also: → https://webcompat.com/issues/1949
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/1892
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/1703
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/1557
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/1270
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/329
Updated•9 years ago
|
Updated•9 years ago
|
Updated•9 years ago
|
Updated•9 years ago
|
Updated•9 years ago
|
Updated•9 years ago
|
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/2296
Updated•9 years ago
|
See Also: → https://webcompat.com/issues/2201
Updated•9 years ago
|
Updated•9 years ago
|
Reporter | ||
Comment 26•9 years ago
|
||
breaks video on bloomberg.com front page (scroll down for a while to find videos)
(In reply to Hallvord R. M. Steen [:hallvors] from comment #26)
> breaks video on bloomberg.com front page (scroll down for a while to find
> videos)
It this the Ooyala issue? We share a building with Bloomberg in Taipei.
Reporter | ||
Comment 28•8 years ago
|
||
No, Bloomberg seems to use video.js
Updated•8 years ago
|
See Also: → https://webcompat.com/issues/2532
Updated•8 years ago
|
See Also: → https://webcompat.com/issues/2525
Updated•8 years ago
|
Updated•8 years ago
|
See Also: → https://webcompat.com/issues/2563
Comment 30•8 years ago
|
||
Retiring MP4 video output support on August 1st 2016
https://twittercommunity.com/t/retiring-mp4-video-output-support-on-august-1st-2016/66045
"Beginning August 1, 2016, MP4 URLs will be removed from the payload of Tweets that contain video. Twitter website, iOS and Android applications as well as the Fabric SDK have been updated to solely use adaptive streaming. HLS URLs (.m3u8) will remain unchanged and applications currently using MP4 URLs for video playback should move to using these HLS URLs instead. We are making these changes because adaptive streaming provides a higher quality experience for users by delivering more reliable playback, faster start times, and more efficient data usage across variable network conditions.
One week after MP4 URLs have been removed from the Tweet payload, requests for MP4 videos will no longer be served."
Updated•8 years ago
|
Updated•8 years ago
|
See Also: → https://webcompat.com/issues/2610
Updated•8 years ago
|
Updated•8 years ago
|
Updated•8 years ago
|
Comment 31•8 years ago
|
||
¡Hola!
Subscribing as this breaks Nick Jr on my son's Flame =(
¡Gracias!
Comment 33•8 years ago
|
||
tidal.com is using HLS for non-flash users (on desktop): https://github.com/webcompat/web-bugs/issues/2805
Updated•8 years ago
|
See Also: → https://webcompat.com/issues/2805
Comment 34•8 years ago
|
||
yet another one.
https://webcompat.com/issues/2851
See Also: → https://webcompat.com/issues/2851
Comment 35•8 years ago
|
||
Another HLS https://webcompat.com/issues/2854
See Also: → https://webcompat.com/issues/2854
Comment 36•8 years ago
|
||
Another HLS
https://webcompat.com/issues/2898
See Also: → https://webcompat.com/issues/2898
Comment 37•8 years ago
|
||
Another one:
https://webcompat.com/issues/2902
See Also: → https://webcompat.com/issues/2902
Comment 38•8 years ago
|
||
Another HLS
https://webcompat.com/issues/2931
See Also: → https://webcompat.com/issues/2931
Comment 39•8 years ago
|
||
Another one:
https://webcompat.com/issues/2959
See Also: → https://webcompat.com/issues/2959
Comment 40•8 years ago
|
||
See Also: → https://webcompat.com/issues/2979
Comment 41•8 years ago
|
||
Your M3u8 of the week.
https://webcompat.com/issues/3021
See Also: → https://webcompat.com/issues/3021
Updated•8 years ago
|
See Also: → https://webcompat.com/issues/3027
Comment 42•8 years ago
|
||
Yet another HLS issue https://webcompat.com/issues/3458
See Also: → https://webcompat.com/issues/3458
Comment 43•8 years ago
|
||
So, is there a plan yet how to move forward with this, or is the plan still "let's wait and maybe websites will switch to our preferred format of MSE+MP4" (which doesn't seem to be the case)?
Can we at least get a simple solution in (non-adaptive) to solve web compat?
How about: parsing these files, finding the stream with the resolution closest to the element's size (from the larger side) and replacing the src with the URI of the stream that belongs to it?
Comment 44•8 years ago
|
||
(In reply to Mark Straver from comment #43)
> So, is there a plan yet how to move forward with this, or is the plan still
> "let's wait and maybe websites will switch to our preferred format of
> MSE+MP4" (which doesn't seem to be the case)?
>
> Can we at least get a simple solution in (non-adaptive) to solve web compat?
>
> How about: parsing these files, finding the stream with the resolution
> closest to the element's size (from the larger side) and replacing the src
> with the URI of the stream that belongs to it?
There's bug 1286133, not sure when it will ship, maybe 50.
Comment 45•8 years ago
|
||
(In reply to Marco Castelluccio [:marco] from comment #44)
> There's bug 1286133, not sure when it will ship, maybe 50.
That's just for Android - this is also a desktop problem.
Comment 46•8 years ago
|
||
(In reply to Mark Straver from comment #45)
> (In reply to Marco Castelluccio [:marco] from comment #44)
> > There's bug 1286133, not sure when it will ship, maybe 50.
>
> That's just for Android - this is also a desktop problem.
Is it a widespread problem on desktop?
AFAIK Chrome doesn't support it, Internet Explorer doesn't support it (Edge does, so > Windows 10).
Comment 47•8 years ago
|
||
(In reply to Marco Castelluccio [:marco] from comment #46)
> Is it a widespread problem on desktop?
> AFAIK Chrome doesn't support it, Internet Explorer doesn't support it (Edge
> does, so > Windows 10).
It's less widespread I think because of MSE+MP4 support on a number of sites/players that would cause issues on Android lacking that delivery method, but that doesn't take away that it's still an issue. See the list linked to this very bug, among others 779, 1703, 1557, 2525, gh 2302, gh 2408 just from a quick scan through what's been reported.
Comment 48•8 years ago
|
||
I do not use the Flash plugin and I weekly encounter site's that require this for video playback without Flash on desktop.
Updated•8 years ago
|
Updated•8 years ago
|
Updated•8 years ago
|
Updated•8 years ago
|
See Also: → https://webcompat.com/issues/4261
Updated•8 years ago
|
Updated•8 years ago
|
See Also: → https://webcompat.com/issues/4921
Updated•8 years ago
|
See Also: → https://webcompat.com/issues/5079
Updated•8 years ago
|
See Also: → https://webcompat.com/issues/5324
Updated•8 years ago
|
See Also: → https://webcompat.com/issues/5383
Updated•8 years ago
|
See Also: → https://webcompat.com/issues/6048
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/6662
Updated•7 years ago
|
Flags: webcompat?
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/7258
Comment 51•7 years ago
|
||
What is all this telling me? How do I fix my problem?
Comment 52•7 years ago
|
||
(In reply to Charles Moore from comment #51)
> What is all this telling me? How do I fix my problem?
Sorry for the confusion. This is a complicated issue.
If you are the author of the a site which shows this problem in Firefox, please use HLS.js or another player which supports the MediaSource Extensions API.
If you're not the site author, it's just telling you it's a common problem that we've been working on for a long time.
Comment 53•7 years ago
|
||
I am a private individual whose access to the C&TS yard cams became inoperative to me in April.
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/7422
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/7663
Updated•7 years ago
|
Flags: webcompat? → webcompat+
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/94
Comment 54•7 years ago
|
||
Is this why the Apple announcement livestream doesn't work in Firefox?
Flags: needinfo?(giles)
Comment 55•7 years ago
|
||
https://www.apple.com/apple-events/september-2017/ for reference.
Comment 56•7 years ago
|
||
I believe so, at the end of the page: "Requirements: Live streaming uses Apple’s HTTP Live Streaming (HLS) technology. HLS requires an iPhone, iPad, or iPod touch with Safari on iOS 9.0 or later, a Mac with Safari on macOS v10.11 or later, or a PC with Microsoft Edge on Windows 10. Streaming via Apple TV requires an Apple TV (2nd or 3rd generation) with software 6.2 or later or an Apple TV (4th generation).".
Flags: needinfo?(giles)
Comment 57•7 years ago
|
||
(In reply to Joe Hildebrand [:hildjj] (UTC-6) from comment #54)
> Is this why the Apple announcement livestream doesn't work in Firefox?
Yes.
Comment 58•7 years ago
|
||
Probably. The page checks both for HLS support and for Safari/Edge browser names. But Safari is receiving the stream as m3u8, and they usually don't bother to support more open technology.
Updated•7 years ago
|
status-firefox57:
--- → wontfix
Comment 59•7 years ago
|
||
Just for the record the Livestreaming is not working. but the page now shows the recorded version without issue on Firefox 57.
for https://www.apple.com/apple-events/september-2017/
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/10101
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/10919
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/7118
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/7134
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/13467
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/7376
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/8256
Comment 60•7 years ago
|
||
I recommend we close this now. I've gone through all the related bugs, and all except 8 are working as expected (of ~120 in this bug and elsewhere). Will file follow up bugs.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Updated•7 years ago
|
See Also: → https://webcompat.com/issues/10139
You need to log in
before you can comment on or make changes to this bug.
Description
•