Describe the problem
Live kit does not support any high frame rate streams that are greater than 30 fps.
Element (Matrix client) uses the livekit-client sdk and is unable to provide 60 fps streams for screen sharing.
Users of this client are attempting to use Element for gaming and music live streaming:
element-hq/element-web#19008 (comment)
Gaming and music sometimes prefer a higher video bit rate over high resolution streams.
Describe the proposed solution
I would like to propose a h720pfps60 option for the ScreenSharePresets object to allow users to choose whether they want 1080p@30fps or 720p@60fps.
Example preset would look like so:
export const ScreenSharePresets = {
...
h720fps60: new VideoPreset(1280, 720, 5_000_000, 60, 'medium'),
...
}
This would consume the same max bitrate as 1080p@30fps, but provide an option for higher frame rate video. This is very similar to what Discord does.
It would appear that NVENC, Intel QuickSync, and AMD's VCE all support 720p@60fps, so this hopefully has enough hardware encode/decode support to be feasible within livekit's underlying libraries.
Alternatives considered
Other than continue to use 30 fps video for these use-cases, I am unsure what else can be considered.
Importance
would make my life easier
Additional Information
Thank you for your consideration in this matter, y'all make a great SDK. I've seen it used in a lot of places.
I hope you're able to consider my (hopefully) modest proposal.
Have good one!
Describe the problem
Live kit does not support any high frame rate streams that are greater than 30 fps.
Element (Matrix client) uses the
livekit-clientsdk and is unable to provide 60 fps streams for screen sharing.Users of this client are attempting to use Element for gaming and music live streaming:
element-hq/element-web#19008 (comment)
Gaming and music sometimes prefer a higher video bit rate over high resolution streams.
Describe the proposed solution
I would like to propose a
h720pfps60option for theScreenSharePresetsobject to allow users to choose whether they want 1080p@30fps or 720p@60fps.Example preset would look like so:
This would consume the same max bitrate as 1080p@30fps, but provide an option for higher frame rate video. This is very similar to what Discord does.
It would appear that NVENC, Intel QuickSync, and AMD's VCE all support 720p@60fps, so this hopefully has enough hardware encode/decode support to be feasible within livekit's underlying libraries.
Alternatives considered
Other than continue to use 30 fps video for these use-cases, I am unsure what else can be considered.
Importance
would make my life easier
Additional Information
Thank you for your consideration in this matter, y'all make a great SDK. I've seen it used in a lot of places.
I hope you're able to consider my (hopefully) modest proposal.
Have good one!