[gst-devel] How to create a video recording buffer from a live broadcast and read from it at the same time

Marco Ballesio gibrovacco at gmail.com
Thu Nov 25 18:59:05 CET 2010


Hi,

On Thu, Nov 25, 2010 at 3:33 PM, Zelalem Sintayehu <zelalems at hotmail.com> wrote:
> Hi Dear Marco Ballesio thank you for your prompt response. I'm a student and
> want to do this as a project. Basically I want to have a kind of network
> based recorder which is controlled by either SIP or RTSP from an application
> server. Those are the two protocols that I was thinking about to use.
> Currently I have an RTSP proxy that I developed which is controlled by a SIP
> Application Server (AS) and delivers the media to a client. So I want to
> extend it a little further so that when it is told to pause, it will pause
> the stream it gets from the server (which basically means recording it for
> later use) and again when told to resume starts the delivery from the place
> where it was paused. The client (a SIP) is just a passive media reciever.

in my understanding it should be possible to do all of this with RTSP
only. Do you have special requirements about using SIP in your AS
media controller?

> the media control comes from the application server. I also want to use a
> client with basic RTSP capability but still the media control comes from the
> AS or media controller. With regard to bandwith limitation I don't have
> badndwidth costraints, but I'm thinking that the recorder should have a
> limited (specified) buffer size. It can't go on recording forever. I also
> only want this to work for one client. Hope I have attended your queries.
>
> Once again thank you for your support.

A few ideas. Disclaimer: I've not personally tried them, so your
mileage to get the thing working may vary..

Wim's rtsp streaming server will probably help you with all of this:

http://people.freedesktop.org/~wtay/

in my understanding, you would need to setup two servers:

- the first one streaming from the camera AND locally saving to file
(through, between the others, a tee element and an mp4mux with the
option "faststart" set to true).

- the second one providing the file saved from the first one.

by periodically looping (through a timer) on the first server you may
implement a basic way to re-start the file each n minutes. More
elegant ways may involve a valve element and transitions to NULL
state/eos for the filesink element only.

Regards

>
> Best regards,
>
> - Zelalem S.
>
>
>
>
>> Date: Thu, 25 Nov 2010 13:39:37 +0200
>> From: gibrovacco at gmail.com
>> To: gstreamer-devel at lists.sourceforge.net
>> Subject: Re: [gst-devel] How to create a video recording buffer from a
>> live broadcast and read from it at the same time
>>
>> Hi,
>>
>> On Wed, Nov 24, 2010 at 12:13 PM, Zelalem Sintayehu
>> <zelalems at hotmail.com> wrote:
>> > Hi I want to create a program using gstreamer that when activated starts
>> > to
>> > record a live broadcast and when requested starts to deliver what is
>> > being
>> > recorded from the beginning of the record while keeping on recording on
>> > the
>> > other end (the live broadcast). At some point I want to ignore recording
>> > and
>> > go live. I hope gstreamer could be used to do this. Basically my problem
>> > is
>> > to create a buffer of a file that I can read and write into it at the
>> > same
>> > time.  Please advice me how I can do this.
>>
>> Imo there are many ways for achieving this, some of which being easy,
>> other more difficult. The freedom you'll have in your design depends
>> on some variables:
>>
>> - You'll anyway have to use a signalling protocol (e.g. RTSP, SIP,
>> XMPP, etc..) to make it working, so you'll have to carefully pick the
>> one which better suits your requirements (e.g. RTSP is pretty well
>> supported from GStreamer from both sides, for SIP or XMPP I suggest
>> you to give a look to the telepathy framework).
>>
>> - Are you planning to make it compatible with standard clients? If
>> yes, which protocols do they use? If not, are you planning to write
>> the client application as well?
>>
>> - Do you have resource constraints (network bandwidth, CPU, disk, memory)?
>>
>> - Is it possible that multiple clients will connect to the same server?
>>
>> If you can clarify the points of above it would be possible to give
>> you, in turn, an appropriate answer.
>>
>> Regards
>>
>> >
>> > Thank you.
>> >
>> > Best regards,
>> >
>> > - Zelalem S.
>> >
>> >
>> >
>> >
>> > ------------------------------------------------------------------------------
>> > Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
>> > Tap into the largest installed PC base & get more eyes on your game by
>> > optimizing for Intel(R) Graphics Technology. Get started today with the
>> > Intel(R) Software Partner Program. Five $500 cash prizes are up for
>> > grabs.
>> > http://p.sf.net/sfu/intelisp-dev2dev
>> > _______________________________________________
>> > gstreamer-devel mailing list
>> > gstreamer-devel at lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>> >
>> >
>>
>>
>> ------------------------------------------------------------------------------
>> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
>> Tap into the largest installed PC base & get more eyes on your game by
>> optimizing for Intel(R) Graphics Technology. Get started today with the
>> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
>> http://p.sf.net/sfu/intelisp-dev2dev
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
> ------------------------------------------------------------------------------
> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
> Tap into the largest installed PC base & get more eyes on your game by
> optimizing for Intel(R) Graphics Technology. Get started today with the
> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
> http://p.sf.net/sfu/intelisp-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>




More information about the gstreamer-devel mailing list