Streaming RTP jpeg images (RFC2435) with restart marker header. Is it unsupported? Why?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Streaming RTP jpeg images (RFC2435) with restart marker header. Is it unsupported? Why?

Mauro Brenna
Hello,

I would like to stream jpeg images using RTP (RFC2435). The images
which are coming from my camera include the restart marker (0xFF
0xDD).
I tested to send an image via RTP with the following pipelines, under windows:

#STREAM

gst-launch.exe -v gstrtpbin name
=rtpbin multifilesrc location="camera.jpg" caps="image/jpeg,framerate=1/1"  ! rt
pjpegpay ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! multiudpsink clients="
127.0.0.1:9996" rtpbin.send_rtcp_src_0 ! multiudpsink clients="127.0.0.1:9997" s
ync=false async=false udpsrc port=10000

#RECEIVE

gst-launch.exe -v gstrtpbin name
=rtpbin udpsrc caps="application/x-rtp, media=\(string\)video, clock-rate=\(int\
)90000, encoding-name=\(string\)JPEG, ssrc=\(guint\)469657143, payload=\(int\)96
, clock-base=\(guint\)2841649723, seqnum-base=\(guint\)39869" port=9996 ! rtpbin
.recv_rtp_sink_1  rtpbin. ! rtpjpegdepay ! multifilesink location="test%05d.jpg"


I notice that only a little part of the image is visible in the
resulting jpeg. In particular, the only difference between the
original image (streaming)and the received one is the missing of the
line that specifies the restart interval between MCUs:

e.g.: ff dd 00 04 00 32

before the SOS: ff c0.

I looked in the source files for a possible explanation
(gstrtpjpegpay.c and gstrtpjpegdepay.c) and I read this comment in
gstrtpjpegpay.c, line 223:

/* FIXME: restart marker header currently unsupported */

I read the code and I don't understand when the DRI part is not
included (in the creation of RTP packed or in its reception).
I would like to know what are the problems in implementing that part.
In my case, I only need to prepend those 6 byte before the start of
scan (by hand) and I managed to see the correct picture.

Thanks,

Mauro

------------------------------------------------------------------------------
Gaining the trust of online customers is vital for the success of any company
that requires sensitive data to be transmitted over the Web.   Learn how to
best implement a security strategy that keeps consumers' information secure
and instills the confidence they need to proceed with transactions.
http://p.sf.net/sfu/oracle-sfdevnl 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel