Question regarding video recording strategy ~ feedback welcome (wanted?)

Ian Daley ian at nian.com.au
Fri Jun 22 10:06:57 PDT 2012


Hi there,

I have a question to the GStreamer community on something I'd like to 
do, and some input into ideas and options to enable me to do it.

I have a number of wireless IP Cameras that I receive video feeds from 
(NOT my neighbours) and I have a working Gstreamer stream setup that 
handles this nicely.

What I would like to do now is as well as allowing viewing (it feeds the 
stream into an RTMP Server) I'd also like to record the streams at the 
same time.

The trick is I want to do the following:

1. Record the streams in chunks indexed by time.
2. Record them in compressed format.
3. Be able to have as small chunks as possible.
4. Not have to start a separate stream to do so.
5. minimise / eliminate the gap between chunks.

My current in-my-head theory is I would create some kind of process (in 
C++) that would peel off the data using a stream off a Tee. When the 
required chunk size was reached, it would add a new bin to the tee and 
start a new process and remove the existing bin. Kind of like a circular 
buffer. This would also create a new file.

I intend to name the files as a EPOCH timestamp + format.

Does this sound like a good strategy?

I will be encoding the files into H264 and putting them into an FLV 
container.

Can anyone see any issues with this or problems I might run into?

Note the main stream is constantly running as there is a requirement to 
view the live feed at any time.

Kind Regards

Ian


More information about the gstreamer-devel mailing list