hi,
I need gstreamer for the following: The frames of a video stream need to be converted to jpeg images. So I connected a filesrc-demuxer-decoder-jpegenc-identity-fakesink. The identiry's "handoff"-signal is used to read the current frame and store it to a file. The storing will be replaced with some more processing later which is not part of gstreamer. But the problem is that this stream only encodes the first frame. After that the stream is "stuck". I did not get any error messages on the bus and the q_main_loop is still running. So do I have to tell the jpegenc to encode the next frame or anything? The lack of doc and sample code is what makes programming gstreamer so hard for me. That and the fact that I don't really want to use GLib and main_loops, because it's for a QT app. But QT's phonon is way not enough for what I need. one more (simple) question: does a stream have to have a sink? Would the fakesink be neccessary in my case? Tim ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Hi,
If you do not want to use glibmainloop inside qt code see : "qt-opensource-src-4.4.3/include/QtGui/private/qguieventdispatcher_glib_p.h" The other way is to use both qtmainloop and glibmainloop, here 3 examples: http://diracvideo.org/git?p=gst-plugins-gl.git;a=tree;f=tests/examples/qt;h=925d3f5b596ceaabdbb360f69498315a09f30614;hb=42b9175bfd7179037ef4989cec0c4550811d19e0 Julien 2009/1/20 Tim Hilden <[hidden email]> hi, ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Tim Hilden
On Tue, 2009-01-20 at 17:23 +0100, Tim Hilden wrote:
> hi, > > I need gstreamer for the following: The frames of a video stream need to > be converted to jpeg images. So I connected a > filesrc-demuxer-decoder-jpegenc-identity-fakesink. > The identiry's "handoff"-signal is used to read the current frame and > store it to a file. The storing will be replaced with some more > processing later which is not part of gstreamer. But the problem is that > this stream only encodes the first frame. After that the stream is > "stuck". I did not get any error messages on the bus and the q_main_loop > is still running. So do I have to tell the jpegenc to encode the next > frame or anything? > The lack of doc and sample code is what makes programming gstreamer so > hard for me. That and the fact that I don't really want to use GLib and > main_loops, because it's for a QT app. But QT's phonon is way not enough > for what I need. > > one more (simple) question: does a stream have to have a sink? Would the > fakesink be neccessary in my case? > jpegenc per-se encodes multiple incoming video frames into a sequence of jpeg buffers, as this pipeline shows: gst-launch filesrc location=blah.avi ! decodebin ! jpegenc ! identity ! fakesink -v I'm not sure where your problem is from there... perhaps you're not linking something properly and the pipeline is shutting down. In that case though, you should definitely be seeing an error message on the bus. Yes, your pipeline needs a sink of some sort for the buffers to end up and be disposed. The overhead isn't high. In fact though, fakesink has a handoff signal and signal-handoffs property too - so you can just connect to that directly, and forgo the identity element. Alternatively, you can also look at the appsink element, which will give you the ability to pull the buffers at your leisure, instead of having to handle them in the handoff. It might increase the minimum version of GStreamer you require though - appsink is only available in a stable form as of 0.10.22 of gst-plugins-base. See: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-appsink.html Cheers, J. -- Jan Schmidt <[hidden email]> ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Tim Hilden
Hello,
Did this ever get resolved? I'm having the same problem. My command line looks like this. It captures the first fram and freezes with no errors. gst-launch v4l2src ! image/jpeg,width=320,framerate=30/1,rate=30 ! jpegdec ! ffmpegcolorspace ! ximagesink John Buckley
|
In reply to this post by Tim Hilden
John Buckley wrote:
> Hello, > Did this ever get resolved? I'm having the same problem. > My command line looks like this. It captures the first fram and freezes > with no errors. > gst-launch v4l2src ! image/jpeg,width=320,framerate=30/1,rate=30 ! jpegdec ! > ffmpegcolorspace ! ximagesink > > this syntax is not correct: gst-launch v4l2src ! "image/jpeg,width=320,framerate=(fraction)30/1" ! jpegdec ! ffmpegcolorspace ! ximagesink Stefan > John Buckley > > > Tim Hilden wrote: > >> hi, >> >> I need gstreamer for the following: The frames of a video stream need to >> be converted to jpeg images. So I connected a >> filesrc-demuxer-decoder-jpegenc-identity-fakesink. >> The identiry's "handoff"-signal is used to read the current frame and >> store it to a file. The storing will be replaced with some more >> processing later which is not part of gstreamer. But the problem is that >> this stream only encodes the first frame. After that the stream is >> "stuck". I did not get any error messages on the bus and the q_main_loop >> is still running. So do I have to tell the jpegenc to encode the next >> frame or anything? >> The lack of doc and sample code is what makes programming gstreamer so >> hard for me. That and the fact that I don't really want to use GLib and >> main_loops, because it's for a QT app. But QT's phonon is way not enough >> for what I need. >> >> one more (simple) question: does a stream have to have a sink? Would the >> fakesink be neccessary in my case? >> >> Tim >> >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by: >> SourcForge Community >> SourceForge wants to tell your story. >> http://p.sf.net/sfu/sf-spreadtheword >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> >> >> > > ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |