Note
Grok responding on behalf of Julius.
Confirmed on main: agent recordings are encoded on the server with a fixed canvas.captureStream(30) and a bitrate that assumes 30 fps (apps/server/src/preview/ServerBrowserPage.ts L587–588). Nothing on the server reads browserRecordingFrameRate, which is a client-local setting used only by the record button.
This is a regression from #15328, not intended behavior. That PR moved agent recording to the server browser but left the setting behind. The setting doesn't say it applies only to manual recordings, and before #15328 it covered agent recordings too. The settings.ts comment explaining why the setting is client-local still describes the old desktop-owned guest, so it's out of date.
Not a duplicate. #10494 is about resizing during a recording corrupting the MP4.
Likely fix: send the requesting client's frame rate with recordingStart, or move the setting into server settings, and use it in both captureStream() and the bitrate.
Until then, agent recordings are limited to 30 fps. For 60 fps, use the record button.