Save camera to multiple files in real time

redpanda patrick.landreman at gmail.com
Wed Oct 25 02:59:51 UTC 2017


I'm working on an application where I need to capture hours of continuous
video, and then later upload specific time windows to a remote machine.
Because the video data is large, and this system will be collecting for
months, everything has to be compressed.

My first attempt was to use two threads to avoid dropping frames - the first
has a very simple pipeline with no compression, while the second performs
the compression. Here is the pipeline I would want to run on the first: 

gst-launch-1.0 v4l2src num-buffers=300 ! video/x-raw,framerate=30/1 !
filesink location=myFile

This command would be run in a loop to capture a sequence of files.
Unfortunately, while this should capture 300/30 = 10s of video, it takes 30s
to execute. That means I'm losing a huge amount of video before the next
iteration of the loop can start.

I looked into splitmuxsink, but get a message that it doesn't exist, even
though I have all the plugins installed.

It seems that gstreamer must be powerful enough for me to access the
buffered, raw video and select chunks of it to save as the buffer fills, but
there aren't any examples with anything close to this that I can find. How
would others recommend going about this goal?




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list