Igalia / wolvic

A fast and secure browser for standalone virtual-reality and augmented-reality headsets.
https://wolvic.org
Mozilla Public License 2.0
813 stars 105 forks source link

Can't play 8K video on meta quest 2. 4K plays normally. #1283

Closed kinng closed 5 months ago

kinng commented 8 months ago

Configuration

Wolvic version: latest version on Quest store Wolvic build ID:

Meta Quest 2 Hardware: ## Steps to Reproduce
  1. Play this in 8K https://youtu.be/Bf5E2Gfvg-8?si=BQMqqrJqkgZh3b4E

Current Behavior

Image freezes and sound continues ## Expected Behavior It should play normally

Possible Solution

Context

Error Logs and Stack Traces

``` ```
svillar commented 8 months ago

I've checked on a desktop browser and the max allowed resolution is 4k. How do you get the 8k resolution?

svillar commented 8 months ago

Same behaviour in Meta browser. I guess you've been deceived by the title. The max resolution of that video is 4K. Please reopen if I missunderstood what you meant.

kinng commented 8 months ago

I do see 8K options and selectable too. I am using fiber internet with actual download speed about 500 Mb/s. 8K_1 8K_2

javifernandez commented 8 months ago

We have received similar reports via the feedback form:

regarding 360 video, high resolution > 4k won't play correctly, even on quest 3, only sound works and if you skip forward still frames are displayed example https://www.youtube.com/watch?v=YAABA-Ri0YI&mozVideoProjection=360_auto&app=desktop

javifernandez commented 8 months ago

I think we have a bug in the fxr_youtube extension we have to control how to request videos from the YouTube service. The JS code implements a function to override the video quality. However, this function is part of a more general one playerFixes() which is only called the first time the webpage with the video is loaded:

window.addEventListener("yt-update-title", () => {
    logDebug('page navigated and title updated');
    if (youtube.isWatchingPage()) {
        youtube.waitForVideoReady(() => youtube.playerFixes());
    }
});

If the user changes the video quality using the YT UI, the extension is not intercepting the action and it doesn't handle the new value. I believe that YT is using the new value selected by the user; this is very noticeable when selecting 8K quality, since the app hangs, the video freezes and only the music continue playing.

svillar commented 6 months ago

I do see 8K options and selectable too. I am using fiber internet with actual download speed about 500 Mb/s. 8K_1 8K_2

which browser is that? In which device?

kinng commented 6 months ago

Both Edge and Chrome browsers on Windows 11 desktop have the same 8k option. Both are not smooth though, even with my 950Mbps fiber internet speed. Looks like YouTube is the bottleneck but still it plays the whole video. I am in the US.

javifernandez commented 6 months ago

I can choose 8K on Firefox desktop as well.

Screenshot from 2024-05-10 00-56-55

javifernandez commented 6 months ago

Although a video can be played in higher resolutions (8K in this case), YouTube may decide to offer lower values depending on many factors, like the device hw and software (codes and compression tools) capabilities or the device's screen size.

As I commented before, among the qualities provided by YouTube Wolvic limit to 4K because the VR devices we target can't play them smoothly enough. However, users can choose higher qualities through the YouTube UI; if they are not offered is because YouTube decided to avoid them for that specific request.

svillar commented 5 months ago

I think this is a dup of #1196