I have UDP MPEG-2 TS streams coming from a satellite TV receiver connected to an Ubuntu box, I can access each frame from each stream (corresponding to different channels) using ffmpeg, no problem.
I would like to perform various video processing operations on a stream, e.g. Task A, Task B, etc. These could be face tracking, commercial detection etc. I want to separate code that accesses each frame and code that processes each frame, that is, I want Task A, Task B to be separate applications, that can be started & stopped independently.
What would be the best way to share each frame read by the frame reader with other (number may increase) applications that process these, similar to the publish/subscriber design pattern? Is pub/sub suited for this task? I thought that was more applicable to message type passing. Here, the data rate is high (30 frames/sec with 720x480 size) and near real-time processing performance is desired.
Thanks a lot,
My wording of the problem was dense. I reworded my problem and got good answers to this problem at a different question on SO.