<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
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. <br><br>Once again thank you for the direction.<br><br>Best regards,<br><br>- Zelalem S. <br><br><br>&gt; Date: Fri, 26 Nov 2010 12:33:09 +0200<br>&gt; From: gibrovacco@gmail.com<br>&gt; To: gstreamer-devel@lists.sourceforge.net<br>&gt; Subject: Re: [gst-devel] How to create a video recording buffer from a live broadcast and read from it at the same time<br>&gt; <br>&gt; Hi,<br>&gt; <br>&gt; a few pointers below, but I suggest you to anyway read the online<br>&gt; documentation/check the sources to know something more.<br>&gt; <br>&gt; On Fri, Nov 26, 2010 at 11:40 AM, Zelalem Sintayehu<br>&gt; &lt;zelalems@hotmail.com&gt; wrote:<br>&gt; &gt; Hi Marco Ballesio thank you again for the support. Before I start to<br>&gt; &gt; implement your proposals, I want to ask you some questions. Let me respond<br>&gt; &gt; to your request first<br>&gt; &gt;&gt; only. Do you have special requirements about using SIP in your AS<br>&gt; &gt;&gt; media controller?<br>&gt; &gt; No, I don't have. I can use RTSP.<br>&gt; &gt;<br>&gt; &gt;&gt; Wim's rtsp streaming server will probably help you with all of this:<br>&gt; &gt; Thank you. I'll download and check it.<br>&gt; &gt;<br>&gt; &gt; My questions are:<br>&gt; &gt; - Is it possible to read from a file that is being written by another<br>&gt; &gt; process? I mean the second server is going to read from teh file that the<br>&gt; &gt; first server is writing to.<br>&gt; <br>&gt; Yes it is and it *should* work as long as the consumer is not faster<br>&gt; than the producer. What I don't exactly know is if the server<br>&gt; connected to the camera will continue recording even when no rtsp<br>&gt; clients are connected to it, but maybe you could give it a try.<br>&gt; <br>&gt; &gt;<br>&gt; &gt;&gt; by periodically looping (through a timer) on the first server you may<br>&gt; &gt;&gt; implement a basic way to re-start the file each n minutes.<br>&gt; &gt;<br>&gt; &gt; Please clarify what you mean by restart the file.<br>&gt; <br>&gt; In GStreamer terms, going to NULL, and then to PLAYING again. Check<br>&gt; the "Application development manual":<br>&gt; <br>&gt; http://www.gstreamer.net/data/doc/gstreamer/head/manual/html/index.html<br>&gt; <br>&gt; for more info.<br>&gt; <br>&gt; &gt;<br>&gt; &gt;&gt; More elegant ways may involve a valve element and transitions to NULL<br>&gt; &gt;&gt; state/eos for the filesink element only.<br>&gt; &gt;<br>&gt; &gt; What will this (valve) element do?<br>&gt; <br>&gt; Here it is:<br>&gt; <br>&gt; http://www.gstreamer.net/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-valve.html<br>&gt; <br>&gt; basically you can dynamically connect/disconnect elements to a<br>&gt; pipeline when setting it to drop buffers. I'd suggest you to<br>&gt; investigate on it only after you've maturised a basic knowledge about<br>&gt; gstreamer.<br>&gt; <br>&gt; Regards<br>&gt; <br>&gt; &gt;<br>&gt; &gt; Thank you.<br>&gt; &gt;<br>&gt; &gt; Best regards,<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; - Zelalem S.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;&gt; Date: Thu, 25 Nov 2010 19:59:05 +0200<br>&gt; &gt;&gt; From: gibrovacco@gmail.com<br>&gt; &gt;&gt; To: gstreamer-devel@lists.sourceforge.net<br>&gt; &gt;&gt; Subject: Re: [gst-devel] How to create a video recording buffer from a<br>&gt; &gt;&gt; live broadcast and read from it at the same time<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Hi,<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; On Thu, Nov 25, 2010 at 3:33 PM, Zelalem Sintayehu &lt;zelalems@hotmail.com&gt;<br>&gt; &gt;&gt; wrote:<br>&gt; &gt;&gt; &gt; Hi Dear Marco Ballesio thank you for your prompt response. I'm a student<br>&gt; &gt;&gt; &gt; and<br>&gt; &gt;&gt; &gt; want to do this as a project. Basically I want to have a kind of network<br>&gt; &gt;&gt; &gt; based recorder which is controlled by either SIP or RTSP from an<br>&gt; &gt;&gt; &gt; application<br>&gt; &gt;&gt; &gt; server. Those are the two protocols that I was thinking about to use.<br>&gt; &gt;&gt; &gt; Currently I have an RTSP proxy that I developed which is controlled by a<br>&gt; &gt;&gt; &gt; SIP<br>&gt; &gt;&gt; &gt; Application Server (AS) and delivers the media to a client. So I want to<br>&gt; &gt;&gt; &gt; extend it a little further so that when it is told to pause, it will<br>&gt; &gt;&gt; &gt; pause<br>&gt; &gt;&gt; &gt; the stream it gets from the server (which basically means recording it<br>&gt; &gt;&gt; &gt; for<br>&gt; &gt;&gt; &gt; later use) and again when told to resume starts the delivery from the<br>&gt; &gt;&gt; &gt; place<br>&gt; &gt;&gt; &gt; where it was paused. The client (a SIP) is just a passive media<br>&gt; &gt;&gt; &gt; reciever.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; in my understanding it should be possible to do all of this with RTSP<br>&gt; &gt;&gt; only. Do you have special requirements about using SIP in your AS<br>&gt; &gt;&gt; media controller?<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt; the media control comes from the application server. I also want to use<br>&gt; &gt;&gt; &gt; a<br>&gt; &gt;&gt; &gt; client with basic RTSP capability but still the media control comes from<br>&gt; &gt;&gt; &gt; the<br>&gt; &gt;&gt; &gt; AS or media controller. With regard to bandwith limitation I don't have<br>&gt; &gt;&gt; &gt; badndwidth costraints, but I'm thinking that the recorder should have a<br>&gt; &gt;&gt; &gt; limited (specified) buffer size. It can't go on recording forever. I<br>&gt; &gt;&gt; &gt; also<br>&gt; &gt;&gt; &gt; only want this to work for one client. Hope I have attended your<br>&gt; &gt;&gt; &gt; queries.<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; Once again thank you for your support.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; A few ideas. Disclaimer: I've not personally tried them, so your<br>&gt; &gt;&gt; mileage to get the thing working may vary..<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Wim's rtsp streaming server will probably help you with all of this:<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; http://people.freedesktop.org/~wtay/<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; in my understanding, you would need to setup two servers:<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; - the first one streaming from the camera AND locally saving to file<br>&gt; &gt;&gt; (through, between the others, a tee element and an mp4mux with the<br>&gt; &gt;&gt; option "faststart" set to true).<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; - the second one providing the file saved from the first one.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; by periodically looping (through a timer) on the first server you may<br>&gt; &gt;&gt; implement a basic way to re-start the file each n minutes. More<br>&gt; &gt;&gt; elegant ways may involve a valve element and transitions to NULL<br>&gt; &gt;&gt; state/eos for the filesink element only.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Regards<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; Best regards,<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; - Zelalem S.<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;&gt; Date: Thu, 25 Nov 2010 13:39:37 +0200<br>&gt; &gt;&gt; &gt;&gt; From: gibrovacco@gmail.com<br>&gt; &gt;&gt; &gt;&gt; To: gstreamer-devel@lists.sourceforge.net<br>&gt; &gt;&gt; &gt;&gt; Subject: Re: [gst-devel] How to create a video recording buffer from a<br>&gt; &gt;&gt; &gt;&gt; live broadcast and read from it at the same time<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; Hi,<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; On Wed, Nov 24, 2010 at 12:13 PM, Zelalem Sintayehu<br>&gt; &gt;&gt; &gt;&gt; &lt;zelalems@hotmail.com&gt; wrote:<br>&gt; &gt;&gt; &gt;&gt; &gt; Hi I want to create a program using gstreamer that when activated<br>&gt; &gt;&gt; &gt;&gt; &gt; starts<br>&gt; &gt;&gt; &gt;&gt; &gt; to<br>&gt; &gt;&gt; &gt;&gt; &gt; record a live broadcast and when requested starts to deliver what is<br>&gt; &gt;&gt; &gt;&gt; &gt; being<br>&gt; &gt;&gt; &gt;&gt; &gt; recorded from the beginning of the record while keeping on recording<br>&gt; &gt;&gt; &gt;&gt; &gt; on<br>&gt; &gt;&gt; &gt;&gt; &gt; the<br>&gt; &gt;&gt; &gt;&gt; &gt; other end (the live broadcast). At some point I want to ignore<br>&gt; &gt;&gt; &gt;&gt; &gt; recording<br>&gt; &gt;&gt; &gt;&gt; &gt; and<br>&gt; &gt;&gt; &gt;&gt; &gt; go live. I hope gstreamer could be used to do this. Basically my<br>&gt; &gt;&gt; &gt;&gt; &gt; problem<br>&gt; &gt;&gt; &gt;&gt; &gt; is<br>&gt; &gt;&gt; &gt;&gt; &gt; to create a buffer of a file that I can read and write into it at the<br>&gt; &gt;&gt; &gt;&gt; &gt; same<br>&gt; &gt;&gt; &gt;&gt; &gt; time.&nbsp; Please advice me how I can do this.<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; Imo there are many ways for achieving this, some of which being easy,<br>&gt; &gt;&gt; &gt;&gt; other more difficult. The freedom you'll have in your design depends<br>&gt; &gt;&gt; &gt;&gt; on some variables:<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; - You'll anyway have to use a signalling protocol (e.g. RTSP, SIP,<br>&gt; &gt;&gt; &gt;&gt; XMPP, etc..) to make it working, so you'll have to carefully pick the<br>&gt; &gt;&gt; &gt;&gt; one which better suits your requirements (e.g. RTSP is pretty well<br>&gt; &gt;&gt; &gt;&gt; supported from GStreamer from both sides, for SIP or XMPP I suggest<br>&gt; &gt;&gt; &gt;&gt; you to give a look to the telepathy framework).<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; - Are you planning to make it compatible with standard clients? If<br>&gt; &gt;&gt; &gt;&gt; yes, which protocols do they use? If not, are you planning to write<br>&gt; &gt;&gt; &gt;&gt; the client application as well?<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; - Do you have resource constraints (network bandwidth, CPU, disk,<br>&gt; &gt;&gt; &gt;&gt; memory)?<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; - Is it possible that multiple clients will connect to the same server?<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; If you can clarify the points of above it would be possible to give<br>&gt; &gt;&gt; &gt;&gt; you, in turn, an appropriate answer.<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; Regards<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;&gt; &gt; Thank you.<br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;&gt; &gt; Best regards,<br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;&gt; &gt; - Zelalem S.<br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;&gt; &gt; ------------------------------------------------------------------------------<br>&gt; &gt;&gt; &gt;&gt; &gt; Increase Visibility of Your 3D Game App &amp; Earn a Chance To Win $500!<br>&gt; &gt;&gt; &gt;&gt; &gt; Tap into the largest installed PC base &amp; get more eyes on your game<br>&gt; &gt;&gt; &gt;&gt; &gt; by<br>&gt; &gt;&gt; &gt;&gt; &gt; optimizing for Intel(R) Graphics Technology. Get started today with<br>&gt; &gt;&gt; &gt;&gt; &gt; the<br>&gt; &gt;&gt; &gt;&gt; &gt; Intel(R) Software Partner Program. Five $500 cash prizes are up for<br>&gt; &gt;&gt; &gt;&gt; &gt; grabs.<br>&gt; &gt;&gt; &gt;&gt; &gt; http://p.sf.net/sfu/intelisp-dev2dev<br>&gt; &gt;&gt; &gt;&gt; &gt; _______________________________________________<br>&gt; &gt;&gt; &gt;&gt; &gt; gstreamer-devel mailing list<br>&gt; &gt;&gt; &gt;&gt; &gt; gstreamer-devel@lists.sourceforge.net<br>&gt; &gt;&gt; &gt;&gt; &gt; https://lists.sourceforge.net/lists/listinfo/gstreamer-devel<br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; ------------------------------------------------------------------------------<br>&gt; &gt;&gt; &gt;&gt; Increase Visibility of Your 3D Game App &amp; Earn a Chance To Win $500!<br>&gt; &gt;&gt; &gt;&gt; Tap into the largest installed PC base &amp; get more eyes on your game by<br>&gt; &gt;&gt; &gt;&gt; optimizing for Intel(R) Graphics Technology. Get started today with the<br>&gt; &gt;&gt; &gt;&gt; Intel(R) Software Partner Program. Five $500 cash prizes are up for<br>&gt; &gt;&gt; &gt;&gt; grabs.<br>&gt; &gt;&gt; &gt;&gt; http://p.sf.net/sfu/intelisp-dev2dev<br>&gt; &gt;&gt; &gt;&gt; _______________________________________________<br>&gt; &gt;&gt; &gt;&gt; gstreamer-devel mailing list<br>&gt; &gt;&gt; &gt;&gt; gstreamer-devel@lists.sourceforge.net<br>&gt; &gt;&gt; &gt;&gt; https://lists.sourceforge.net/lists/listinfo/gstreamer-devel<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; ------------------------------------------------------------------------------<br>&gt; &gt;&gt; &gt; Increase Visibility of Your 3D Game App &amp; Earn a Chance To Win $500!<br>&gt; &gt;&gt; &gt; Tap into the largest installed PC base &amp; get more eyes on your game by<br>&gt; &gt;&gt; &gt; optimizing for Intel(R) Graphics Technology. Get started today with the<br>&gt; &gt;&gt; &gt; Intel(R) Software Partner Program. Five $500 cash prizes are up for<br>&gt; &gt;&gt; &gt; grabs.<br>&gt; &gt;&gt; &gt; http://p.sf.net/sfu/intelisp-dev2dev<br>&gt; &gt;&gt; &gt; _______________________________________________<br>&gt; &gt;&gt; &gt; gstreamer-devel mailing list<br>&gt; &gt;&gt; &gt; gstreamer-devel@lists.sourceforge.net<br>&gt; &gt;&gt; &gt; https://lists.sourceforge.net/lists/listinfo/gstreamer-devel<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ------------------------------------------------------------------------------<br>&gt; &gt;&gt; Increase Visibility of Your 3D Game App &amp; Earn a Chance To Win $500!<br>&gt; &gt;&gt; Tap into the largest installed PC base &amp; get more eyes on your game by<br>&gt; &gt;&gt; optimizing for Intel(R) Graphics Technology. Get started today with the<br>&gt; &gt;&gt; Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.<br>&gt; &gt;&gt; http://p.sf.net/sfu/intelisp-dev2dev<br>&gt; &gt;&gt; _______________________________________________<br>&gt; &gt;&gt; gstreamer-devel mailing list<br>&gt; &gt;&gt; gstreamer-devel@lists.sourceforge.net<br>&gt; &gt;&gt; https://lists.sourceforge.net/lists/listinfo/gstreamer-devel<br>&gt; &gt;<br>&gt; &gt; ------------------------------------------------------------------------------<br>&gt; &gt; Increase Visibility of Your 3D Game App &amp; Earn a Chance To Win $500!<br>&gt; &gt; Tap into the largest installed PC base &amp; get more eyes on your game by<br>&gt; &gt; optimizing for Intel(R) Graphics Technology. Get started today with the<br>&gt; &gt; Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.<br>&gt; &gt; http://p.sf.net/sfu/intelisp-dev2dev<br>&gt; &gt; _______________________________________________<br>&gt; &gt; gstreamer-devel mailing list<br>&gt; &gt; gstreamer-devel@lists.sourceforge.net<br>&gt; &gt; https://lists.sourceforge.net/lists/listinfo/gstreamer-devel<br>&gt; &gt;<br>&gt; &gt;<br>&gt; <br>&gt; ------------------------------------------------------------------------------<br>&gt; Increase Visibility of Your 3D Game App &amp; Earn a Chance To Win $500!<br>&gt; Tap into the largest installed PC base &amp; get more eyes on your game by<br>&gt; optimizing for Intel(R) Graphics Technology. Get started today with the<br>&gt; Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.<br>&gt; http://p.sf.net/sfu/intelisp-dev2dev<br>&gt; _______________________________________________<br>&gt; gstreamer-devel mailing list<br>&gt; gstreamer-devel@lists.sourceforge.net<br>&gt; https://lists.sourceforge.net/lists/listinfo/gstreamer-devel<br>                                               </body>
</html>