Closed Bug 1269260 Opened 8 years ago Closed 8 years ago

Video can't be played due to MP4 sniffing

Categories

(Core :: Audio/Video: Playback, defect, P1)

41 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla49
Tracking Status
firefox49 --- fixed

People

(Reporter: animegale, Assigned: jhlin)

References

()

Details

(Keywords: regression)

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36

Steps to reproduce:

I normally visit websites using Chrome, but Chrome has been running slowly lately. So I decided to use Firefox. 

When visiting http://www.ryuanime.io/watch/anime/dubbed/hunter-x-hunter-2011-episode-1 I tried watching the video.


Actual results:

I get the following error: "Video can't be played because the file is corrupt." The video file works perfectly fine in Chrome, and I can play the video no problem. It is just happening in Firefox.


Expected results:

The video works in Chrome, so I expected to be able to stream it like normal.

It could be that it has something to do with the HTML5 video player, as this video http://www.ryuanime.io/watch/anime/dubbed/fate-zero-episode-1 which uses Flash Player, works fine.
Regression range:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=460768b65147880bec72531c90ae4f5321e8049f&tochange=853eec3a627201438830cc4646ddc0dd9c16ca50

John Lin — Bug 868333 - Match more MP4 family file types in media sniffer. r=rillian

I downloaded the MP4, no issue to play it locally in Firefox, so clearly bad sniffing. It worked before 41.

General
Complete name                            : Hunter x Hunter (2011) Episode 1 English Dubbed.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom
File size                                : 92.4 MiB
Duration                                 : 23mn 37s
Overall bit rate mode                    : Variable
Overall bit rate                         : 547 Kbps
Encoded date                             : UTC 2016-04-17 06:32:17
Tagged date                              : UTC 2016-04-17 06:32:17

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4.0
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 8 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 23mn 36s
Bit rate                                 : 480 Kbps
Maximum bit rate                         : 2 634 Kbps
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.022
Stream size                              : 81.1 MiB (88%)
Writing library                          : x264 core 104 r1683 62997d6
Encoding settings                        : cabac=1 / ref=8 / deblock=1:1:2 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=0.80:0.00 / mixed_ref=1 / me_range=32 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=18 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=45 / intra_refresh=0 / rc=2pass / mbtree=0 / bitrate=480 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=0
Encoded date                             : UTC 2016-04-16 03:44:22
Tagged date                              : UTC 2016-04-17 06:32:19

Audio
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : HE-AAC / LC
Codec ID                                 : 40
Duration                                 : 23mn 37s
Bit rate mode                            : Variable
Bit rate                                 : 64.0 Kbps
Maximum bit rate                         : 68.4 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 KHz / 24.0 KHz
Compression mode                         : Lossy
Stream size                              : 10.8 MiB (12%)
Encoded date                             : UTC 2016-04-17 06:31:15
Tagged date                              : UTC 2016-04-17 06:32:19
Blocks: 868333
Status: UNCONFIRMED → NEW
Component: Untriaged → Audio/Video: Playback
Ever confirmed: true
Flags: needinfo?(jolin)
Keywords: regression
Product: Firefox → Core
Summary: Video can't be played because the file is corrupt → Video can't be played due to MP4 sniffing
Version: 45 Branch → 41 Branch
Console says:

HTTP "Content-Type" of "application/octet-stream" is not supported. Load of media resource http://mp4engine.com:182/d/a2cnitfdcqqgkpski3cldaww6xy7nrjaj7fya6imnenomecvs7qg3oqx/Hunter%20x%20Hunter%20(2011)%20Episode%2001.mp4 failed.embed-cgjy36rcrlpa-722x420.html
Error playing media:  MediaError { code: 4 }jw6.js:4:167
CAPTIONS([object Object])jw6.js:4:184
Cannot play media. No decoders for requested formats: application/octet-stream
The file has only 'isom' in its ftyp brands. This brand was removed in bug 868333 because ISO spec prohibits it [1]. I think it can be put back for compatibility.


[1] http://www.ftyps.com/index.html#5
Flags: needinfo?(jolin)
Assignee: nobody → jolin
Attachment #8748063 - Flags: review?(jyavenard) → review+
Comment on attachment 8748063 [details]
MozReview Request: Bug 1269260 - Treat 'iso?' file as MP4 video. r?jya

https://reviewboard.mozilla.org/r/50139/#review46911

::: toolkit/components/mediasniffer/nsMediaSniffer.cpp:47
(Diff revision 1)
>    PATTERN_ENTRY("\xFF\xFF\xFF", "avc", VIDEO_MP4), // Could be avc1, avc2, ...
>    PATTERN_ENTRY("\xFF\xFF\xFF", "3gp", VIDEO_3GPP), // Could be 3gp4, 3gp5, ...
>    PATTERN_ENTRY("\xFF\xFF\xFF\xFF", "M4A ", AUDIO_MP4),
>    PATTERN_ENTRY("\xFF\xFF\xFF\xFF", "M4P ", AUDIO_MP4),
>    PATTERN_ENTRY("\xFF\xFF\xFF\xFF", "qt  ", VIDEO_QUICKTIME),
> +  PATTERN_ENTRY("\xFF\xFF\xFF\xFF", "isom", VIDEO_MP4),

may as well add iso2 which is like isom but 2005 version (isom is 2003)
Comment on attachment 8748063 [details]
MozReview Request: Bug 1269260 - Treat 'iso?' file as MP4 video. r?jya

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/50139/diff/1-2/
Comment on attachment 8748063 [details]
MozReview Request: Bug 1269260 - Treat 'iso?' file as MP4 video. r?jya

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/50139/diff/2-3/
Attachment #8748063 - Attachment description: MozReview Request: Bug 1269260 - Treat 'isom' file as MP4 video. r?jya → MozReview Request: Bug 1269260 - Treat 'iso?' file as MP4 video. r?jya
https://hg.mozilla.org/mozilla-central/rev/099b513a0427
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla49
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: