<br><br><div class="gmail_quote">On Fri, Jun 19, 2009 at 10:17 PM, <span dir="ltr"><<a href="mailto:gstreamer-devel-request@lists.sourceforge.net">gstreamer-devel-request@lists.sourceforge.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Send gstreamer-devel mailing list submissions to<br>
<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
or, via email, send a message with subject or body 'help' to<br>
<a href="mailto:gstreamer-devel-request@lists.sourceforge.net">gstreamer-devel-request@lists.sourceforge.net</a><br>
<br>
You can reach the person managing the list at<br>
<a href="mailto:gstreamer-devel-owner@lists.sourceforge.net">gstreamer-devel-owner@lists.sourceforge.net</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of gstreamer-devel digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
1. Re: Slow down videos (Stefan Kost)<br>
2. Re: Slow down videos (Andoni Morales)<br>
3. How to perform frame-by-frame video playing (Albert Costa)<br>
4. Re: [theora] Mozilla & gstreamer (Tim-Philipp M?ller)<br>
5. Re: How to perform frame-by-frame video playing (Wim Taymans)<br>
6. Re: How to perform frame-by-frame video playing (Andoni Morales)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Fri, 19 Jun 2009 15:50:59 +0300<br>
From: Stefan Kost <<a href="mailto:ensonic@hora-obscura.de">ensonic@hora-obscura.de</a>><br>
Subject: Re: [gst-devel] Slow down videos<br>
To: Discussion of the development of GStreamer<br>
<<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>><br>
Message-ID: <<a href="mailto:4A3B89B3.6030608@hora-obscura.de">4A3B89B3.6030608@hora-obscura.de</a>><br>
Content-Type: text/plain; charset=ISO-8859-15<br>
<br>
Maximilan Hoegner schrieb:<br>
> Hi,<br>
> is there some simple gst-launch-pipeline to slow down a video file?<br>
> Something like<br>
><br>
> gst-launch-0.10 filesrc location=in.wav ! slowdown ! filesink=out.wav<br>
><br>
> I know that I can play a video slower if I send a seek event with rate<br>
> != 1.0. But seeking doesn't seem to work with filesink, and I don't know<br>
> how to seek when using gst-launch, if this is possible. So is there a<br>
> simple pipeline I can use with gst-launch?<br>
<br>
The above missed demuxers and decoders. You need to fully transcode it.<br>
<br>
gst-launch-0.10 filesrc location=in.wav ! decodebin2 ! waveenc ! filesink=out.wav<br>
<br>
but even then I am not sure if it will work as imho its the audiosinks that<br>
resample.<br>
<br>
Regarding seeking and gst-launch - no way. gst-launch is not meant for this. You<br>
need to write a small app.<br>
<br>
Stefan<br>
<br>
><br>
> In case there is not:<br>
><br>
> Is there another way of seeking that does work with filesink? I also<br>
> tried sync=TRUE for the filesink, which had no effect.<br>
> Perhaps I made some mistake in my program structure. I first set the<br>
> state of the pipeline to playing. Then I do a get_state to wait for the<br>
> state change to complete (otherwise seeking has no effect at all, even<br>
> when not using filesink). Then I call<br>
><br>
> gst_element_seek(pipeline, 0.5, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH,<br>
> GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE);<br>
><br>
> which should set the playback rate to 0.5. After that I run the<br>
> gmainloop. This does indeed work if I do not use filesink, but when I<br>
> use it, the file is not slowed down at all (seeking to another position<br>
> doesn't work either). Anything wrong about that?<br>
> I suspect that the work is already done when the program reaches the<br>
> seek line, because state is set to playing before. Doing it the other<br>
> way round does not work however, the seek event does not get handled then.<br>
</blockquote><div><br>Hi,<br><br>I think this will work,<br><br><br>gst_element_seek(pipeline, 0.5, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH,<br>
> GST_SEEK_TYPE_NONE, 0, GST_SEEK_TYPE_NONE, -1);<br><br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
> Thank you for your help,<br>
> Maxi<br>
><br>
><br>
><br>
> ------------------------------------------------------------------------<br>
><br>
> ------------------------------------------------------------------------------<br>
> Crystal Reports - New Free Runtime and 30 Day Trial<br>
> Check out the new simplified licensing option that enables unlimited<br>
> royalty-free distribution of the report engine for externally facing<br>
> server and web deployment.<br>
> <a href="http://p.sf.net/sfu/businessobjects" target="_blank">http://p.sf.net/sfu/businessobjects</a><br>
><br>
><br>
> ------------------------------------------------------------------------<br>
><br>
> _______________________________________________<br>
> gstreamer-devel mailing list<br>
> <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Fri, 19 Jun 2009 15:32:42 +0200<br>
From: Andoni Morales <<a href="mailto:ylatuya@gmail.com">ylatuya@gmail.com</a>><br>
Subject: Re: [gst-devel] Slow down videos<br>
To: Discussion of the development of GStreamer<br>
<<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>><br>
Message-ID:<br>
<<a href="mailto:772db3280906190632h43ea5292wedc7aebbee434edb@mail.gmail.com">772db3280906190632h43ea5292wedc7aebbee434edb@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="iso-8859-1"<br>
<br>
2009/6/15 Maximilan Hoegner <<a href="mailto:maxi@hg.homeunix.org">maxi@hg.homeunix.org</a>><br>
<br>
> Hi,<br>
> is there some simple gst-launch-pipeline to slow down a video file?<br>
> Something like<br>
><br>
> gst-launch-0.10 filesrc location=in.wav ! slowdown ! filesink=out.wav<br>
><br>
> I know that I can play a video slower if I send a seek event with rate<br>
> != 1.0. But seeking doesn't seem to work with filesink, and I don't know<br>
> how to seek when using gst-launch, if this is possible. So is there a<br>
> simple pipeline I can use with gst-launch?<br>
><br>
> In case there is not:<br>
><br>
> Is there another way of seeking that does work with filesink? I also<br>
> tried sync=TRUE for the filesink, which had no effect.<br>
> Perhaps I made some mistake in my program structure. I first set the<br>
> state of the pipeline to playing. Then I do a get_state to wait for the<br>
> state change to complete (otherwise seeking has no effect at all, even<br>
> when not using filesink). Then I call<br>
><br>
> gst_element_seek(pipeline, 0.5, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH,<br>
> GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE);<br>
><br>
> which should set the playback rate to 0.5. After that I run the<br>
> gmainloop. This does indeed work if I do not use filesink, but when I<br>
> use it, the file is not slowed down at all (seeking to another position<br>
> doesn't work either). Anything wrong about that?<br>
> I suspect that the work is already done when the program reaches the<br>
> seek line, because state is set to playing before. Doing it the other<br>
> way round does not work however, the seek event does not get handled then.<br>
<br>
<br>
The seek event will change the rate of the stream but you need to make it<br>
effective (rewrite timestamps according to the new rate) using the videorate<br>
element before the filesink for example.<br>
<br>
Andoni<br>
<br>
<br>
> Thank you for your help,<br>
> Maxi<br>
><br>
><br>
><br>
> ------------------------------------------------------------------------------<br>
> Crystal Reports - New Free Runtime and 30 Day Trial<br>
> Check out the new simplified licensing option that enables unlimited<br>
> royalty-free distribution of the report engine for externally facing<br>
> server and web deployment.<br>
> <a href="http://p.sf.net/sfu/businessobjects" target="_blank">http://p.sf.net/sfu/businessobjects</a><br>
> _______________________________________________<br>
> gstreamer-devel mailing list<br>
> <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
><br>
><br>
<br>
<br>
--<br>
Andoni Morales Alastruey<br>
<br>
LongoMatch:The Digital Coach<br>
<a href="http://www.longomatch.ylatuya.es" target="_blank">http://www.longomatch.ylatuya.es</a><br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Fri, 19 Jun 2009 16:02:29 +0000 (GMT)<br>
From: Albert Costa <<a href="mailto:costa_albert@yahoo.fr">costa_albert@yahoo.fr</a>><br>
Subject: [gst-devel] How to perform frame-by-frame video playing<br>
To: gstreamer <<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>><br>
Message-ID: <<a href="mailto:454679.54876.qm@web28414.mail.ukl.yahoo.com">454679.54876.qm@web28414.mail.ukl.yahoo.com</a>><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
Hi,<br>
I'm trying to do the following:<br>
I have an application that constructs and controls a pipeline. Merely, my pipe would be "filesink ! decodebin ! identity sync=true ! myfilter ! ffmpegcolorspace ! directdrawsink sync=false".<br>
The element myfilter is currently just a pass-through element (it does not process anything). My goal is, from the application, to play the file only by moving a frame ahead when the user hits a key (in fact later that would be a signal sent by another process). My idea was to block the chain() function inside myfilter each time it is called, untill a release notification is sent. What I did so far is :<br>
in the chain() :<br>
{<br>
...<br>
g_mutex_lock(myfilter->lock);<br>
do<br>
{<br>
g_cond_wait(myfilter->process_next, myfilter->lock);<br>
}<br>
g_mutex_unlock(myfilter ->lock);<br>
...<br>
}<br>
<br>
In my application, I have a specific function that gets the sink pad of my filter element, and send a specific event on it.<br>
In myfilter's sink_event function, I have a case of event type where I call g_cond_signal(myfilter->process_next) (which I thought would release the lock in the chain).<br>
My problem is that when I launch the pipeline, the cond_wait does lock the chain function; but then in my application specific function, calling gst_pad_send_event never returns, and my event is thus not received by my element. Eveything hangs...<br>
Is there any way to have it working somehow? (another option was to set the pipe in pause mode and send seek events to go to next frame, but i'm using mpeg2 ts files that do not support seek anyway, and I have other constraints for which I need an element that can be controled).<br>
Any help would be appreciated,<br>
Regards,<br>
Al<br>
<br>
<br>
<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
<br>
------------------------------<br>
<br>
Message: 4<br>
Date: Thu, 18 Jun 2009 13:28:21 +0100<br>
From: Tim-Philipp M?ller <<a href="mailto:t.i.m@zen.co.uk">t.i.m@zen.co.uk</a>><br>
Subject: Re: [gst-devel] [theora] Mozilla & gstreamer<br>
To: Michael Dale <<a href="mailto:mdale@wikimedia.org">mdale@wikimedia.org</a>><br>
Cc: Christopher Blizzard <<a href="mailto:blizzard@mozilla.com">blizzard@mozilla.com</a>>,<br>
<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>, David Ascher<br>
<<a href="mailto:dascher@mozillamessaging.com">dascher@mozillamessaging.com</a>>, theora <<a href="mailto:theora@xiph.org">theora@xiph.org</a>><br>
Message-ID: <1245328101.5109.35.camel@zingle><br>
Content-Type: text/plain<br>
<br>
On Wed, 2009-06-17 at 13:05 -0700, Michael Dale wrote:<br>
<br>
> Mozilla is looking to include audio/video capture for Firefox and the<br>
> Mozilla platform in the future.<br>
<br>
Apologies if this is obvious to everyone else, but may I ask what kind<br>
of audio/video capturing features you are looking to include exactly? Is<br>
there a wiki page or mailing list discussion with more details<br>
somewhere?<br>
<br>
Cheers<br>
-Tim<br>
<br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 5<br>
Date: Fri, 19 Jun 2009 18:11:09 +0200<br>
From: Wim Taymans <<a href="mailto:wim.taymans@gmail.com">wim.taymans@gmail.com</a>><br>
Subject: Re: [gst-devel] How to perform frame-by-frame video playing<br>
To: Discussion of the development of GStreamer<br>
<<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>><br>
Message-ID: <1245427869.5194.19.camel@metal><br>
Content-Type: text/plain<br>
<br>
On Fri, 2009-06-19 at 16:02 +0000, Albert Costa wrote:<br>
<br>
Your approach will probably work.<br>
<br>
Current GIT /and the eventual 0.10.24) has framestepping through the<br>
STEP events, which should solve things in a more general way (when you<br>
need to keep audio synchronized too).<br>
<br>
Wim<br>
<br>
> Hi,<br>
> I'm trying to do the following:<br>
> I have an application that constructs and controls a pipeline. Merely,<br>
> my pipe would be "filesink ! decodebin ! identity sync=true !<br>
> myfilter ! ffmpegcolorspace ! directdrawsink sync=false".<br>
> The element myfilter is currently just a pass-through element (it does<br>
> not process anything). My goal is, from the application, to play the<br>
> file only by moving a frame ahead when the user hits a key (in fact<br>
> later that would be a signal sent by another process). My idea was to<br>
> block the chain() function inside myfilter each time it is called,<br>
> untill a release notification is sent. What I did so far is :<br>
> in the chain() :<br>
> {<br>
> ...<br>
> g_mutex_lock(myfilter->lock);<br>
> do<br>
> {<br>
> g_cond_wait(myfilter->process_next, myfilter->lock);<br>
> }<br>
> g_mutex_unlock(myfilter ->lock);<br>
> ...<br>
> }<br>
><br>
><br>
> In my application, I have a specific function that gets the sink pad<br>
> of my filter element, and send a specific event on it.<br>
> In myfilter's sink_event function, I have a case of event type where I<br>
> call g_cond_signal(myfilter->process_next) (which I thought would<br>
> release the lock in the chain).<br>
> My problem is that when I launch the pipeline, the cond_wait does lock<br>
> the chain function; but then in my application specific function,<br>
> calling gst_pad_send_event never returns, and my event is thus not<br>
> received by my element. Eveything hangs...<br>
> Is there any way to have it working somehow? (another option was to<br>
> set the pipe in pause mode and send seek events to go to next frame,<br>
> but i'm using mpeg2 ts files that do not support seek anyway, and I<br>
> have other constraints for which I need an element that can be<br>
> controled).<br>
> Any help would be appreciated,<br>
> Regards,<br>
> Al<br>
><br>
><br>
><br>
><br>
><br>
><br>
> ------------------------------------------------------------------------------<br>
> Crystal Reports - New Free Runtime and 30 Day Trial<br>
> Check out the new simplified licensing option that enables unlimited<br>
> royalty-free distribution of the report engine for externally facing<br>
> server and web deployment.<br>
> <a href="http://p.sf.net/sfu/businessobjects" target="_blank">http://p.sf.net/sfu/businessobjects</a><br>
> _______________________________________________ gstreamer-devel mailing list <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 6<br>
Date: Fri, 19 Jun 2009 18:47:12 +0200<br>
From: Andoni Morales <<a href="mailto:ylatuya@gmail.com">ylatuya@gmail.com</a>><br>
Subject: Re: [gst-devel] How to perform frame-by-frame video playing<br>
To: Discussion of the development of GStreamer<br>
<<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>><br>
Message-ID:<br>
<<a href="mailto:772db3280906190947n15e45b8epe06d47a5d71b2987@mail.gmail.com">772db3280906190947n15e45b8epe06d47a5d71b2987@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="iso-8859-1"<br>
<br>
2009/6/19 Wim Taymans <<a href="mailto:wim.taymans@gmail.com">wim.taymans@gmail.com</a>><br>
<br>
> On Fri, 2009-06-19 at 16:02 +0000, Albert Costa wrote:<br>
><br>
> Your approach will probably work.<br>
><br>
> Current GIT /and the eventual 0.10.24) has framestepping through the<br>
> STEP events, which should solve things in a more general way (when you<br>
> need to keep audio synchronized too).<br>
<br>
<br>
Does that means that the framestep draft [1] will be finally implemented in<br>
0.10.24? Good news, though.<br>
<br>
Cheers<br>
<br>
[1]<br>
<a href="http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/draft-framestep.txt" target="_blank">http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/draft-framestep.txt</a><br>
<br>
<br>
><br>
> Wim<br>
><br>
> > Hi,<br>
> > I'm trying to do the following:<br>
> > I have an application that constructs and controls a pipeline. Merely,<br>
> > my pipe would be "filesink ! decodebin ! identity sync=true !<br>
> > myfilter ! ffmpegcolorspace ! directdrawsink sync=false".<br>
> > The element myfilter is currently just a pass-through element (it does<br>
> > not process anything). My goal is, from the application, to play the<br>
> > file only by moving a frame ahead when the user hits a key (in fact<br>
> > later that would be a signal sent by another process). My idea was to<br>
> > block the chain() function inside myfilter each time it is called,<br>
> > untill a release notification is sent. What I did so far is :<br>
> > in the chain() :<br>
> > {<br>
> > ...<br>
> > g_mutex_lock(myfilter->lock);<br>
> > do<br>
> > {<br>
> > g_cond_wait(myfilter->process_next, myfilter->lock);<br>
> > }<br>
> > g_mutex_unlock(myfilter ->lock);<br>
> > ...<br>
> > }<br>
> ><br>
> ><br>
> > In my application, I have a specific function that gets the sink pad<br>
> > of my filter element, and send a specific event on it.<br>
> > In myfilter's sink_event function, I have a case of event type where I<br>
> > call g_cond_signal(myfilter->process_next) (which I thought would<br>
> > release the lock in the chain).<br>
> > My problem is that when I launch the pipeline, the cond_wait does lock<br>
> > the chain function; but then in my application specific function,<br>
> > calling gst_pad_send_event never returns, and my event is thus not<br>
> > received by my element. Eveything hangs...<br>
> > Is there any way to have it working somehow? (another option was to<br>
> > set the pipe in pause mode and send seek events to go to next frame,<br>
> > but i'm using mpeg2 ts files that do not support seek anyway, and I<br>
> > have other constraints for which I need an element that can be<br>
> > controled).<br>
> > Any help would be appreciated,<br>
> > Regards,<br>
> > Al<br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> ------------------------------------------------------------------------------<br>
> > Crystal Reports - New Free Runtime and 30 Day Trial<br>
> > Check out the new simplified licensing option that enables unlimited<br>
> > royalty-free distribution of the report engine for externally facing<br>
> > server and web deployment.<br>
> > <a href="http://p.sf.net/sfu/businessobjects" target="_blank">http://p.sf.net/sfu/businessobjects</a><br>
> > _______________________________________________ gstreamer-devel mailing<br>
> list <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
><br>
><br>
><br>
> ------------------------------------------------------------------------------<br>
> Crystal Reports - New Free Runtime and 30 Day Trial<br>
> Check out the new simplified licensing option that enables unlimited<br>
> royalty-free distribution of the report engine for externally facing<br>
> server and web deployment.<br>
> <a href="http://p.sf.net/sfu/businessobjects" target="_blank">http://p.sf.net/sfu/businessobjects</a><br>
> _______________________________________________<br>
> gstreamer-devel mailing list<br>
> <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
><br>
<br>
<br>
<br>
--<br>
Andoni Morales Alastruey<br>
<br>
LongoMatch:The Digital Coach<br>
<a href="http://www.longomatch.ylatuya.es" target="_blank">http://www.longomatch.ylatuya.es</a><br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
<br>
------------------------------<br>
<br>
------------------------------------------------------------------------------<br>
Crystal Reports - New Free Runtime and 30 Day Trial<br>
Check out the new simplified licensing option that enables unlimited<br>
royalty-free distribution of the report engine for externally facing<br>
server and web deployment.<br>
<a href="http://p.sf.net/sfu/businessobjects" target="_blank">http://p.sf.net/sfu/businessobjects</a><br>
<br>
------------------------------<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
<br>
<br>
End of gstreamer-devel Digest, Vol 37, Issue 56<br>
***********************************************<br>
</blockquote></div><br><br clear="all"><br>-- <br>Sreerenj B<br><a href="http://sreerenj.livejournal.com">http://sreerenj.livejournal.com</a><br><a href="mailto:bsreerenj@gmail.com">bsreerenj@gmail.com</a><br>mob: +91 9995377714<br>
<br>