Video and Image capture in Python


I want to capture both video and images through the python API.


For recording i’ve found a few properties on the application. E.g. app.Recording = True starts the recording. However, when i set it to True after i’ve added a few other settings the timer at the top becomes red(as it should when i record), but the time is stuck at 00:00. When i manually reset the simulation i get an avi file containing 1 frame. Any clue about this?

As for the image i’ve tried using app.saveBitmap. Otherwise i havent found anything, and it wasn’t successful. Any tips?

Best regards,




Try contacting VC support. Sounds like bugs. Workaround is to do it in .NET. You can try in Python by using the netCommand to call action items for recording video and capturing frames OR use the PIL library to capture the frames.

Do you need to record the whole 3D scene or images at specific times in simulation?

What i want is basically to rotate a component 360 degrees around its own z-axis and record it. And i want to do it for 3000 different components so i can’t do it manually.

I’ve tried using netCommand but haven’t been successful yet…

To clarify we have 4 different licenses, 4.0 premium and professional, and 4.1 premium and professional.

Premium 4.1: Time freezes when app.Recording = True

Professional 4.1: Time moves and it seems to work accordingly up until i set app.Recording = False. When i stop the recording i get the following error message: NetInvoke: NReco.VideoConverter.FFMpegException: Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height (exit code: 1)
at NReco.VideoConverter.ConvertLiveMediaTask.Wait()
at VisualComponents.Revolution.VideoRecordHelper.FreeResources()
at VisualComponents.Revolution.VideoRecordHelper.Stop(Uri file)
at VisualComponents.Revolution.NetProxyWrapper.NetInvokeInternal(Int32 type, Void* param1, Void* param2, Void* param3)
at VisualComponents.Revolution.NetProxyWrapper.NetInvokeHandler(Int32 type, Void* param1, Void* param2, Void* param3)

Both 4.0 licenses: It works just fine. However, it seems as 4.0 and 4.1 handles text characters in different ways. I can handle åäö much better in 4.1 than in 4.0 - so i would prefer to use 4.1 since a lot of the code i have wont work in 4.0.

Best regards