Is it possible to use tee in gstreamer pipeline inside VideoCapture() API?

asked 2020-07-20 15:02:14 -0500

Jsna gravatar image

updated 2020-08-05 23:03:35 -0500

supra56 gravatar image

I am trying to use same camera source for reading frames using opencv videoCapture() API and RTMP streaming.For this I am using tee in gstreamer pipeline inside Videocapture () api as shown below:

cv::VideoCapture cap("nvarguscamerasrc sensor-id=0  ! video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=10/1 ! tee name=t t. ! queue ! omxh264enc profile=8 bitrate=1000000 ! h264parse ! flvmux ! rtmpsink location=<RTMP url>  t.  ! queue ! nvvidconv flip-method=0 ! video/x-raw, width=640, height=480, format=BGRx ! videoconvert ! video/x-raw, format=BGR ! appsink ",cv::CAP_GSTREAMER)

But I am not getting the desired output. I am getting only two frames .RTMP streaming is not working. Is it possible to do like this? I am new to gstreamer pipeline. So kindly help me. Thanks in advance

edit retag flag offensive close merge delete