Simultaneous recording and processing of a video stream captured from the CSI camera


What would be the best way to record and process in parallel a video feed captured (by e.g. gstreamer) from a CSI camera, as shown below? The people counting task and its frame rate in the green boxes are just an example, I actually have various custom neural networks and tasks that I would like to try with this pipeline.



Have try the tee element.

hello adrien.deliege,

for your reference,
here’s sample pipeline I have used for preview the camera stream and also video recording simultaneously.

$ gst-launch-1.0 -e nvarguscamerasrc num-buffers=300 ! 'video/x-raw(memory:NVMM), width=2952, height=1944, format=NV12, framerate=30/1' ! tee name=streams streams. ! queue ! nvv4l2h265enc bitrate=8000000 ! h265parse ! qtmux ! filesink location=video0.mp4 streams. ! queue ! nvoverlaysink -e