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