As a gstreamer newbie I started writing a small python/gstreamer app
about a year ago. Fetching a snapshot out of a running videostream took
me months. I almost abandoned gstreamer altogether because of this.
This feat, currently, requires an unproportionally huge knowledge of
gstreamer inner workings to accomplish.
<br><br>I also see this question appear from time to time on the
mailing list. Therefore, in all humbleness, I suggest to the gstream
core developers to incorporate into gstreamer a snapshot element that
hides this mess from a regular programmer. <br><br>Best regards,<br><span class="sg"><br>Fredrik Persson</span><br><br><div><span class="gmail_quote">On 8/2/07, <b class="gmail_sendername">Luis de Bethencourt</b> &lt;<a href="mailto:bethencourt@gmail.com">
bethencourt@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I&#39;ll give it a try this afternoon.<br><br>Thanks a lot,
<br>Luis de Bethencourt<br><br>On 8/2/07, Tim Müller &lt;<a href="mailto:t.i.m@zen.co.uk">t.i.m@zen.co.uk</a>&gt; wrote:<br>&gt; On Tue, 2007-07-31 at 20:32 +0100, Luis de Bethencourt wrote:<br>&gt;<br>&gt; &gt; ... I would need to get a pixbuf from the frame at the middle
<br>&gt; &gt; of the video. First frame is not as representative because of<br>&gt; &gt; fade ins. How can I do this in gstreamer?<br>&gt;<br>&gt; You might want to have a look at totem&#39;s video-thumbnailer for<br>&gt; inspiration. It&#39;s a bit clunky, but fairly straight-forward (basically
<br>&gt; it just uses playbin, sets it to PAUSED state, seeks, gets the last<br>&gt; frame via playbin&#39;s &quot;frame&quot; property and shoves that into a conversion<br>&gt; pipeline to get a GdkPixbuf).<br>&gt;<br>&gt; You can probably achieve the same thing with a pipeline like:
<br>&gt;<br>&gt;&nbsp;&nbsp;filesrc location=video.file ! decodebin ! ffmpegcolorspace !<br>&gt; videoscale !<br>&gt; video/x-raw-rgb,width=64,height=64,bpp=24,depth=24,red_mask=... !<br>&gt; fakesink<br>&gt;<br>&gt; and then get a RGB24 buffer via fakesink&#39;s preroll-handoff signal (which
<br>&gt; is emitted in PAUSED state), which in turn is easily convertible into a<br>&gt; GdkPixbuf or whatever you need.<br>&gt;<br>&gt; Cheers<br>&gt;&nbsp;&nbsp;-Tim<br>&gt;<br>&gt;<br>&gt;<br>&gt; -------------------------------------------------------------------------
<br>&gt; This SF.net email is sponsored by: Splunk Inc.<br>&gt; Still grepping through log files to find problems?&nbsp;&nbsp;Stop.<br>&gt; Now Search log events and configuration files using AJAX and a browser.<br>&gt; Download your FREE copy of Splunk now &gt;&gt;&nbsp;&nbsp;
<a href="http://get.splunk.com/">http://get.splunk.com/</a><br>&gt; _______________________________________________<br>&gt; gstreamer-devel mailing list<br>&gt; <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net
</a><br>&gt; <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>&gt;<br><br><br>--<br>Luis de Bethencourt Guimerá<br>luisbg<br>&lt;<a href="mailto:bethencourt@gmail.com">
bethencourt@gmail.com</a>&gt;<br>GPG: B0ED1326<br><br>-------------------------------------------------------------------------<br>This SF.net email is sponsored by: Splunk Inc.<br>Still grepping through log files to find problems?&nbsp;&nbsp;Stop.
<br>Now Search log events and configuration files using AJAX and a browser.<br>Download your FREE copy of Splunk now &gt;&gt;&nbsp;&nbsp;<a href="http://get.splunk.com/">http://get.splunk.com/</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">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
</a><br></blockquote></div><br>