ximagesrc to jpegenc

Tim Müller tim at centricular.com
Sun Nov 23 07:51:52 PST 2014


On Sun, 2014-11-23 at 16:16 +0100, Arnaud Loonstra wrote:

> > Try
> >
> >   ximagesrc ! videoconvert ! video/x-raw,format=I420 ! jpegenc !
> > rtpjpegpay ! ....
> >
> > There's a problem which is that the RTP JPEG payloading spec only allows
> > for certain formats and subsample arrangement, but that's something we
> > can't negotiate at the moment, so you need to hard-code the input to
> > something that's supported by the payloader/spec.
> 
> That pipeline won't negotiate.
> 
> /GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = 
> "video/x-raw\,\ format\=\(string\)BGRx\,\ width\=\(int\)503\,\ 
> height\=\(int\)371\,\ framerate\=\(fraction\)25/1\,\ 
> pixel-aspect-ratio\=\(fraction\)1/1"
> /GstPipeline:pipeline0/GstJpegEnc:jpegenc0.GstPad:src: caps = 
> "image/jpeg\,\ sof-marker\=\(int\)0\,\ width\=\(int\)503\,\ 
> height\=\(int\)371\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ 
> framerate\=\(fraction\)25/1"
> /GstPipeline:pipeline0/GstRtpJPEGPay:rtpjpegpay0.GstPad:src: caps = 
> "application/x-rtp\,\ media\=\(string\)video\,\ 
> clock-rate\=\(int\)90000\,\ encoding-name\=\(string\)JPEG\,\ 
> a-framerate\=\(string\)25.000000\,\ a-framesize\=\(string\)503-371\,\ 
> payload\=\(int\)26\,\ ssrc\=\(uint\)3111873871\,\ 
> timestamp-offset\=\(uint\)2946892724\,\ seqnum-offset\=\(uint\)9010"
> /GstPipeline:pipeline0/GstRtpJPEGPay:rtpjpegpay0.GstPad:sink: caps = 
> "image/jpeg\,\ sof-marker\=\(int\)0\,\ width\=\(int\)503\,\ 
> height\=\(int\)371\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ 
> framerate\=\(fraction\)25/1"
> /GstPipeline:pipeline0/GstRtpJPEGPay:rtpjpegpay0: timestamp = 2946892819
> /GstPipeline:pipeline0/GstRtpJPEGPay:rtpjpegpay0: seqnum = 9010
> ERROR: from element /GstPipeline:pipeline0/GstXImageSrc:ximagesrc0: 
> Internal data flow error.
> Additional debug info:
> gstbasesrc.c(2933): gst_base_src_loop (): 
> /GstPipeline:pipeline0/GstXImageSrc:ximagesrc0:
> 
> How do you 'hardcode' the input. According to gst-inspect the payloader 
> only wants video/x-jpeg or image/jpeg. The type parameter will be 
> overwritten if the sof value?

See the capsfilter in front of the jpegenc. The sof value won't
overwrite the type parameter. I'm not sure where it goes wrong, you'll
have to look at the GST_DEBUG log to figure out where the problem is.

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



More information about the gstreamer-devel mailing list