I’m experiencing an issue where Movie Capture seems to record at a fixed actual capture rate of around 10 FPS, regardless of the frame rate I set in the options.
Adjusting the Frame Rate and Range settings only changes the target number of frames to be captured — not the actual capture speed.
For example:
If I set Frame Rate = 30 and Time Range = 3 minutes, Movie Capture plans to capture 30 × 180 = 5400 frames.
At a real capture rate of about 10 FPS, this takes roughly 540 seconds (9 minutes) to complete.
Then, those 5400 frames are compressed into the originally intended 3-minute video.
As a result, the playback speed becomes 3× faster than the real simulation, and my 3-minute simulation finishes within the first minute of the output video.
Is there any way to record a Movie Capture video that matches the actual simulation time — without frame loss or time compression?
Thanks for the detailed explanation of the issue you’re experiencing. This is actually expected behavior for the Movie Capture extension, though I understand it’s not producing the result you need. Let me explain what’s happening and suggest some solutions.
Movie Capture operates in offline rendering mode, which means:
It renders each frame completely before advancing the timeline
Your GPU is producing frames at ~10 FPS due to scene complexity (rendering quality, physics calculations, etc.)
The timeline advances by 1/30th of a simulation second per frame, regardless of how long each frame takes to render
When assembled into a video, those frames play back at 30 FPS, creating the 3× speedup you’re seeing
This is fundamentally different from real-time capture, where the video would record whatever appears on screen at actual wallclock speed.
Here are several approaches depending on your needs:
You may adjust Target FPS to Match Your Rendering Speed:
If your scene renders at ~10 FPS, set your Movie Capture Frame Rate to 10 FPS instead of 30
This way, the output video will play back at the same speed as your simulation
Thank you for your reply!
I tried lowering the frame rate as you suggested, but unfortunately, the Movie Capture extension doesn’t support frame rates below 24 FPS.
So, I slowed down the scene’s movement speed to 33% and set the frame rate to 30, while the actual scene capturing speed was around 10 FPS. This made the playback appear roughly real-time, which worked fairly well.
However, I was wondering — is there any way to capture in true real-time speed within Omniverse? That would be extremely helpful!
I think you need to look at this a different way. When you use Movie capture, it is just making frames. Regardless of speed. Regardless of FPS. They are just a stack of files in a folder. Do not use the mp4 option. Just render out 100s of frames, and put them together at whatever speed you want in After Effects or whatever post production program you prefer. FPS is just whatever you want it to be. For example if you render out 3000 frames, that would be 100 seconds at 30fps. Or 30 seconds at 100fps. Just math.
The capture SPEED, meaning how fast it renders out, is purely set by your machine GPU power. A slow GPU will take longer to generate a frame. Make sure you are using Realtime 2.0 and make sure you set both those numbers to 0. It should be generating, as you said about 5-10 frames per second. But this is nothing to do with your final playback speed.
So put your file back to normal 30fps or 60fps, and just render out the frames. Speed, time, frames, all do not matter. Take the frames, do the math and figure out what fps you want.
The ONLY way to capture at “true realtime speed” is not to capture with Movie Capture at all, but use a simply screen recording tool like OBS.
I totally see what you mean — I understand now that real-time capturing isn’t really a practical option.
The reason I asked is that I use Omniverse as a digital twin platform that visualizes external data in real time. Since it’s tied to data timestamps, adjusting the rendering settings was a bit tricky.
Anyway, I’ve managed to make it work. Thanks again for your help!