rtang wrote:But getting back to your question, so yes, it sounds like raspivid and cvlc do accomplish what my application does. In regards to high and low resolution, I think that's theoretically possible (depending on the resolution), though I don't know if this is something the MMAL API supports (I have not looked into this yet). If MMAL API does support this, then there's no reason why my app can't forward a another stream to a different port.
That being said, are you also expecting the application to perform the record and motion detection? I'm not sure if the Pi has enough horse power to perform motion detection as well as recording at the same time. Or are you suggesting these are done on the receiver end?
Very interesting project! A quick aside on the subjects above: multi-resolution recording
is indeed possible by utilizing a splitter and resizer in the encoding pipeline. Also, recent firmwares have the ability to include motion estimation data from the H.264 encoder
in the stream, which can be used to implement a crude form of motion detection with minimal processing on the Pi (although those doc links are for my Python-based camera library, it's all implemented with MMAL underneath
Author of / contributor to a few pi related things (picamera, Sense HAT emulator, gpio-zero, piwheels, etc.), and currently a software engineer at Canonical responsible for Ubuntu Server and Core on the Raspberry Pi.