Obtain a JPEG sequence from a RTP MJPEG stream (RFC 2435)

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Obtain a JPEG sequence from a RTP MJPEG stream (RFC 2435)

Mauro Brenna
Hello,

I am developing a video streamer of jpeg images MJPEG through RTP. I
would like to make it compliant to RFC2435, and I am testing it using,
as a receiver, a gstreamer pipeline.
By now, I can saw the video in a window, with an error in the decoding
process, using the following pipelines on MS Windows:

C:\Program Files\OSSBuild\GStreamer\v0.10.6\bin>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 ! jpegdec ! videorate ! video/x-raw-yuv
 ,framerate=30/1 !  ffmpegcolorspace  ! autovideosink udpsrc port=9997 ! rtpbin.
recv_rtcp_sink_1 rtpbin.send_rtcp_src_1 ! multiudpsink clients="127.0.0.1:10001"
 sync=false async=false

or simply:

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 ! jpegdec ! videorate ! video/x-raw-yuv
 ,framerate=30/1 !  ffmpegcolorspace  ! autovideosink

In order to investigate the problems in my implementation, I would
like to change the sink and have as output the file jpeg as they are
decoded.
I mean, I don't want the jpeg decoded and re-encoded another time,
which could lose their original header or change the compression,
quantization tables or other parameters.

My idea is to compare the jpeg I sent with the image I retrieve by gstreamer.

Is there a simple way to do it? I can also run the program under
GNU/Linux but MS Windows is preferable.

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
Reply | Threaded
Open this post in threaded view
|

Re: Obtain a JPEG sequence from a RTP MJPEG stream (RFC 2435)

Mauro Brenna
I solved it using a pipeline like:

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"




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