GStreamer Pipeline for live streaming over network using udp

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

GStreamer Pipeline for live streaming over network using udp

3,916 Views
virti_choksi
Contributor III

Hello,

I want to stream a live video captured from camera device over a network using udp .

The details of setup I am using are as follows:

Ubuntu 18.20

iMX8Mini

and i'm using USB camera with UVC support and connected to i.mx8 via USB and want to stream via ethernet to System.

So, first i was trying with videotestsrc

pipeline on the server side:

gst-launch-1.0 -v videotestsrc ! jpegenc ! udpsink port=3445 host=192.168.60.103

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, width=(int)320, height=(int)240, framerate=(fraction)30/1, format=(string)I420, mue
/GstPipeline:pipeline0/GstJpegEnc:jpegenc0.GstPad:sink: caps = video/x-raw, width=(int)320, height=(int)240, framerate=(fraction)30/1, format=(string)I420, multiview-me
/GstPipeline:pipeline0/GstJpegEnc:jpegenc0.GstPad:src: caps = image/jpeg, sof-marker=(int)0, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerao
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = image/jpeg, sof-marker=(int)0, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framero
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock     -----> after hitting the command, here timer gets start  
^Chandling interrupt.   ------> after hitting ctrl-c this msg pops-up
Interrupt: Stopping pipeline ...
Execution ended after 0:00:44.472064988
Setting pipeline to NULL ...
Freeing pipeline ...

 

pipeline on the client side:

gst-launch-1.0 udpsrc port=3445 ! jpegdec ! autovideosink

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Got context from element 'autovideosink0-actual-sink-vaapi': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1";
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Caught SIGSEGV   -----> i get this msg on the client side when i haven't hit ctrl-c on the host side and the timer is still on 
Spinning. Please run 'gdb gst-launch-1.0 3398' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.

^Chandling interrupt.    ------> after hitting ctrl-c this msg pops-up
Interrupt: Stopping pipeline ...
Execution ended after 0:18:23.172158416
Setting pipeline to PAUSED ...
Setting pipeline to READY ...

 

i have tried other combination of pipelines also but i get error like 

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

or there are error with the encoding / decoding  elements like 

  1. no element "ffdec_h264"
  2. could not link jpegenc0 to rtph264pay0

i have also tried alternatives of encoding / decoding  elements but everytime i get error .

Labels (1)
0 Kudos
Reply
1 Reply

3,862 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @virti_choksi 

I hope you are doing well.
 
One can refers to section 10.2.1. Camera UDP Streaming in i.MX 8 GStreamer User Guide for UDP streaming of camera using Gstreamer in i.MX8 Processors.
 
Thanks & Regards,
Dhruvit Vasavada
0 Kudos
Reply