Record/render a video from Isaac Sim viewport

Hi everyone,

Is there a possibility to render a video from the viewport of Isaac Sim? Currently, my approach is to simply screen record what I see, but I would like to render a higher quality video with better resolution and framerate than what I actually see from the viewport.

I know that there is a possibility to do this when the animation is recorded in the timeline, but how do I do it when the animation comes from ROS or a Python script? My setup involves a robot that subscribes to ROS via ActionGraph for joint commands.

Thanks a lot!

1 Like

I discovered that by utilizing the Movie Capture extension along with the Capture Sequence button, I can record a video of the robot using MoveIt in ROS. However, the simulation renders frame by frame, and often ros_control cancels the goal because it takes a long time to execute, even with significantly increased tolerances. This issue becomes particularly evident when employing path tracing, as each frame can take several seconds to compute.

Is there a method to real-time save all joint movements and then process the video later? Perhaps by storing the robot’s joint movements on the timeline and render them later using Movie Capture.

hello, how do you record the video in issac sim.
I have asked GPT4, but it can’t work.
omni.kit.capture and omni.isaac.synthetic_utils not exist.

Thank you

I didn’t solve it with RecordVideo, so I increased the resolution and recorded the video from the screen. But I don’t think it’s a good solution

Hi there,

you could access the rgb annotator data by using a render product of the view (camera) you would like to capture. You can then either save the .png files to disk and then create a video out of them (e.g. using ffmpeg) or using imegio directly in the python script.

This example should have all the information you need: