Closed Bug 943584 Opened 11 years ago Closed 8 years ago

Some cbc.ca mobile video streams require HLS support

Categories

(Web Compatibility :: Site Reports, defect)

ARM
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: krudnitski, Unassigned, Mentored)

References

()

Details

(Whiteboard: [serversniff] [country-ca] [video][m3u8] [notcontactready])

I'd love to move CBC from Flash to HTML5 to actually ensure their content is viewable on more platforms. I am getting scuppered at every turn when trying to view CBC player content on smartphones / tablets. 

For all who know, I'm not getting my needed Corrie (Coronation Street) fix as a result and it's making me grumpy!

Thanks, Karen
CBC… horror and shock. Madame, only Radio-Canada! :) Missing a bit of information.

Ok Let's see. http://www.cbc.ca/
/me is trying a section with videos. Menu select News -> Videos -> hmm boom

On Firefox 25 Desktop, Trying http://www.cbc.ca/player/News/ID/2420713953/
"Download Flash Player to view this content."

Accessing with iOS Safari. Entering http://cbc.ca/ and getting redirected to http://www.cbc.ca/m/touch/
Selecting news. Finding a new with a video, redirects quickly through a cds1.yospace.com something and then being redirected to mobilevideo.cbc.ca.

The request is made to a 
http://mobilevideo.cbc.ca/u/[…blahblah…]/video.m3u8
which open the native viewer on iOS. It doesn't open the video inside the browser.

Not too much hope on the side of m3u8. It is Bug 941351


For further testing be sure to remove the cookies. Once the touch Web site is reached a cookie is saved.
Firefox OS, Firefox for Android, receives basically the same mobile site. There's a tooltip popup which is asking if you want to add the site to the home of your **iPhone** even for other devices :) It could just say device. :)


* Firefox for Android: For video, it says in news section that the video is not currently available for your device. This on Android 2.3
* Firefox OS: No message at all, just a blank page
* Opera Mobile (Presto) for Android: redirections happen. Then Android proposes 
**    Opera Mobile for opening and it proposes a video.3gp file to download 
** OR video viewer external app, and it is working.


So this will be a complicated issue. :)

It needs a bit more investigation for video formats, etc. adding Hallvord.

(PS: I didn't try yet to test Radio-Canada)
OS: Windows 8.1 → All
Hardware: x86_64 → ARM
Whiteboard: [serversnif] [country-ca]
Whiteboard: [serversnif] [country-ca] → [serversniff] [country-ca] [video]
Oh the infuriating, Canada-splitting comments I could make.... but considering I really want this stuff fixed, I'll refrain ;-)

The news site is one aspect, although to be honest, on my Nexus 4 which just got upgraded to KitKat, I can go to the cbc.ca/news sit and it punts it out to the 'gallery' and plays the video in there. So I can at least see that.

But if I go to www.cbc.ca/player/Shows/ID/2419995743/ (yes, it's a Corrie episode!), it says I need flash player. (On a previous N4 device, I had gotten flash on there - but haven't done that workaround on this device)

Not sure if this helps at all!
It helps because I suspect they don't everything the same way for each section of their Web sites. So the more information you give the better. 

> "on my Nexus 4 which just got upgraded to KitKat" 

Which browser?
I think I would be shot if I wasn't using Firefox for Android!! 

But it doesn't work in Chrome either, so it's really down to CBC using flash content (I reckon - but will leave that for you to conclude)
ok I went there with Firefox for Android.
So basically what you are asking is that videos are provided in a format which allows to not use Flash… 

I do not have high hopes on that :) Tune the DRM song in here (oops I said it). For their own news channel, it's not that much an issue because they can decide that having the video in a non obfuscated format will be ok.

For TV series and movies, we are entering a very different category of business deals. The people to convince are not the broadcast company but the Copyright holders.
Flash is the only way to control DRM content? Can't we fix that somehow? :)
Regarding M3U8 playlists - if it doesn't play inside the browser but opens externally, see bug 780379 - this should (sort of) work in recent Firefox Android nightlies. (FxOS is probably a different story).
Whiteboard: [serversniff] [country-ca] [video] → [serversniff] [country-ca] [video][m3u8]
On an iPhone, I can go to www.cbc.ca/m/touch/tv.html, click on "22 minutes" and then get a page of videos. Trying to play any of the videos gives me "This content is not accessible from this region" message.

So, it appears that they're serving up HTML5 video to our Canadian friends (albeit with .m3u8, but as Halvord says that's bug 780379 and bug 941351). If we can get them to serve us that content, we'd have a solution for Firefox on Android, and a path forward for Firefox OS.
OK. Let's clarify the bug, because we are not talking about the same issues. I see at least 3 areas

* Videos from the news
  example: http://www.cbc.ca/news/business/housing-affordability-eroding-rbc-says-1.2441868
* Videos from the TV series and TV shows (CBC player)
  example: http://www.cbc.ca/player/Shows/ID/2419995743/
* Music Videos
  example: http://m.music.cbc.ca/concerts/Ali-Siadat-Slo-Mo-Drum-Solo-2013-11-21/videos/How-to-Blow-Smoke-Rings-with-a-Bass-Drum

If I understood Karen, the bug is about **CBC player**
In the link Brad gave, there's no Coronation Street for example http://www.cbc.ca/m/touch/tv.html

From http://www.cbc.ca/m/touch/
I followed 
1. "Program Guide" http://www.cbc.ca/m/touch/pg.html
2. "Schedule" http://www.cbc.ca/m/touch/pg-tv.html
3. Clicking on Coronation doesn't do anything
4. copy and paste the link http://www.cbc.ca/m/touch/coronation_street_hd_dv
   Received "Sorry, we can't find the page you requested. "

No luck.

The full site is very confusing :) and the number of detection and customized content depending on devices AND OEMs seem important. :)


CBC is giving information about its different mobile sites:
http://www.cbc.ca/mobile/sites/

They also have a special section for video + mobile
http://www.cbc.ca/mobile/video/


So my question: Is there someone with an iOS device who is able to access the show "Coronation Street" from the mobile site?
Focusing on the videos use-case (CBC player and the touch experience):

1. Trying to use the cbc player (http://www.cbc.ca/player/Shows), on my Android device (razr i and n4) it clearly states that I need flash and it's not supported. On the iphone, it's even worse - it just jumps back to the homepage without telling you anything. So at least I know why we don't support it on fennec, whereas safari is useless in that regards :)

2. The 'touch' site for TV (http://www.cbc.ca/m/touch/tv.html) bumps you out to another video player, but at least it allows you to play the content there that's listed. I can't say I knew about this, although as you point out, Karl, it doesn't include the all-important Corrie. Same behaviour on safari and android. 

3. http://www.cbc.ca/m/touch/coronation_street_hd_dv yields what you found: "Sorry, we can't find the page you requested." for both my iphone and android.

So the answer is: no, with my iphone 5, I can't get Coronation Street.
I'll link this up with bug 941351 as this is yet another example of finding M3U8 in the wild. Haven't attempted to dig into the details because it seems locale-specific..
Depends on: m3u8video
Whiteboard: [serversniff] [country-ca] [video][m3u8] → [serversniff] [country-ca] [video][m3u8][mentor=hsteen]
Mentor: hsteen
Whiteboard: [serversniff] [country-ca] [video][m3u8][mentor=hsteen] → [serversniff] [country-ca] [video][m3u8]
cbc.ca seems to send desktop content to some Firefox OS UAs, likely version-sensitive :-/.

If you get the mobile site, videos almost work. If you get a video with an add, the ad will even play, but the main video won't. The site generates odd, empy VIDEO elements not linked to any video file:

<div style="width: 100%; height: 100%; position: absolute; overflow: hidden;" id="player50840.player"><div style="width: 100%; height: 100%; background-color: rgb(19, 19, 19); padding: 0px; margin: 0px;" id="player50840.content"><video style="height: 100%; width: 100%;"></video></div></div>
There's some sniffing and video format detection going on here:

http://player.theplatform.com/p/h9dtGB/qgRdACDOgRLC/select/6oHigjWBu_4sf4eee6yHdVpwWWzuP0wr?form=javascript&instance=cp59255&videoWidth=300&videoHeight=168&autoPlay=true
http://pdk.theplatform.com/current/pdk/tpPdk.js

But when I rip some of that code out to place it in a separate file it seems to run OK and detect video support :-/
Karen, I can see some video content here now (Fx Android), what about you?
Flags: needinfo?(krudnitski)
I won't be able to test it out since I'm not in Canada any more - Barbara, could you give this a try when you have a few spare moments? This should ring true to your heart (except the coronation street bit!)
Flags: needinfo?(krudnitski) → needinfo?(bbermes)
Having worked at CBC and the mobile (video) sites myself actually, I know all these areas are pretty disconnected, hence there might be different implementations and UA sniffers in place.

As it stands right now, going to the touch site, clicking on Television, any show, e.g.22 minutes brings me to their mobile version, but no success in actually playing the videos.

http://www.cbc.ca/22minutes/m/videos/clips-season-23/angry-yoga-men-and-facebook

That's pretty pretty bad and we need to find out how to solve this.

If it's on CBCs end and how to serve non-flash content, I probably can get in touch with people at the CBC for a follow-up.
Flags: needinfo?(miket)
Flags: needinfo?(hallvord)
Flags: needinfo?(bbermes)
So, some of the videos play for me (one of the 22minutes clips did work -- one of the actual episodes, not a clip).

But a BaronessVonSketch video did not work: 

HTTP "Content-Type" of "application/x-mpegurl" is not supported. Load of media resource http://v.watch.cbc.ca/p//38e815a-009fd4cb30d//CBC_BARONESS_SKETCH_SHOW_LOST_COMMUNICATION-v2-9109702/CBC_BARONESS_SKETCH_SHOW_LOST_COMMUNICATION-v2-9109702__desktop.m3u8?cbcott=st=1467730076~exp=1467816476~acl=/*~hmac=9d5beb8248510a180ba3884ca4c9e7c6f79e0960022d11440697b2af67c0ac3b failed.38e815a-009fd4cb30d
Error playing media:  MediaError { code: 4 } " http://v.watch.cbc.ca/p//38e815a-009fd4cb30d//CBC_BARONESS_SKETCH_SHOW_LOST_COMMUNICATION-v2-9109702/CBC_BARONESS_SKETCH_SHOW_LOST_COMMUNICATION-v2-9109702__desktop.m3u8?cbcott=st=1467730076~exp=1467816476~acl=/*~hmac=9d5beb8248510a180ba3884ca4c9e7c6f79e0960022d11440697b2af67c0ac3b"

So this really isn't about Flash anymore, I think. It seems some video streams are mp4, and some are HLS. I'm going to update the title to reflect that -- it already depends on Bug 941351.
Flags: needinfo?(miket)
Flags: needinfo?(hallvord)
Summary: CBC player using Flash on Fx for Android → Some cbc.ca mobile video streams require HLS support
Thanks Mike, so once we support HLS, we should be fine?

I'd be curious to know why some are mp4, some are HLS --> I contacted somebody at CBC to confirm.
Bug 1282410 is fixed, So HLS can be played on Fennec and this problem should be fixed I think. I am not in Canada. Can someone in Canada try it?
As for comment 18, here some feedback from the CBC:
---

On the main site (cbc.ca) we deliver our video as progressive mp4s if you don't have Flash installed or disabled, and don't support HLS natively. Using progressive mp4 is not the best way to deliver video online especially long form video like full TV shows.

On our new (watch.cbc.ca) website, which is for our TV shows, we use HLS (H.264/AAC encoded) exclusivity. Desktop Chrome, Firefox, IE require Flash as they don't support HLS natively Safari, Edge*, iOS and Android (most) do have native support for HLS.

We don’t offer a fallback for watch.cbc.ca it is only HLS natively or via Flash. For the most part Android devices can play HLS natively, or we direct user to download our native CBC TV app. We may continue to offer the MP4 fallback for shorter clips such as News, but for live and long form video HLS is our current method of choice.

We hope to eliminate the need for Flash by years end which should address your issue.
For the main site we will be using HLS.js to add HLS support to browsers (Chrome, FF, IE) that don’t have native support. For watch.cbc.ca the player we use (JW) is also adding support for HLS via JS.
When that is done any browser that supports MSE (https://en.wikipedia.org/wiki/Media_Source_Extensions) will be able to play the HLS streams without the need of Flash.
-----
Putting to notcontactready until we know what Mozilla does with M3U8
Whiteboard: [serversniff] [country-ca] [video][m3u8] → [serversniff] [country-ca] [video][m3u8] [notcontactready]
on the other hand I wonder if CBC has moved on the issue. Adam could you test.
http://www.cbc.ca/m/sports/milos-raonic-bows-out-early-at-us-open-1.3743708

Most of the videos are only accessible from Canada.
Flags: needinfo?(astevenson)
Karl, the video you provided does work in Firefox 48 for Android. I tried a few other videos on cbc.ca and they play as well. There is an issue with these when trying to go full screen, it enters full screen mode for a second then the video stops entirely.

For watch.cbc.ca the HLS videos don't play in Firefox 48 for Android. In Firefox 51 for Android the videos play and jump right into full screen, which probably isn't an issue for most people.
Flags: needinfo?(astevenson)
ok thanks adam. This seems to be two separate bugs.

1. watch.cbc.ca
2. and the full screen issue.

I will close this one as FIXED.  
And anyone feel free to open new bugs on https://webcompat.com/ about the other issues.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Update: video on watch.cbc.ca is working properly in Firefox 61 for Android now. No issues with full screen.

Tested with https://watch.cbc.ca/this-hour-has-22-minutes/season-25/episode-21/38e815a-00e2a5200cb
Product: Tech Evangelism → Web Compatibility
Component: Mobile → Site Reports
You need to log in before you can comment on or make changes to this bug.