Capturing jpegs from an h264 stream

Tim-Philipp Müller t.i.m at zen.co.uk
Thu Jun 6 23:31:46 PDT 2013


Hi,

I think framerate=25 will make the framerate field an integer type field, which will cause not-negotiated errors. Use framerate=25/1 instead.

But also, a capssetter directly after decodebin is probably not right (if decodebin outputs caps with a different framerate you'll also get an error).

Cheers
 -Tim

----- Original message -----
> On 05/06/2013 16:58, Chuck Crisler wrote:
> > Try it, you don't have anything to lose.
> 
> Good point.   Here goes:
> 
> raspivid -n -t 1000000 -vf -b 2000000 -fps 25 -o - |   \
>       gst-launch-1.0 fdsrc fd=0 ! decodebin \
>           ! capssetter caps='video/x-raw,framerate=25' replace=true !
> videorate \         ! video/x-raw,framerate=1/1 ! videorate ! jpegenc
> quality=75 \         ! multifilesink location='img_%04d.jpg'
> 
> 
> root at raspberrypi:~/streamtest# ./l2.sh
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> 
> (gst-launch-1.0:4544): GStreamer-WARNING **: 
> gstpad.c:4503:store_sticky_event:<typefind:src> Sticky event 
> misordering, got 'caps' before 'stream-start'
> ERROR: from element 
> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0: 
> Internal data stream error.
> Additional debug info:
> gstomxvideodec.c(1670): gst_omx_video_dec_loop (): 
> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0:
> stream stopped, reason not-negotiated
> ERROR: pipeline doesn't want to preroll.
> Setting pipeline to NULL ...
> Freeing pipeline ...
> 
> Tried removing that second videorate element but it makes no difference.
> 
> 
> -- 
> Alex Hewson
> m: +44 7895 265219 | e: mock at mocko.org.uk | Skype: alex.hewson
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list