Ask Your Question

Revision history [back]

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

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

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

I am trying to use same camera source for reading frames using opencv videoCapture() videoCapture() API and RTMP streaming.For this I am using tee in gstreamer pipeline inside Videocapture () () api as shown below 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=""> 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 gstreamer pipeline. So kindly help me. Thanks in advance