Media reader - Pause playback until current frame is processed in RR and API
Barney from United States  [14 posts]
2 years
Hi STeven,

I am using the Media Reader for video processing in Roborealm and Python API. The processing pipeline takes time in Roborealm. As a result, the  FPS drops and Media Reader seems to skips several frames to keep pace. My Playback Speed and Frame Increment are both 1.

Is it possible to load of frames one by one (without skipping) and pause the Media Reader until all processing (including API analysis) is finished in the current frame?  

After reading the forums it seems that rr.WaitImage() should do something like this, but it does not stop Media Reader from skipping frames. My use case involves finding the exact frame at which some changes occur and I am ok if video analysis takes more time.  

Thanks a lot :)
Steven from United States  [1425 posts] 2 years
Once the Media Reader starts its Windows that is continuing to read in the movie file and send RR images. It will NOT wait for a request for each frame since the audio needs to keep in sync with each movie (even if no audio is present) so we can't stop the playback and ensure each frame is processed.

You can try the other modules Read_AVI, VLC_Player, RTSP_Player instead as they may have different properties when it comes to realtime playback.

This is one of the reasons the Video_Recorder module was created but as of today there isn't any way to convert a video file into the Video_Recorder format without using RR (i.e. use Media Reader followed by a Video_Recorder module) to convert using one pipeline and then another pipeline to then process that recorded video stream.

Or if you have a way to convert each frame in the video to images, you can then use the Load_Image module to load in each frame one at a time. It depends a little on what you are trying to accomplish.



 New Post   Forum Index