[gst-devel] How to create a video recording buffer from a live broadcast and read from it at the same time
Zelalem Sintayehu
zelalems at hotmail.com
Fri Nov 26 15:19:49 CET 2010
Dear Marco Ballesio thanks a lot for the comment. I'll try to do what you advised me. By the way, I have some expereince with gstreamer. I had written a code that captures and saves a video from a webcam into a file and also send it across the network. Another program I wrote was for videomail recorder. But this was last year. So I'll read the manual again for more info. I'll try and come back if i get a problem.
Once again thank you for the direction.
Best regards,
- Zelalem S.
> Date: Fri, 26 Nov 2010 12:33:09 +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,
>
> a few pointers below, but I suggest you to anyway read the online
> documentation/check the sources to know something more.
>
> On Fri, Nov 26, 2010 at 11:40 AM, Zelalem Sintayehu
> <zelalems at hotmail.com> wrote:
> > Hi Marco Ballesio thank you again for the support. Before I start to
> > implement your proposals, I want to ask you some questions. Let me respond
> > to your request first
> >> only. Do you have special requirements about using SIP in your AS
> >> media controller?
> > No, I don't have. I can use RTSP.
> >
> >> Wim's rtsp streaming server will probably help you with all of this:
> > Thank you. I'll download and check it.
> >
> > My questions are:
> > - Is it possible to read from a file that is being written by another
> > process? I mean the second server is going to read from teh file that the
> > first server is writing to.
>
> Yes it is and it *should* work as long as the consumer is not faster
> than the producer. What I don't exactly know is if the server
> connected to the camera will continue recording even when no rtsp
> clients are connected to it, but maybe you could give it a try.
>
> >
> >> by periodically looping (through a timer) on the first server you may
> >> implement a basic way to re-start the file each n minutes.
> >
> > Please clarify what you mean by restart the file.
>
> In GStreamer terms, going to NULL, and then to PLAYING again. Check
> the "Application development manual":
>
> http://www.gstreamer.net/data/doc/gstreamer/head/manual/html/index.html
>
> for more info.
>
> >
> >> More elegant ways may involve a valve element and transitions to NULL
> >> state/eos for the filesink element only.
> >
> > What will this (valve) element do?
>
> Here it is:
>
> http://www.gstreamer.net/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-valve.html
>
> basically you can dynamically connect/disconnect elements to a
> pipeline when setting it to drop buffers. I'd suggest you to
> investigate on it only after you've maturised a basic knowledge about
> gstreamer.
>
> Regards
>
> >
> > Thank you.
> >
> > Best regards,
> >
> >
> > - Zelalem S.
> >
> >
> >> Date: Thu, 25 Nov 2010 19:59:05 +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 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
> >> >
> >> >
> >>
> >>
> >> ------------------------------------------------------------------------------
> >> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20101126/951b2165/attachment.htm>
More information about the gstreamer-devel
mailing list