[gst-devel] Obtain a JPEG sequence from a RTP MJPEG stream (RFC 2435)
Mauro Brenna
malloblenne at gmail.com
Sun Jan 9 15:56:39 CET 2011
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
More information about the gstreamer-devel
mailing list