WG: grayscale jpeg and rtpjpegpay

Jan Rübel ruebel at vrmagic.com
Tue Jan 10 02:44:14 PST 2012


HI!

Of course the pipeline that produced the error is the folowing: 

gst-launch --gst-debug=rtpjpegpay:5 gstrtpbin name=r videotestsrc !  video/x-raw-gray ! jpegenc ! rtpjpegpay ! r.send_rtp_sink_0  r.send_rtp_src_0 ! udpsink host=10.0.0.127 port=5000 r.send_rtcp_src_0 !  udpsink port=5001 sync=false async=false udpsrc port=5002 !  r.recv_rtcp_sink_0

video/x-raw-gray instead of -yuv....

Sorry,
Jan

> -----Ursprüngliche Nachricht-----
> Von: gstreamer-devel-bounces+ruebel=vrmagic.com at lists.freedesktop.org
> [mailto:gstreamer-devel-
> bounces+ruebel=vrmagic.com at lists.freedesktop.org] Im Auftrag von Jan
> Rübel
> Gesendet: Dienstag, 10. Januar 2012 10:47
> An: gstreamer-devel at lists.freedesktop.org
> Betreff: grayscale jpeg and rtpjpegpay
> 
> Hi !
> 
> I have a question concerning rtpjpegpay.
> 
> Why is there no support for grayscale images in the payloader?
> The jpeg standard allows grayscale images and e.g. jpegenc can also create
> them
> (<http://class.ee.iastate.edu/ee528/Reading%20material/JPEG_File_Format.
> pdf>). However, the rtpjpegpay element does not accept them as can be
> seen from the pipeline below.
> 
> Is it just not yet implemented or would it violate the rtp standard for jpeg
> (<http://tools.ietf.org/html/rfc2435>)?
> The SOF header of such images has a length of 11, while in RFC 2435 (and in
> rtpjpegpay) the SOF header length seems to be fixed to 17.
> 
> What would be an alternative way to stream  grayscale jpeg?
> 
> Best regards
> Jan
> 
> PS: Here's the pipeline that produces the error:
> 
> gst-launch --gst-debug=rtpjpegpay:5 gstrtpbin name=r videotestsrc !
> video/x-raw-yuv ! jpegenc ! rtpjpegpay ! r.send_rtp_sink_0
> r.send_rtp_src_0 ! udpsink host=10.0.0.127 port=5000 r.send_rtcp_src_0 !
> udpsink port=5001 sync=false async=false udpsrc port=5002 !
> r.recv_rtcp_sink_0
> 
> Setting pipeline to PAUSED ...
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> 0:00:00.113285000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:633:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0> got
> buffer size 6848,
>  timestamp 0:00:00.000000000
> 0:00:00.113285000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:642:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0>
> checking from offset 0
> 0:00:00.114262000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:593:gst_rtp_jpeg_pay_scan_marker: found d8 marker at
> offset 1
> 0:00:00.114262000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:669:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0> SOI
> found
> 0:00:00.115238000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:642:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0>
> checking from offset 2
> 0:00:00.115238000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:593:gst_rtp_jpeg_pay_scan_marker: found e0 marker at
> offset 3
> 0:00:00.116215000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:647:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0>
> skipping marker
> 0:00:00.117192000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:642:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0>
> checking from offset 20
> 0:00:00.117192000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:593:gst_rtp_jpeg_pay_scan_marker: found db marker at
> offset 21
> 0:00:00.118168000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:656:gst_rtp_jpeg_pay_handle_buffer: DQT found
> 0:00:00.118168000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:384:gst_rtp_jpeg_pay_read_quant_table: read quant table
> 0, tab_size 64, prec 00
> 0:00:00.119145000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:642:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0>
> checking from offset 89
> 0:00:00.119145000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:593:gst_rtp_jpeg_pay_scan_marker: found c0 marker at
> offset 90
> 0:00:00.120121000  4992   023BC850 WARN              rtpjpegpay
> gstrtpjpegpay.c:515:gst_rtp_jpeg_pay_read_sof:<rtpjpegpay0> error:
> Wrong SOF length 11.
> ERROR: from element /GstPipeline:pipeline0/GstRtpJPEGPay:rtpjpegpay0:
> Wrong SOF length 11.
> Additional debug info:
> ..\..\..\..\..\Source\gst-plugins-good\gst\rtp\gstrtpjpegpay.c(515):
> gst_rtp_jpeg_pay_read_sof ():
> /GstPipeline:pipeline0/GstRtpJPEGPay:rtpjpegpay0
> Execution ended after 9766000 ns.
> Setting pipeline to PAUSED ...
> 0:00:00.121098000 Setting pipeline to READY ...
>  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:633:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0> got
> buffer size 6884, timestamp 0:00:00.033333333
> 0:00:00.122075000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:642:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0>
> checking from offset 0
> 0:00:00.123051000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:593:gst_rtp_jpeg_pay_scan_marker: found d8 marker at
> offset 1
> 0:00:00.123051000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:669:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0> SOI
> found
> 0:00:00.124028000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:642:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0>
> checking from offset 2
> 0:00:00.125004000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:593:gst_rtp_jpeg_pay_scan_marker: found e0 marker at
> offset 3
> 0:00:00.125004000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:647:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0>
> skipping marker
> 0:00:00.125981000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:642:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0>
> checking from offset 20
> 0:00:00.125981000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:593:gst_rtp_jpeg_pay_scan_marker: found db marker at
> offset 21
> 0:00:00.126958000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:656:gst_rtp_jpeg_pay_handle_buffer: DQT found
> 0:00:00.126958000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:384:gst_rtp_jpeg_pay_read_quant_table: read quant table
> 0, tab_size 64, prec 00
> 0:00:00.127934000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:642:gst_rtp_jpeg_pay_handle_buffer:<rtpjpegpay0>
> checking from offset 89
> 0:00:00.127934000  4992   023BC850 LOG               rtpjpegpay
> gstrtpjpegpay.c:593:gst_rtp_jpeg_pay_scan_marker: found c0 marker at
> offset 90
> 0:00:00.128911000  4992   023BC850 WARN              rtpjpegpay
> gstrtpjpegpay.c:515:gst_rtp_jpeg_pay_read_sof:<rtpjpegpay0> error:
> Wrong SOF length 11.
> Setting pipeline to NULL ...
> Freeing pipeline ...
> 
> _______________________________________________
> 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