Closed
Bug 1174784
Opened 9 years ago
Closed 9 years ago
YouTube video playback broken with Android version in UA string (because they are serving 3GP instead of MP4)
Categories
(Web Compatibility :: Mobile, defect)
Web Compatibility
Mobile
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: miketaylr, Assigned: karlcow)
References
Details
(Keywords: verifyme, Whiteboard: [country-all][serversniff][sitewait] [uaoverride])
STR: With an Android version in the Fennec UA String (which is coming soon),
1) Visit m.youtube.com
2) Click on any video
Expected: Plays
Actual: "Video can't be played because the file is corrupt."
Looking at this, we are getting sent an mp4 video--but we don't know how to decode it. So based on the UA string Google is sending something slightly different.
For example, in the console I see:
Media resource http://r1---sn-uhvcpax0n5-q4fl.googlevideo.com/videoplayback?mv=m&pl=24&mt=1434386712&sparams=dur%2Cid%2Cip%2Cipbits%2Citag%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&ms=au&id=426496034a159787&fexp=903945%2C9407016%2C9407887%2C9408093%2C9408142%2C9408420%2C9408710%2C9409172%2C9409228%2C9413155%2C9413503%2C9414917%2C9415304%2C9415636%2C9416137%2C9416362%2C952640%2C962714&itag=36&signature=870B4EE04BAB65E78225D177A5130CF519CE1865.1E8610B1EEC27B33148C84FCBBF9A82BE7798B56&expire=1434408355&sver=3&ip=208.54.86.142&mime=video%2F3gpp&key=yt5&ipbits=0&mn=sn-uhvcpax0n5-q4fl&source=youtube&mm=31&upn=e9MojxtfZ_I&dur=816.831&cpn=MNGsJsOJE0c8PEJG could not be decoded.
However, if you spoof from Desktop, the same video plays.
Reporter | ||
Comment 1•9 years ago
|
||
We can use a UA override to fix this (which should be in place before we ship the UA version, IMO). But that depends on Bug 1163759.
In the meantime, we should reach out to Google and let them know about this upcoming change.
Karl, can you pass this along?
Depends on: 1163759
Whiteboard: [country-all][serversniff][contactready]
Reporter | ||
Comment 2•9 years ago
|
||
This is possibly related to Bug 1167647, given that it works in Desktop and not in Fennec.
Output from ffprobe:
Reporter | ||
Comment 3•9 years ago
|
||
Cool, thanks Bugzilla for swallowing my emoji. Actual output:
ffprobe -loglevel error -show_streams youtube.mp4
[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=Constrained Baseline
codec_type=video
codec_time_base=1/48
codec_tag_string=avc1
codec_tag=0x31637661
width=358
height=272
has_b_frames=0
sample_aspect_ratio=1:1
display_aspect_ratio=179:136
pix_fmt=yuv420p
level=13
color_range=N/A
color_space=unknown
timecode=N/A
id=N/A
r_frame_rate=24/1
avg_frame_rate=24/1
time_base=1/24
start_pts=0
start_time=0.000000
duration_ts=53613
duration=2233.875000
bit_rate=253721
max_bit_rate=N/A
nb_frames=53613
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
TAG:creation_time=1970-01-01 00:00:00
TAG:language=und
TAG:handler_name=VideoHandler
[/STREAM]
[STREAM]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=unknown
codec_type=audio
codec_time_base=1/44100
codec_tag_string=mp4a
codec_tag=0x6134706d
sample_fmt=fltp
sample_rate=44100
channels=2
channel_layout=stereo
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/44100
start_pts=0
start_time=0.000000
duration_ts=98513920
duration=2233.875737
bit_rate=95999
max_bit_rate=N/A
nb_frames=96205
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
TAG:creation_time=2015-03-26 11:27:09
TAG:language=und
TAG:handler_name=IsoMedia File Produced by Google, 5-11-2011
[/STREAM]
Assignee | ||
Comment 4•9 years ago
|
||
Mike: Does it change depending the version number which is being sent?
Contacted Google about it.
Flags: needinfo?(kdubost) → needinfo?(miket)
Assignee | ||
Comment 5•9 years ago
|
||
YouTube has been contacted.
> FYI, I've filed a bug with the YouTube mobile web team on this. Thanks for the report.
Also they asked about the UA.
I replied:
=================
Here the version of Firefox is not relevant, aka 36.0
Previously and still out there (do not deprecate this)
Mozilla/5.0 (Android; Mobile; rv:36.0) Gecko/36.0 Firefox/36.0'
The modifications:
Mozilla/5.0 (Android Version_number; Mobile; rv:36.0) Gecko/36.0 Firefox/36.0'
The version_number will probably not be < 4.4
To note that this is mainly to pass some JS on the Web which are blocking for some version numbers and/or the lack of it. So it's not necessary representative of the video features supported by the device.
=================
Assignee: nobody → kdubost
Status: NEW → ASSIGNED
Whiteboard: [country-all][serversniff][contactready] → [country-all][serversniff][sitewait]
Reporter | ||
Comment 6•9 years ago
|
||
(In reply to Karl Dubost :karlcow from comment #4)
> Mike: Does it change depending the version number which is being sent?
I didn't test different versions, just 4.4.
> Contacted Google about it.
Thanks!
Assignee | ||
Updated•9 years ago
|
Whiteboard: [country-all][serversniff][sitewait] → [country-all][serversniff][sitewait] [uaoverride]
Reporter | ||
Comment 7•9 years ago
|
||
Karl, can we ping Youtube/Google again? Bug 1178760 may be fallout from this (still investigating why the override isn't working?).
Reporter | ||
Comment 8•9 years ago
|
||
Interesting results:
On 41 + 42 Tablet UA (includes Android version) (Nexus 7): inline HTML5 video works (cool!)
On 40 Tablet UA (does not include Android version): we're sent off to Youtube app
On 41 + 42 Mobile UA (includes Android version) (Nexus 7): https://cloudup.com/cbi3ICZf9_E "Video format or MIME type is not supported"
On 40 Mobile UA (does not include Android version): we're sent off to Youtube app
Bug 1179300 will override the UA string for Aurora and Nightly so we can at least get back to the app behavior for mobile. Unfortunately that will mean that tablet (at least on Nexus 7?) will go back to app behavior.
The best scenario here is to have inline HTML5 video in mobile *and* tablet.
Assignee | ||
Comment 9•9 years ago
|
||
I wonder if there are cases where the inline HTML5 video is not working on tablets because of certain expectations. Also I remember a previous email from Google about YouTube API (from August 2014).
> MSE is used by default for playback of most videos
> in FF Nightly (v34). Some popular music content may
> not work with the HTML5 player yet.
>
> VP9 is used by default in the HTML5 player for
> popular videos (e.g. [1]) where transcodes are
> available. You can pick any unpopular video (e.g.
> [2]) if you want H.264.
>
> [1]: https://www.youtube.com/watch?v=ovqM72em1dA
> [2]: https://www.youtube.com/watch?v=pwg7BUxWFEs
Flags: needinfo?(kdubost)
Assignee | ||
Comment 10•9 years ago
|
||
It was related to Bug 980833
Reporter | ||
Updated•9 years ago
|
Updated•9 years ago
|
Blocks: b2g-youtube
Comment 12•9 years ago
|
||
@Karl - Did we ever re-ping the contacts at YouTube/Google on this issue?
Flags: needinfo?(kdubost)
Assignee | ||
Comment 13•9 years ago
|
||
Mike is still the same since YouTube released their new player last week?
Flags: needinfo?(kdubost) → needinfo?(miket)
Reporter | ||
Comment 14•9 years ago
|
||
Nope, with the override removed we still get the "Video format or MEME type is not supported."
Flags: needinfo?(miket)
Assignee | ||
Comment 15•9 years ago
|
||
Sent a reminder to Google today.
Comment 16•9 years ago
|
||
Anthony says YouTube is serving us 3GP instead of MP4.
Summary: Youtube video playback broken with Android version in UA string → YouTube video playback broken with Android version in UA string (because they are serving 3GP instead of MP4)
Comment 17•9 years ago
|
||
None of these problems are present if the video is embedded, for example the following link offers a fully working YouTube player in Firefox for Android: https://www.youtube.com/embed/GrJczjVT0Xk
However it is not optimized for mobile. The interface has no difficulties with identifying the type of files the browser can play, but for some reason they are not using the same method for their mobile player version resulting in being unable to play videos in the browser (opens in their app only) or when it tries to play it throws a mimetype error because it is trying to play a format that the browser does not handle (the before mentioned 3gp).
It would be best for now if YouTube would use in the mobile player the same behavior as the desktop player to identify and load the correct files.
Comment 18•9 years ago
|
||
YouTube says this issue is known and assigned, but a fix will be a few more days away.
Comment 20•9 years ago
|
||
Mike, is YouTube still serving 3GP to Fennec when "Android" is in the UA string?
Flags: needinfo?(miket)
Comment 21•9 years ago
|
||
YouTube change to stop serving 3GP to Fennec is out of the experiment phase and is partially launched. Launch should be 100% later this week.
Reporter | ||
Comment 22•9 years ago
|
||
Thanks Richard.
Chris, in my tests we're getting video/mp4 (\o/), but video playback is busted in Nightly (see 1211443) so I can't confirm that it works yet. Hopefully the fix for that will land soon.
Depends on: 1211443
Flags: needinfo?(miket)
Today's Nightly has the video playback problems fixed, and navigating to the URL in comment 16 gives me DASH MP4. Works well.
Reporter | ||
Comment 24•9 years ago
|
||
Just confirmed in-browser h264 video playing for me (though snorp doesn't see it yet, so still being rolled out). Awesome!
Let's wait until the roll-out is complete to close.
https://cloudup.com/cnkKl0J8sIM
Comment 25•9 years ago
|
||
woot!
Reporter | ||
Comment 26•9 years ago
|
||
OK, it seems like this is working everywhere now (for me, and some others I've asked to test).
Updated•6 years ago
|
Product: Tech Evangelism → Web Compatibility
You need to log in
before you can comment on or make changes to this bug.
Description
•