[gst-devel] pixbuf from video file
Luis de Bethencourt
bethencourt at gmail.com
Tue Sep 18 21:49:04 CEST 2007
Help!!
After 5 days running in circles with this problem, and trying a few
different approaches suggested in the irc channel. I don't get this to
work at all, I'm getting terribly frustrated and desperate. I really
need this thumbnailer for my project.
This is my code:
-----------------------------------------------------------------------------------------------------
pipeline = gst_pipeline_new ("pipeline");
play = gst_bin_new ("my_bin");
src = gst_element_factory_make ("filesrc", "source");
g_object_set (G_OBJECT (src), "location", file_src, NULL);
parser = gst_element_factory_make ("decodebin", "mpeg-parser");
decoder = gst_element_factory_make ("ffmpegcolorspace", "mpeg-decoder");
videoscale = gst_element_factory_make ("videoscale", "videoscale");
g_object_set (G_OBJECT (videoscale),
"video/x-raw-rgb,width=640,height=480,bpp=24,depth=24", NULL);
fakesink = gst_element_factory_make ("fakesink", NULL);
if (!pipeline || !src || !parser || !decoder || !videoscale || !fakesink) {
g_print ("One element could not be created\n");
}
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
gst_bus_add_watch (bus, bus_call, loop);
gst_object_unref (bus);
gst_bin_add_many (GST_BIN (play),
src, parser, decoder, videoscale, fakesink, NULL);
gst_bin_add (GST_BIN (pipeline), play);
gst_element_link (source, parser);
gst_element_link_many (decoder, videoscale, fakesink, NULL);
g_signal_connect (parser, "pad-added", G_CALLBACK (new_pad), NULL);
//gst_element_set_state (pipeline, GST_STATE_PAUSED);
gst_element_get_state (pipeline, NULL, NULL, -1);
gst_element_seek_simple(pipeline, GST_FORMAT_PERCENT,
GST_SEEK_FLAG_KEY_UNIT, 500000);
g_object_get (play, "frame", &buffer, NULL);
pixbuf = gdk_pixbuf_new_from_data (GST_BUFFER_DATA (buffer),
GDK_COLORSPACE_RGB, FALSE, 8, 120, 90,
GST_ROUND_UP_4 (120 * 3), NULL, buffer);
------------------------------------------------------------------------------------------------------
And this are the problems I'm getting:
object class `GstBin' has no property named `frame'
object class `GstVideoScale' has no property named
`video/x-raw-rgb,width=640,height=480,bpp=24,depth=24'
assertion `GST_IS_ELEMENT (src)' failed
and then probably the buffer format will be wrong.
I will deeply thank any help,
Luis de Bethencourt
On 8/6/07, David Schleef <ds at schleef.org> wrote:
> On Thu, Aug 02, 2007 at 01:15:30PM +0200, Fredrik Persson wrote:
> > To make it absolutely clear; I think that the gstreamer developers are doing
> > a great job!
> >
> > I also absolutely think that they also appreciate "user input" (in this
> > case, mine and Luis') on what features we'd like to see in gstreamer.
> > Therefore, I like to take the opportunity to bring up this suggestion again.
> > I think that every time this question is brought up here on the mailinglist
> > is strengthens the point that a "snapshot element" in gstreamer is a good
> > idea and that it would increase the attractiveness of the entire gstreamer
> > framework.
>
> It's also a FAQ that can be answered with a simple mailing list search:
>
> http://search.gmane.org/?query=thumbnails&group=gmane.comp.video.gstreamer.devel
>
>
>
> dave...
>
>
>
--
Luis de Bethencourt Guimerá
luisbg
<bethencourt at gmail.com>
GPG: B0ED1326
More information about the gstreamer-devel
mailing list