HEVC video decoding broken with B-frames

Brass Contributor

When Edge Chromium playing HEVC video, sometimes video will be similar to stuttering but audio is normal.

 

To find out the cause of the problem, I test to playback many HEVC video, include videos with and without B-frames. Finally found that only the video with B-frames had problems.

 

Play HEVC video with B-frames frame by frame, after decoding and outputting a B-frame, the next frame will return to the referenced I-frame or P-frame.

 

It is puzzling that in Edge Legacy, HEVC video with B-frames plays normally.

 

So what happened in Edge Chromium?

84 Replies
That's correct, I experience the same thing on all Edge channels, I thought it was related to the HEVC extension available in Windows store but the same video plays fine in movies & TV app or Windows media player

I have the same issue om my machine. Even when using the Edge Chromium Dev build Version 89.0.767.0 (Official build) dev (64-bit). 

does you have the link of a video who do that (for reproducing purpose, if you report it by the browser don't forget this)
There are example videos online, a quick web search would reveal them

I encoded a video in the HEVC codec. I added the file to this message.

 

To test this, you can make a simple HTML file that plays this video in the Edge browser.

 

<body>
    <video src="PathToVideo\BigBuckBunny.mp4" type="video/mp4" controls></video>
</body>

 

I just drag and dropped this onto an Edge tab and i get extremely laggy playback
https://s3.amazonaws.com/x265.org/video/Tears_400_x265.mp4

700KB H.265 clip with HEVC extension installed on Windows (.MP4)

I can also reproduce it with your sample.

I can also confirm with certainty on my end that it has to do with the HEVC b-frames because when I encode a video with "b-frames=0" it plays fine without any stutter. 

Good info,
also since Edge supports both .mp4 and x265, why does my browser download the file instead of playing it right in the browser when I paste that link in the address bar?

The reason it starts to download the file instead of playing it in the browser, is because the response header "Content-Disposition:" has the value "attachment". The browser sees that and it starts to download it.

Another interesting thing I found, is that for some reason when I click on my BigBunny video on this page it starts playing the video without issues.

Edit: I think the reason it plays fine here is because of shakaplayer. But I am not sure on that one.

Thanks that was useful!
what's the correct value of content-disposition in order to be played in the browser?
Thank you 🙂
i confirm this problem as well (and b-frames=0 too).
https://x265.com/hevc-video-files/,

Just to add this example and I do see this issue on Edge stable and have sent feedback.
Yeah affects all channels, not a single channel is exempt from this problem which is bad..
I've read that Edge uses software decoding instead of hardware for HEVC so it all comes to the way the software is implemented

Hmm I always thought that Edge offloads the decoding to the Operating System as I have read that Microsoft does not want to pay for the licensing of HEVC (complicated patent pools). I don't know a lot of Edge and the inner workings of it as I mainly use Edge for HEVC playback (intended to use) so that's interesting to hear.

Hmm, but I remember paying .99$ for the HEVC extension in the store. so maybe MSFT doesn't want to pay but we are paying xD
i have an automated reponse from the report feature who tell me they check what they can do for this problem.