Get stream from camera to several applications

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Get stream from camera to several applications

Marthe Lauvsnes


I was wondering if there is a gstreamer command where you can use one camerasrc in two applications?

We have tried running two different programs with the same camera, with the following commands:

  1. The first one uses darknet (YOLO) a detectionprogram for neural nettworks:

$ ./darknet detector demo data/ cfg/yolov3-tiny-obj.cfg yolov3-tiny-obj_200000.weights "nvcamerasrc ! video/x-raw(memory:NVMM), width=(int)1280, height=(int)720,format=(string)I420, framerate=(fraction)30/1 ! nvvidconv flip-method=0 ! video/x-raw, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink"

     2. The second one is a tracking application that uses the following pipe for videoloading;
$"nvcamerasrc ! video/x-raw(memory:NVMM), format=(string)I420, width=640, height=480, framerate=30/1 ! nvvidconv flip-method=0 ! video/x-raw, format=(string)BGRx !  videoconvert ! video/x-raw,              format=(string)BGR ! appsink";

...but when these are run simultaneously we get the following error:

Setting pipeline to PAUSED ...
Socket read error. Camera Daemon stopped functioning.....
gst_nvcamera_open() failed ret=0
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstNvCameraSrc:nvcamerasrc0: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure.
Additional debug info:
gstbasesrc.c(3354): gst_base_src_start (): /GstPipeline:pipeline0/GstNvCameraSrc:nvcamerasrc0:
Failed to start
Setting pipeline to NULL ...
Freeing pipeline ...

Kind regards


gstreamer-devel mailing list
[hidden email]