Valkka
1.6.1
OpenSource Video Management
|
Posix shared memory and semaphores. More...
Classes | |
class | AVRGBFrame |
Decoded YUV frame in a non-planar format (thus "NP") More... | |
class | SharedMemSegment |
Handles a shared memory segment with metadata (the segment size) More... | |
class | SharedMemRingBufferBase |
Interprocess shared memory ring buffer synchronized with posix semaphores. More... | |
class | SharedMemRingBufferRGB |
SharedMemRingBuffer for AVRGBFrame. More... | |
class | ShmemFrameFilter |
This FrameFilter writes frames into a SharedMemRingBuffer. More... | |
class | RGBShmemFrameFilter |
Like ShmemFrameFilter. More... | |
Posix shared memory and semaphores.
Using shared memory, multiprocesses, especially python processes, can interchange frames. Used typically for sending frames from AVThread to a python multiprocess at the python API side.
According to my experience, this is good for passing, say, one full-hd frame per second (good enough to do ok image analysis). However, don't expect this to work for high-throughput 30 fps per second for several cameras..!
In the SharedMemRingBuffer the name is important. It identifies the POSIX shared memory segments both in the server and client side.