Bug 272393 - WebRTC doesn't support 120fps Video Stream Decoding for iPadOS or iOS, Possibly 90fps for VisionOS, and above 120 fps for Macs
Summary: WebRTC doesn't support 120fps Video Stream Decoding for iPadOS or iOS, Possib...
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebRTC (show other bugs)
Version: Safari 17
Hardware: iPhone / iPad iOS 17
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2024-04-09 07:05 PDT by Jeffrey Blanz
Modified: 2024-06-07 18:39 PDT (History)
5 users (show)

See Also:


Attachments
Geforce Now 120fps WebRTC on Safari 17.5 for macOS (8.56 MB, image/png)
2024-05-19 18:24 PDT, Jeffrey Blanz
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jeffrey Blanz 2024-04-09 07:05:19 PDT
WebRTC does not support 120fps Video Stream Decoding for iPadOS and iOS.

This is important for iPad Pro and iPhone Pros that have promotion (120hz) displays. Games cannot be streamed at 120fps because of the lack of webRTC support for up to 120fps.

Note: Macbook Pros with a promotion display support 120fps video stream decoding.

Also Note: It is possible 90fps Video Stream Decoding for VisionOS is also not supported. I have no way to test this as I do not own a Vision Pro device.
Comment 1 Radar WebKit Bug Importer 2024-04-16 07:06:13 PDT
<rdar://problem/126551033>
Comment 2 Jeffrey Blanz 2024-04-16 07:23:38 PDT
Added that WebRTC also does not support above 120fps video stream decoding for Mac.

For Example: Geforce Now supports up to 240 fps for Native Mac, but this is not possible on Safari because webRTC is limited to 120fps.

This is specifically useful for monitors that have above 120hz.
Comment 3 Jeffrey Blanz 2024-05-03 11:19:18 PDT
I believe this is because requestVideoFrameCallback does not support native fps.

1. iOS and iPadOS are limited to 60fps, should be 120fps.

2. visionOS is limited to 60fps, should be 90fps

   1. I cannot confirm this because I do not have a Vision Pro device. Given the similarities with safari for iPadOS and visionOS, it is likely the case.

3. Macs with external displays are limited to 120fps, should be unlimited as displays can go up to 500hz today.

   1. I cannot confirm this as I do not have a monitor above 120hz. Although, considering Geforce Now supports 240fps streaming on the native Mac app, but does not for safari, this is likely the case.


Possibly related: requestanimation does not support 120fps for iPhone 13 Pros or newer iPhone Pros. It does support native fps for iPad Pros, Vision Pro, MacBook Pros, and Macs with external displays.
Comment 4 mdrejhon 2024-05-19 17:39:39 PDT
120fps WebRTC will be extremely handy for high-speed sign language and other applications.  As a deaf person, I can even tell the difference in experimental 120fps video telephony tests.  

Although American Sign Language was not my first language, I learned "Cued Speech" (google that), which can go up to 300 words per minute with experienced interpretors.

I have also found that it is possible to play 120fps <VIDEO> embeds (.mp4) just fine on iPhone Pro and iPad Pro, so it's not a codec limitation.  It's an arbitrary limitation of WebRTC.  My hypothesis is that since 120fps Safari is now working (#173434 is almost fixed), and 120fps .mp4 is working (video embeds), that it is just an arbitrary limitation at this stage.

Perhaps this could also, possibly, be a tie-in to the request for a 120fps Permission API:

https://bugs.webkit.org/show_bug.cgi?id=274372
Comment 5 Jeffrey Blanz 2024-05-19 18:24:06 PDT
Created attachment 471440 [details]
Geforce Now 120fps WebRTC on Safari 17.5 for macOS

Agreed, it could be tied into a permission prompt. 

Also do note that safari and chrome for macOS support 120fps webRTC. Although, it seems safari for iOS, iPadOS, and visionOS only support 60fps webRTC.

Also note: 120fps WebRTC for macOS works even with “prefer page rendering updates near 60fps” is set to on. 

I will attach an image of GeForce Now streaming at 120fps (see top right of image) on safari 17.5 for macOS. I have the “prefer page reading updates near 60fps” set to on in this test. Even though it says "120hz stream" in the top right, with “prefer..60fps” enabled it is clearly only 60hz. I turned off the feature flag and it was a very noticeably 120hz. Either way, 120fps WebRTC works for safari for Mac, but not any other device. Although, above 120fps (240fps, 360, 480, etc) does not seem to be supported for safari for Macs.
Comment 6 mdrejhon 2024-06-07 02:43:07 PDT
Jeff -- I see you closed this as resolved.  Can you elaborate why?  

(e.g. discovery of a solution, or discovery of a different unrelated issue that cascaded to WebRTC not exceeding 60fps even on 120Hz on iPads with "Prefer Page Rendering Near 60fps" turned off?)
Comment 7 Jeffrey Blanz 2024-06-07 05:21:34 PDT
mdrejhon - At first I was told this was a limitation with WebRTC.

Since I could not find a way to confirm this with any kind of test (expecially mobile and Vision Pro), I got into contact with Byungseon (Sun) Shin, who is a NVIDIA and WebKit web developer.

My understanding from what he said is Safari for macOS could do 240+fps webRTC, iOS and iPadOS could do 120fps, and visionOS could do 90fps. It has just not been enabled yet for GeForce Now.

I could have misinterpreted it or he could have misinterpreted my questions. Later he mentioned he could not comment on the specs of Apple devices, although I think he meant hardware and not WebKit limitations.

Although with Safari PWAs still limited to 60fps, 120fps support is useless.
Comment 8 mdrejhon 2024-06-07 18:13:22 PDT
How so? 

I successfully copied a 120fps .MP4 file to a 120Hz Apple device and it appraently managed to play back at 120 frames per second.  And that was on an Apple A-series processor.

I do not understand how a unchanged-bitrate 60fps-vs-120fps video file would hit headstrong on an M1 limitation.  Is the M1 inferior to an older Apple A-series?
Comment 9 mdrejhon 2024-06-07 18:39:10 PDT
Oh -- now I understand.  The standalone GeForce Now app is a Safari PWA?  I did not know that.  I haven't tried GeForce Now on an iOS device.  You'd think that you could simply run it directly in Safari mode instead of PWA mode.

So, this bugzilla 272393 is actually an accidental red herring caused by an actual bugzilla opened #272226?

Ah, bingo: unintentional duplicate
Comment 10 mdrejhon 2024-06-07 18:39:56 PDT
See Also: https://bugs.webkit.org/show_bug.cgi?id=272226

(Actual underlying bug)