Jpegenc frame-encoded signal

Tim Müller tim at centricular.com
Wed Jun 18 07:32:32 PDT 2014


On Wed, 2014-06-18 at 16:10 +0200, Lee Matthews wrote:

Hi,

> I'm trying to grab a frame from a video stream and convert it to a jpeg file.
> 
> I try to grab a frame using the following
> 
> souphttpsrc location=http://localhost:7921 is-live=true ! matroskademux ! vp8dec ! videoconvert ! jpegenc name=jpegenc ! filesink location=snapshot.jpg
> 
> According to the following webpage, there is a "frame-encoded" signal that I can use
> 
> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-jpegenc.html
> 
> However, using gst-inspect-1.0 jpegenc there is no mention of a  "frame-encoded" signal. 
> 
> If I try creating a "frame-encoded" callback, I get the following runtime error :
> 
> W/GLib+GLib-GObject( 3750): gsignal.c:2462: signal 'frame-encoded' is invalid for instance '0x77afa360' of type 'GstPipeline'
> 
> 
> Can I assume that the "frame-encoded" signal no longer exists? Is there any other way of detecting that the frame has been encoded? 
> Failing this, is there an element that generates an image that does produce a "frame-encoded" signal ?

It no longer exists. You can achieve the same using pad probes if you
want to, or by inserting an identity element which has a "handoff"
signal. Or just use an appsink and write the buffer to file yourself.

You can also get snapshots from a playing videostream using playbin by
the way, it has a "convert-sample" action signal, and you can pass jpeg
caps to it if you want a jpeg image back.

I'm not sure the is-live=true on souphttpsrc really makes sense btw.

 Cheers
  -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com



More information about the gstreamer-devel mailing list