GStreamer Pipeline for live streaming over network using udp

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

GStreamer Pipeline for live streaming over network using udp

3,911件の閲覧回数
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 .

ラベル(1)
0 件の賞賛
返信
1 返信

3,857件の閲覧回数
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 件の賞賛
返信