How to process video in parallel?
Show older comments
Hello.
I need to read a video file (N frames long), process each adjucent pair of frames (to calculate a single output frame), and write the result as a video file (N-1 frames long). Processing time is important to me, so I am trying to do this in parallel.
I can't use a gpuArray() to pass a variable that was created using VideoReader() to the gpu (I get an error). It seems pointless to pass a pair of frames to the gpu and gather the result, as the transition of data back and forth takes longer than the calculation itself. Is there another way of using the gpu in my case?
I can use multiple workers (CPU), but the problem is that I cant write the result of a processed pair as a frame (using writeVideo() ), before the previous frame was writen. I need to make the worker wait if the previous frame wasn't writen yet. What will be the correct way of doing so?
Thank you.
2 Comments
Divya Gaddipati
on 6 Aug 2019
Does your current output frame depend on the previous output frame?
Ilya Tcenov
on 10 Aug 2019
Edited: Ilya Tcenov
on 10 Aug 2019
Accepted Answer
More Answers (0)
Categories
Find more on Introduction to Installation and Licensing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!