Hi, I have recorded some Video Playback with my ZedX camera, and wanted to manipulate the Video with OpenCV, the issue is that when I run the python script for Video Playback, It seems that the Video is slowed down.
I then go ahead and Enable “Real Time Mode” and that seems to speed up the video to real time, but the Frame Rate drops significantly(60FPS to about 15/30FPS). I know someone had posted about this suggesting to Record at 30FPS 1080P, but what confuses me is that the Video Seems to be playing correctly, at HD1200 @ 60FPS when I open and view the video using the ZED Explorer App.
Why is there such a big difference between the video playback in the Python Script vs ZED Explorer? How can this be fixed in code? Is it OpenCV that’s causing the issue?
I am also curious to know if there is a possible way to export the SVO file as a Stereoscopic MP4 video after I do the manipulations? Will exporting the video as a true video file fix this issue?
I have opened the SVO file and seen that the FPS of the video seems to be between 55 & 60FPS at all times. Like in my original post, playing the video in the Zed Explorer seems to have no issues. Only when I use the python script with “Real Time Mode” False, the playback is slowed down, and when “Real Time Mode” is True, the frames drop significantly. I want to be able to play the video in Real time at the recorded frame rate, which is somewhere between 55 and 60FPS.
The Video was recorded on a ZEDX, using the ZED Box Orin NX16GB.
I have used both that device, and a more powerful Desktop(i9 & 4070) for video playback.
This means that the host device has not enough computing power to process all the frames at the realtime rate.
What’s the power mode of your ZED Box? Is the jetson_clocks.sh script running?
When playing back the SVO on the desktop PC you should obtain the full rate and notice an SVO acceleration when realtime mode is off
The Power Mode of the ZED Box should be 60W, I am using the provided Barrel Jack power adapter. I mainly use the Desktop that I mentioned in the earlier post for playback, which should have more than enough computing power to run at 60FPS Full Resolution. I just find it odd that it seems to be running fine in ZED Explorer, but not on the python script.
As far as jetson_clocks.sh, I can go ahead and take a look, I am not sure off the top of my head. Like stated before, I mainly use the Desktop for video playback.
Do you know if Python/svo_playback.py Script by Default is only using 1 core on the CPU to process the frames? Is the ZED Explorer app using multi-threading, where the Python Script is not?
Also I did try to set sl.MEM.CPU to sl.MEM.GPU to see if I can utilize my GPU for processing.
It’s a single thread process, but Python is known to have performance issues in some conditions. Did you try with the same C++ sample?
What version of the ZED SDK are you using?
Please follow this thread for a similar discussion: Python GPU Retrieval Examples Request
A member of the SDK team will add information as soon as possible
I haven’t tried the C++ sample, I’ve mainly been working in python. I will go ahead and try the C++ code sample and see if I get different results that way. I have the SDK 5.0.1 Installed.
And will do, I will follow that thread and hopefully see some Tensor Examples in the near future.
Is there a way to get the script to use more than 1 thread for the processing? Or is that not possible?