0

First, I have read the following thread, but I want to harness the webcam hardware JPEG compression as opposed to software h264 compression.
Second, I tested the following pipeline and it works:

gst-launch-1.0 -v v4l2src device=/dev/video1 ! 'image/jpeg,width=640,height=480,videorate=8/1' ! jpegdec ! xvimagesink

Then I tried similar pipeline but with udpsink at the end:

gst-launch-1.0 -v v4l2src device=/dev/video1 ! 'image/jpeg,width=640,height=480,videorate=8/1' ! rtpjpegpay ! udpsink host=127.0.0.1 port=1234

Then I tried to play this stream:

gst-launch-1.0 -v udpsrc port=1234 ! "application/x-rtp, payload=96" ! rtpjpegdepay ! jpegdec ! xvimagesink

And it failed with the following errors:

/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg, framerate=(fraction)0/1, width=(int)640, height=(int)480

** (gst-launch-1.0:10761): CRITICAL **: gst_adapter_push: assertion 'GST_IS_BUFFER (buf)' failed

** (gst-launch-1.0:10761): CRITICAL **: gst_jpeg_dec_fill_input_buffer: assertion 'dec->current_frame_map.data != NULL' failed

Any suggestions?

Community
  • 1
  • 1
beemaster
  • 291
  • 1
  • 3
  • 13
  • This is not a programming question, I vote that this is moved to SuperUser instead. – JaggenSWE May 04 '16 at 19:24
  • gstreamer is a framework for developers, isn't it? And I just followed the mentioned thread which has similar subject: http://stackoverflow.com/questions/7669240/webcam-streaming-using-gstreamer-over-udp What a double standards? – beemaster May 04 '16 at 19:26
  • @JaggenSWE this is indeed a programming question - when asking gstreamer stuff its always advisable to provide gst-launch form of logic.. its similar to scripting language.. and this one is good question, no reason for downvotes! – nayana May 05 '16 at 13:58
  • 1
    this is frequent problem when people use rtp with udpsink/src .. you need to copy the caps from sender to reciever - I like this [cheatsheet](http://labs.isee.biz/index.php/Example_GStreamer_Pipelines#H.264_RTP_Streaming) .. or you can use mpegtsmux which will encapsulate caps into ts dataflow and you do not need to copy the caps.. for this check [this](http://stackoverflow.com/a/35148868/3876138) answer.. – nayana May 05 '16 at 14:09

0 Answers0