MJPEG playback showing too much red

MikeS david.smith at gtri.gatech.edu
Tue Jul 30 15:09:21 PDT 2013


Hello all,

I'm very new to the video streaming world.  We are trying to use gstreamer
in an application that will be receiving feeds from another app that uses
Tungsten.  Since I dont have Tungsten, i have been testing using FFpeg in
the following configuration:

server - ffmpeg -re -i city_cif.y4m -r 30 -vcodec mjpeg -qscale 2 -f rtp
udp:<ip:port>

client - gst-launch-0.10 -v udpsrc caps="application/x-rtp, media=video,
payload=96, clock-rate=9000, ecoding-name=JPEG" port=49150 ! rtpjpegdepay !
jpegdec ! autovideosink

I get a lot of red in the video as if its not getting any blue or green
feeds?  Anyway, I was hoping someone might be able to help with my pipeline. 
I get the following output:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
0:00:00.941974056  7660   0A4D6D40 WARN                     bin
gstbin.c:2399:gs
t_bin_do_latency_func:<pipeline0> failed to query latency
New clock: GstSystemClock
/GstPipeline:pipeline0/GstRtpJPEGDepay:rtpjpegdepay0.GstPad:sink: caps =
applica
tion/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)JP
EG, payload=(int)96
/GstPipeline:pipeline0/GstRtpJPEGDepay:rtpjpegdepay0.GstPad:src: caps =
image/jp
eg, framerate=(fraction)0/1, width=(int)1640, height=(int)808
0:00:08.111515123  7660   04A9B3D0 WARN            rtpjpegdepay
gstrtpjpegdepay.
c:718:gst_rtp_jpeg_depay_process:<rtpjpegdepay0> no qtable
/GstPipeline:pipeline0/GstRtpJPEGDepay:rtpjpegdepay0.GstPad:src: caps =
image/jp
eg, framerate=(fraction)0/1, width=(int)352, height=(int)288
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg,
frame
rate=(fraction)0/1, width=(int)352, height=(int)288
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps =
video/x-raw-yuv, f
ormat=(fourcc)I420, width=(int)352, height=(int)288, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink:
caps =
video/x-raw-yuv, format=(fourcc)I420, width=(int)352, height=(int)288,
framerate
=(fraction)0/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxy
Pad:proxypad0: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)352,
heig
ht=(int)288, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink:
caps =
video/x-raw-yuv, format=(fourcc)I420, width=(int)352, height=(int)288,
framerate
=(fraction)0/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstD3DVideoSink:autovideo
sink0-actual-sink-d3dvideo.GstPad:sink: caps = video/x-raw-yuv,
format=(fourcc)I
420, width=(int)352, height=(int)288, framerate=(fraction)0/1
0:00:11.150018715  7660   04A9B3D0 WARN                 jpegdec
gstjpegdec.c:163
7:gst_jpeg_dec_chain:<jpegdec0> Decode error #69: Application transferred
too fe
w scanlines
WARNING: from element /GstPipeline:pipeline0/GstJpegDec:jpegdec0: Failed to
deco
de JPEG image
Additional debug info:
gstjpegdec.c(1637): gst_jpeg_dec_chain ():
/GstPipeline:pipeline0/GstJpegDec:jpe
gdec0:
Decode error #69: Application transferred too few scanlines
0:00:15.952132259  7660   04A9B3D0 WARN                 jpegdec
gstjpegdec.c:163
7:gst_jpeg_dec_chain:<jpegdec0> Decode error #69: Application transferred
too fe
w scanlines
WARNING: from element /GstPipeline:pipeline0/GstJpegDec:jpegdec0: Failed to
deco
de JPEG image
Additional debug info:
gstjpegdec.c(1637): gst_jpeg_dec_chain ():
/GstPipeline:pipeline0/GstJpegDec:jpe
gdec0:
Decode error #69: Application transferred too few scanlines

I also tried the same pipeline in the latest 1.0 build, but it crashed with
the following output:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps =
application/x-rtp, m
edia=(string)video, payload=(int)96, clock-rate=(int)90000,
encoding-name=(strin
g)JPEG
Setting pipeline to PLAYING ...
/GstPipeline:pipeline0/GstRtpJPEGDepay:rtpjpegdepay0.GstPad:sink: caps =
applica
tion/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000,
encodin
g-name=(string)JPEG
New clock: GstSystemClock
/GstPipeline:pipeline0/GstRtpJPEGDepay:rtpjpegdepay0.GstPad:src: caps =
image/jp
eg, framerate=(fraction)0/1, width=(int)352, height=(int)288
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg,
frame
rate=(fraction)0/1, width=(int)352, height=(int)288
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = video/x-raw,
forma
t=(string)I420, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/
1, interlace-mode=(string)progressive, colorimetry=(string)1:4:0:0,
framerate=(f
raction)0/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxy
Pad:proxypad0: caps = video/x-raw, format=(string)I420, width=(int)352,
height=(
int)288, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, c
olorimetry=(string)1:4:0:0, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstD3DVideoSink:autovideo
sink0-actual-sink-d3dvideo.GstPad:sink: caps = video/x-raw,
format=(string)I420,
 width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1,
interlace-mo
de=(string)progressive, colorimetry=(string)1:4:0:0, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink:
caps =
video/x-raw, format=(string)I420, width=(int)352, height=(int)288,
pixel-aspect-
ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)1:4
:0:0, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = video/x-raw,
forma
t=(string)I420, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/
1, interlace-mode=(string)progressive, colorimetry=(string)1:4:0:0,
framerate=(f
raction)0/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxy
Pad:proxypad0: caps = video/x-raw, format=(string)I420, width=(int)352,
height=(
int)288, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, c
olorimetry=(string)1:4:0:0, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstD3DVideoSink:autovideo
sink0-actual-sink-d3dvideo.GstPad:sink: caps = video/x-raw,
format=(string)I420,
 width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1,
interlace-mo
de=(string)progressive, colorimetry=(string)1:4:0:0, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink:
caps =
video/x-raw, format=(string)I420, width=(int)352, height=(int)288,
pixel-aspect-
ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)1:4
:0:0, framerate=(fraction)0/1

** (gst-launch-1.0:4844): CRITICAL **: gst_adapter_push: assertion
`GST_IS_BUFFE
R (buf)' failed
ERROR: from element /GstPipeline:pipeline0/GstJpegDec:jpegdec0: Failed to
decode
 JPEG image
Additional debug info:
gstjpegdec.c(1261): gst_jpeg_dec_handle_frame ():
/GstPipeline:pipeline0/GstJpeg
Dec:jpegdec0:
Decode error #60: Invalid JPEG file structure: two SOF markers
Execution ended after 21085155109 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

Any help would be greatly appreciated.  Thanks.

-Mike



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/MJPEG-playback-showing-too-much-red-tp4661355.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list