Skip to content

feat: User-defined podcast fps#1232

Draft
Vekhir wants to merge 5 commits intoOpenBoard-org:devfrom
Vekhir:podcast-increase-fps
Draft

feat: User-defined podcast fps#1232
Vekhir wants to merge 5 commits intoOpenBoard-org:devfrom
Vekhir:podcast-increase-fps

Conversation

@Vekhir
Copy link
Copy Markdown
Contributor

@Vekhir Vekhir commented Feb 19, 2025

Currently, the podcast recording is set to a fixed 10 fps. While there exists a setting to allow for customisation, it remains unused.

This change takes the user setting into account. The actual fps are determined by the activity on the board, so it represents a maximum fps.

The default has been bumped up to 100 fps. During testing, I mostly got 40-70 fps in the resulting video. I don't know where the discrepancy comes from, but even setting it to a ridiculous 1000 only achieved like 127 fps peak. For highest quality I'd probably set it to 250 or 300.
One the low side, a value of 25 is at the lower limit of what is perceived as fluid motion. In high activity scenes, it's actually around 12-18, though I regularly hit the 25. If bandwidth or CPU power needs to be saved, the value can be lowered further.
In moments of low activity, all values can go down to 8-10 fps. The horologe produces consistently 20fps.

In conclusion, I believe that this change improves the podcast experience.
Solves #991 #106

@kaamui
Copy link
Copy Markdown
Member

kaamui commented Jan 30, 2026

Hi @Vekhir,

could I ask you to expose the setting in the preferences ? and to add information in the label (e.g if the setting is actually max 100 fps, to display next to Max, medium and small the corresponding values you calculate) ? Something like "Small (max fps : 25)"

What do you think ?

Edit : expliciting the fps will give the impression the small, medium and maximum aren't about resolution.

Also, I wonder if it makes sense to attach a FPS limit to the resolution of the podcast. Shouldn't we simply add a section in the dropdown list for the max FPS, independant of the resolution section ?

@Vekhir
Copy link
Copy Markdown
Contributor Author

Vekhir commented Jan 30, 2026

Edit : expliciting the fps will give the impression the small, medium and maximum aren't about resolution.

Yes, the settings are really about the bandwidth/bitrate of the final video. The resolution and framerate are scaled to retain a passable quality per frame when lowering the bitrate.

could I ask you to expose the setting in the preferences ?

I think the general preferences dialog is quite crowded. Not sure how well that would integrate.
Maybe we could get away with a small dialog box that can be accessed via the recording preferences (like a little edit pen next to "Small", "Medium", and "Full"). There, each preset could be edited independently with bitrate, resolution, and framerate.

I'll try making a mockup. I can use the intranetPodcastPublishingDialog.ui as a template and would use the QSpinBox. I guess a dropdown menu could also work, though we'd need to decide which values to show.

@kaamui
Copy link
Copy Markdown
Member

kaamui commented Feb 4, 2026

I think the general preferences dialog is quite crowded

Fair point. I like your idea of a dialog directly from the record preferences. I don't how much effort it would take, but maybe this cog button could directly open a dialog box with the audio and video settings, and no longer be a drop down menu where we are limited in terms of space and ux. Could you give it a try ?

@Vekhir
Copy link
Copy Markdown
Contributor Author

Vekhir commented Feb 4, 2026

I'll see what I can do. Will create a separate PR for that (focusing on the reworked dialog), then adjust this PR to add the new settings.

@Vekhir
Copy link
Copy Markdown
Contributor Author

Vekhir commented Feb 12, 2026

Just to let you know, I currently don't have time to work on this. I'd like to see it come to fruition, but I can't commit the necessary time and energy.
Once I resume working on this issue, I'll write here. In the meantime, everyone feel free to work on this if you want.

@Vekhir
Copy link
Copy Markdown
Contributor Author

Vekhir commented Apr 14, 2026

I've created a new PR #1472 that supersedes this one. It includes a completely reworked UI for setting the preferences and incorporates the fixes from this PR.

@Vekhir Vekhir closed this Apr 14, 2026
Vekhir added 5 commits April 14, 2026 18:27
The new podcast preferences dialog replaces the small checkbox list.
It allows direct adjustment of audio recording device, bit rate, and
frame rate. For each profile of "Full", "Medium", and "Small", the
bit rate, frame rate and video size are reported based on the chosen
settings.
The dialog is based off the recently added color preferences dialog.

Each profile has its own tab. The selected tabs' profile is used for
recording.

The audio device can be no input, default input, or a specified
device. The UI handles the invalid states, so that the user cannot
enter invalid combinations.
The upload dialog contains options related to uploading the recorded
videos.
Currently, the podcast recording is set to a fixed 10 fps. While
there exists a setting to allow for customisation, it remains
unused.

This change takes the user setting into account from the start.
The actual fps are determined by the activity on the board, so
the value represents a maximum frame rate.
The default has been bumped up to 100 fps. This value is never
actually reached - the resulting fps hover mostly around 40-70.
During testing on my rather powerful machine (with values exceeding
250 fps), the observed frame rate never got appreciably higher than
100 fps (maximum was 127 fps for short periods at 1000).
Thus, the profiles in their default configuration capture all
activity.
Choosing a lower frame rate decreases the fps accordingly. 25 fps is
at the lower end of what is perceived as fluid motion, though using
that yields an actual frame rate around 12-18. Further tuning is
possible via the "Podcast->FramesPerSecond" setting and the
preferences dialog.

A max value of 100 yields around 40-70 fps
@Vekhir
Copy link
Copy Markdown
Contributor Author

Vekhir commented Apr 14, 2026

I've decided to split the other PR to only include the new preferences dialog. The actual fixes are again in this PR, keeping the two changes separate. This PR builds on top of #1472.

@Vekhir Vekhir reopened this Apr 14, 2026
@Vekhir Vekhir force-pushed the podcast-increase-fps branch from 0d8d140 to a04ac5a Compare April 14, 2026 21:34
@Vekhir Vekhir marked this pull request as draft April 14, 2026 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants