Closed
Bug 1095549
Opened 10 years ago
Closed 8 years ago
Video corruption with 1920x1200 youtube video
Categories
(Core :: Audio/Video: Playback, defect, P5)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: dqeswn, Unassigned)
References
(Blocks 1 open bug, )
Details
(Whiteboard: [platform-rel-Youtube])
Attachments
(1 file)
1.84 MB,
image/png
|
Details |
This 1920x1200 video always starts with a corrupted video: https://www.youtube.com/watch?v=hicBgE6XndM
It's always an mp4 stream since this video lacks the VP9 streams. Of course you need to have mp4 enabled. Also the media foundations codec. Otherwise the playback just hangs indefinitely.
You also need to force youtube to load with the appropriate stream. The only way I know of is to use the Youtube Center addon ( https://github.com/YePpHa/YouTubeCenter/blob/master/dist/YouTubeCenter.xpi and set it to prefer the highest quality)
After a few second two things can happen. The video becomes normal and the playback finishes without any issues. (Provided you don't seek) Or the playback hangs for a long while and resumes with the audio playing normally and the video plays like a slide show for another long while, after which it plays normally. (PS: No framedrops are shown ever in the statistics)
Comment 1•10 years ago
|
||
It may work better with the patch in bug 1092095 which correctly marks sync frames.
Comment 2•10 years ago
|
||
Does it work with bug 1096752 and bug 1092095 fixed?
If they're in today's build, then they had no effect on the corruption.
Comment 4•10 years ago
|
||
Current m-c so probably tomorrow's build.
Okay. So no change in the video corruption with todays build.
Though seekability seems to have improved a lot. Now I can seek outside the buffered area and don't (necessarily) get a permanent hang. Still pretty slow though. Also when I do this I get the corruption again for a few seconds.
I tried a couple other 1920*1200 videos on youtube which were all affected by this bug.
The most interesting was this 20s clip: https://www.youtube.com/watch?v=kmCublPK42c
It always gets corrupted at 9-10 seconds too with a jerk. (It hung instead with yesterday's build)
If I let I seek near the start (not the absolute beginning because it hangs then completely) before the playback ends It plays fine until the same point, but this time the video hangs completely,the audio continues. Though I can seek forward to get the video going again.
Is there a way to have youtube load with this stream without using Youtube Center to rule out any interference?
Comment 6•10 years ago
|
||
I don't see any issues with these videos on OSX, might be something specific to Windows.
Comment 7•10 years ago
|
||
We've fixed quite a lot of issues in Nightly. Can you please test again and let us know if it's a problem.
If so, please paste the contents of about:support. Knowing your OS and graphics card is important for decoding errors.
Flags: needinfo?(dqeswn)
No change in this regard. Still get the same corruption at the start and seeking outside buffered range. The Crysis video displays the same behavior at that specific location.
Though things definitely improved in general.
Anyway, I tested with disabling media.windows-media-foundation.use-dxva and the corruption didn't happen. Also 1920*1200 is just outside of what my VGA supports for HW acceleration. This suggests to me that first dxva decoding is forced upon my GPU (which I guess shouldn't happen) and then the decoder switches to CPU decoding.
Here's the video section from about:support:
Adapter Description NVIDIA GeForce GTS 450
Adapter Drivers nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um
Adapter RAM 1024
Device ID 0x1245
Direct2D Enabled true
DirectWrite Enabled true (6.3.9600.17111)
Driver Date 10-29-2014
Driver Version 9.18.13.4460
GPU #2 Active false
GPU Accelerated Windows 1/1 Direct3D 11 (OMTC)
Subsys ID 00000000
Vendor ID 0x10de
WebGL Renderer Google Inc. -- ANGLE (NVIDIA GeForce GTS 450 Direct3D11 vs_5_0 ps_5_0)
windowLayerManagerRemote true
AzureCanvasBackend direct2d 1.1
AzureContentBackend direct2d 1.1
AzureFallbackCanvasBackend cairo
AzureSkiaAccelerated 0
Flags: needinfo?(dqeswn)
Comment 9•10 years ago
|
||
Ok, thanks for re-testing. Sounds like this is an issue with Windows video decoding and isn't specific to MSE except that viewers can encounter it through Youtube's HTML video player.
Priority: -- → P2
Reporter | ||
Comment 10•10 years ago
|
||
(In reply to Ralph Giles (:rillian) from comment #9)
> Ok, thanks for re-testing. Sounds like this is an issue with Windows video
> decoding and isn't specific to MSE except that viewers can encounter it
> through Youtube's HTML video player.
I wouldn't know if it's firefox's responsibility to not try to use DXVA or not with an incompatible file. Literally nothing else uses Microsoft's media foundation decoder, so I can't try anything else.
But it does start corrupted when I drag and drop the downloaded file onto firefox, so I guess it doesn't have much to do with media source and it should block other bugs. But a lot of people might experience it when MSE get's enabled so I guess it should keep blocking those too.
Comment 11•10 years ago
|
||
(In reply to avada from comment #10)
> I wouldn't know if it's firefox's responsibility to not try to use DXVA or
> not with an incompatible file. Literally nothing else uses Microsoft's media
> foundation decoder, so I can't try anything else.
You could try disabling OMTC to see if that makes a difference.
> But it does start corrupted when I drag and drop the downloaded file onto
> firefox, so I guess it doesn't have much to do with media source and it
> should block other bugs. But a lot of people might experience it when MSE
> get's enabled so I guess it should keep blocking those too.
This bug does block MSE because it prevents it being useful to you. If disabling DXVA fixes the issue then it could be a graphics, driver or timing issue.
Comment 12•10 years ago
|
||
On Windows the maximum resolution of video we can support is limited by Windows' HW decoder.
http://msdn.microsoft.com/en-us/library/windows/desktop/dd797815%28v=vs.85%29.aspx
On Windows 7 h.264 decoding is limited to 1920 Ă— 1088 pixels.
On Windows 8 h.264 decoding is limited to 4096 Ă— 2304 pixels.
"The maximum guaranteed resolution for DXVA acceleration is 1920 Ă— 1088 pixels; at higher resolutions, decoding is done with DXVA, if it is supported by the underlying hardware, otherwise, decoding is done with software.
Note In Windows 7, the maximum supported resolution is 1920 Ă— 1088 pixels for both software and DXVA decoding."
Reporter | ||
Comment 13•10 years ago
|
||
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #11)
> (In reply to avada from comment #10)
> You could try disabling OMTC to see if that makes a difference.
>
Well I disabled html5.offmainthread, layers.offmainthreadcomposition.enabled, layers.offmainthreadcomposition.testing.enabled but in about:support I still got "GPU Accelerated Windows 2/2 Direct3D 11 (OMTC)" So I'm not sure if it was actually disabled. If it was it made no difference.
(In reply to Chris Pearce (:cpearce) from comment #12)
> On Windows the maximum resolution of video we can support is limited by
> Windows' HW decoder.
> http://msdn.microsoft.com/en-us/library/windows/desktop/dd797815%28v=vs.
> 85%29.aspx
>
> On Windows 7 h.264 decoding is limited to 1920 Ă— 1088 pixels.
> On Windows 8 h.264 decoding is limited to 4096 Ă— 2304 pixels.
>
> "The maximum guaranteed resolution for DXVA acceleration is 1920 Ă— 1088
> pixels; at higher resolutions, decoding is done with DXVA, if it is
> supported by the underlying hardware, otherwise, decoding is done with
> software.
>
> Note In Windows 7, the maximum supported resolution is 1920 Ă— 1088 pixels
> for both software and DXVA decoding."
Well mine doesn't seem to support 1920*1200. It doesn't work with LAV Filters' Cuda based decoder either.
Anyway, supported or not the corruption does happen. And it really looks like my GPU's HW decoder is (temporarily?) forced to decode something it can't, for whatever reason. It lasts a good five seconds with the Crysis video if I play the downloaded file. If I view it on youtube I get corruption again at around ten seconds for three seconds.
Comment 14•10 years ago
|
||
Looks like there is something wrong with the blue plane. Is it possible that we're not detecting some condition like the buffer being short? Maybe there is an issue with the colour format?
Flags: needinfo?(cpearce)
Updated•10 years ago
|
Flags: needinfo?(mozillamarcia.knous)
Reporter | ||
Comment 16•10 years ago
|
||
(In reply to Chris Pearce (:cpearce) from comment #15)
> Will clear ni until we get more data...
What sort of data?
As far as I'm concerned I don't think there's anything left to give.
Comment 17•10 years ago
|
||
So, I can get this video to play on an external monitor at 1920x1200.
I can do this on both beta(mse) and release (flash). I don't install any addons, here is what I do:
* Set resolution to 1080P using the youtube gear control.
* Open in full screen mode - which is 1920x1200 on this monitor.
* Check stats for nerds via right click on the video and verify that I am running in this resolution.
Prior to about 10s into the video I see the grainy/blurry corruption - it is really easy to see when the text box pops up while the character is still in the control room where he starts. I can actually see it on any resolution with this video card. Compare that beginning to the beginning with flash and you can really see the difference.
One note that is interesting now that I've played it a number of times, the ability to repro this has disappeared while it was there in the beginning.
Here is the graphics info for this machine (running windows 8.1, 64bit:
Adapter Description Intel(R) HD Graphics Family
Adapter Drivers igdumdim64 igd10iumd64 igd10iumd64 igdumdim32 igd10iumd32 igd10iumd32
Adapter RAM Unknown
Device ID 0x0a16
Direct2D Enabled true
DirectWrite Enabled true (6.3.9600.17111)
Driver Date 8-5-2014
Driver Version 10.18.10.3907
GPU #2 Active false
GPU Accelerated Windows 1/1 Direct3D 11 (OMTC)
Subsys ID 221417aa
Vendor ID 0x8086
WebGL Renderer Google Inc. -- ANGLE (Intel(R) HD Graphics Family Direct3D9Ex vs_3_0 ps_3_0)
windowLayerManagerRemote true
AzureCanvasBackend direct2d 1.1
AzureContentBackend direct2d 1.1
AzureFallbackCanvasBackend cairo
AzureSkiaAccelerated 0
Reporter | ||
Comment 18•10 years ago
|
||
And all of a sudden the 1200p stream disappeared from the youtube html5 player. Making it hard to test.
Comment 19•10 years ago
|
||
Can you still reproduce this issue or should we just close it?
Reporter | ||
Comment 20•10 years ago
|
||
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #19)
> Can you still reproduce this issue or should we just close it?
Based on what? No-one did anything with it...
Anyway... It still happens it's just that youtube effed up something and the 1200p video doesn't seem to be available. But in actuality the player switches to 1200p during playback, while still showing 1080p...
At least of some of them. (Maybe the unpopular ones.)
This loads with 1200p: https://www.youtube.com/watch?v=FjrQnF5OA4E
Even though 1080p is claimed.
Okay, so apparently 1440p videos weren't screwed: https://www.youtube.com/watch?v=iay9I9OjCMI
So this starts showing the corruption if it's forced to load with the 2304*1440 stream.
Updated•10 years ago
|
Priority: P2 → P1
Updated•9 years ago
|
Flags: needinfo?(mozillamarcia.knous)
Updated•9 years ago
|
Component: Audio/Video → Audio/Video: Playback
Is anyone still experiencing video corruption? If so then we need to blacklist the video drivers. Can anyone confirm that media.hardware-video-decoding.enabled=false fixes the issue.
Reporter | ||
Comment 23•9 years ago
|
||
I was still experiencing some corruption with the crysis video the last time I checked, maybe a week ago. Though not as much so as originally.
Comment 24•9 years ago
|
||
For me any video that resolution is higher than 1080p won't play.
Example: https://www.youtube.com/watch?v=6tmbeLTHC_0 - Video plays normally in 1080p, but when I choose 1440p or 2160p it just stops (sometimes, depends on the video, it plays audio with frozen frame/black screen or with some glitchy pixels at the upper part of the video).
Also there are videos that quality option shows 1080p but in reality the video is in higher resolution in between 1080p and 1440p:
https://www.youtube.com/watch?v=CHC8KJNBtw8 - This video's resolution is 2048 x 1152 on 1080p quality option and it also won't play (I have to watch it in 720p).
https://www.youtube.com/watch?v=kmCublPK42c - 1920 x 1200, same as above.
Can anyone confirm that those videos aren't playing for them too, or is it just me?
I noticed this issue quite a long time ago, I was just hoping that devs know about it and are working on it, but updates passed by and the issue is still there.
I also noticed that enabling webm (media.mediasource.webm.enabled=true) 'fixes' the issue.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #22)
> Can anyone confirm that media.hardware-video-decoding.enabled=false fixes the issue.
I tried your suggestion and it doesn't fix the issue for me.
I'm on Windows 7 x64, Firefox 42.0, GTX 560Ti driver 358.50.
Updated•9 years ago
|
Flags: needinfo?(matt.woodrow)
Comment 25•9 years ago
|
||
Try build: https://treeherder.mozilla.org/#/jobs?repo=try&revision=d315ebd8cb39
This should let you disable the one feature that's different (from the gfx side) that is different between WebM and H264.
Set media.client-side-upload=false as well as media.hardware-video-decoding.enabled=false and see if that helps.
Flags: needinfo?(matt.woodrow)
(In reply to Guniu from comment #24)
> For me any video that resolution is higher than 1080p won't play.
>
> Example: https://www.youtube.com/watch?v=6tmbeLTHC_0 - Video plays normally
> in 1080p, but when I choose 1440p or 2160p it just stops (sometimes, depends
> on the video, it plays audio with frozen frame/black screen or with some
> glitchy pixels at the upper part of the video).
>
> Also there are videos that quality option shows 1080p but in reality the
> video is in higher resolution in between 1080p and 1440p:
> https://www.youtube.com/watch?v=CHC8KJNBtw8 - This video's resolution is
> 2048 x 1152 on 1080p quality option and it also won't play (I have to watch
> it in 720p).
> https://www.youtube.com/watch?v=kmCublPK42c - 1920 x 1200, same as above.
>
> Can anyone confirm that those videos aren't playing for them too, or is it
> just me?
> I noticed this issue quite a long time ago, I was just hoping that devs know
> about it and are working on it, but updates passed by and the issue is still
> there.
> I also noticed that enabling webm (media.mediasource.webm.enabled=true)
> 'fixes' the issue.
>
> (In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #22)
> > Can anyone confirm that media.hardware-video-decoding.enabled=false fixes the issue.
>
> I tried your suggestion and it doesn't fix the issue for me.
>
> I'm on Windows 7 x64, Firefox 42.0, GTX 560Ti driver 358.50.
Can you file this as a separate bug?
Comment 27•9 years ago
|
||
(In reply to Matt Woodrow (:mattwoodrow) from comment #25)
> Try build:
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=d315ebd8cb39
>
> This should let you disable the one feature that's different (from the gfx
> side) that is different between WebM and H264.
>
> Set media.client-side-upload=false as well as
> media.hardware-video-decoding.enabled=false and see if that helps.
I'm a noob, I have no idea how to download this build.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #26)
> Can you file this as a separate bug?
Here it is bug 1221625.
Comment 28•9 years ago
|
||
(In reply to Guniu from comment #27)
> (In reply to Matt Woodrow (:mattwoodrow) from comment #25)
> > Try build:
> > https://treeherder.mozilla.org/#/jobs?repo=try&revision=d315ebd8cb39
> >
> > This should let you disable the one feature that's different (from the gfx
> > side) that is different between WebM and H264.
> >
> > Set media.client-side-upload=false as well as
> > media.hardware-video-decoding.enabled=false and see if that helps.
>
> I'm a noob, I have no idea how to download this build.
>
There's nothing to download there, the build failed :)
Updated•9 years ago
|
Priority: P1 → P2
Comment 29•9 years ago
|
||
seeing that bug 1221625 had already been hijacked with more info than here
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
Reporter | ||
Comment 30•9 years ago
|
||
I don't think issues with this are not resolved at all.
I tested with the crysis video ( https://www.youtube.com/watch?v=kmCublPK42c )
Here are my current experiences:
The playback doesn't start at all, even when the whole video is buffered.
I have to click twice the pause/play button for it to start. ( Because the player was in a playing state to begin with, but didn't play the video)
Only audio plays for like 4 seconds. After that video starts to play.
After that it seems okay. At the very end I still get a corrupt frame or two. Right before youtube goes to the next video "countdown".
If I press replay I briefly see a corrupted frame again. And the whole process starts over.
In the stats I see mp4/avc as video
I tested on mozilla-central. With Youtube-Center and Greasemonkey.
I only used these two to enforce 1080p (which actually plays as 1920*1200). So the only setting I changed in YTC is the setting player > resolution > auto-resolution.
(I need to use the userscript because the addon version of YTC is not functional anymore on central)
Source for the script: https://github.com/YePpHa/YouTubeCenter/tree/master/dist
Status: RESOLVED → UNCONFIRMED
Resolution: DUPLICATE → ---
Updated•9 years ago
|
No longer blocks: youtube-mse
Does bug 1248496 make a difference?
Reporter | ||
Comment 32•9 years ago
|
||
Perhaps. It's definitely not as bad as the last time I tried. Though I still get at least one video hang when I play it. Either when the playback timer shows 4 second or 9 seconds.
It feels like that it's buffering related. If I let the video buffer for a while the video hangs between 9-10 seconds and it seems to coincide (if I'm not imagining it) with a location where the buffer bar ended for second before loading a new chunk.
Also if I start the playback when the video is not buffered as much it hangs at 4 seconds. (I doesn't catch up to the end of the buffered range on youtube's seekbar)
I did a bit of frame stepping with mpv for the downloaded video file, and it seems the last two frames are corrupted in the video. So that should be irrelevant.
(The click twice at playback start thing is an old issue I forgot about, not relevant to this.)
(In reply to avada from comment #32)
> Perhaps. It's definitely not as bad as the last time I tried. Though I still
> get at least one video hang when I play it. Either when the playback timer
> shows 4 second or 9 seconds.
> It feels like that it's buffering related. If I let the video buffer for a
> while the video hangs between 9-10 seconds and it seems to coincide (if I'm
> not imagining it) with a location where the buffer bar ended for second
> before loading a new chunk.
> Also if I start the playback when the video is not buffered as much it hangs
> at 4 seconds. (I doesn't catch up to the end of the buffered range on
> youtube's seekbar)
>
>
> I did a bit of frame stepping with mpv for the downloaded video file, and it
> seems the last two frames are corrupted in the video. So that should be
> irrelevant.
>
> (The click twice at playback start thing is an old issue I forgot about, not
> relevant to this.)
So you're saying that the original issue, being video corruption is fixed in nightly. If there is a buffering problem then you should file it separately.
Reporter | ||
Comment 34•9 years ago
|
||
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #33)
> So you're saying that the original issue, being video corruption is fixed in
> nightly. If there is a buffering problem then you should file it separately.
Depends on how you look at it. Now it doesn't get corrupted at specific points. Now the video hangs.
Updated•9 years ago
|
Priority: P2 → P5
Updated•8 years ago
|
platform-rel: --- → ?
Updated•8 years ago
|
Whiteboard: [platform-rel-Youtube]
Updated•8 years ago
|
platform-rel: ? → ---
Reporter | ||
Comment 35•8 years ago
|
||
(In reply to avada from comment #34)
> Now it doesn't get corrupted at specific
> points. Now the video hangs.
I doesn't seem like I can reproduce this anymore on central.
At first I thought it hangs at the start, but then I remembered that it's the buggy/weird/misleading way "media.autoplay.enabled;false" works: The YT player is in a playing state, but doesn't play, and you even get the youtube warning to restart your "device" if playback doesn't start. You also need to click twice the play/pause button for the video to play. (to paused state, and back to playing)
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago → 8 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•