Capturing jpegs from an h264 stream

Tim-Philipp Müller t.i.m at zen.co.uk
Sun Jun 9 04:04:04 PDT 2013


On Sun, 2013-06-09 at 11:55 +0100, Alex Hewson wrote:

Hi Alex,

> Sadly I still can't persuade this to work.
>
> > This works fine for me (with 1.0.x at least, there seems to be a bit of
> > an issue with this in git master / 1.1.x though):
> >
> > cat /home/tpm/rpi/hello_pi/hello_video/test.h264 | gst-launch-1.0
> > fdsrc ! video/x-h264,framerate=25/1,stream-format=byte-stream !
> > h264parse ! avdec_h264 ! videorate ! video/x-raw,framerate=1/1 !
> > videoconvert ! jpegenc ! multifilesink location=/tmp/img_%04d.jpg
> 
> raspivid -n -t 1000000 -vf -b 2000000 -fps 25 -o - |   \
>    gst-launch-1.0   fdsrc fd=0 ! 
> video/x-h264,framerate=25/1,stream-format=byte-stream !   \
>    h264parse ! avdec_h264 ! videorate ! video/x-raw,framerate=1/1 ! \
>    videoconvert ! jpegenc ! multifilesink location=img_%04d.jpg
> 
> root at raspberrypi:~/streamtest# ./l2.sh
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> 
> (gst-launch-1.0:9628): GStreamer-WARNING **: 
> gstpad.c:4503:store_sticky_event:<capsfilter0:src> Sticky event 
> misordering, got 'segment' before 'caps'

You are using GStreamer git / 1.1.x judging by those sticky warnings. As
I mentioned, there's a [blocker] bug in 1.1.x which causes problems with
the timestamping. Perhaps you could try 1.0.7 as well?

Cheers
 -Tim



More information about the gstreamer-devel mailing list