0

I want to get encoded stream coming from Logitech HD Webcam (UVC) on Windows with Gstreamer. I know on Linux you can access via /dev/video1 and etc. However, I don't know how to do it on Windows.

I can get raw buffers via ksvideosrc on Windows but that doesn't solve my problem. I must get hardware encoded stream. If you know any other library rather than Gstreamer, guide me please.

I expect the output like this but for Windows version.
gst-launch-1.0 v4l2src device=/dev/video0 ! decodebin ! ximagesink

astarakastara
  • 475
  • 5
  • 17

1 Answers1

0

I found a solution for people who will have this problem.

gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg,width=1280,height=720 ! decodebin ! ximagesink


This will attach the camera's encoded stream, and decode with decodebin and gives the output to the Window. If you do not write image/jpeg etc. , it will automatically attachs to the raw buffer from camera.

In C++ Code, it is like

GstElement* v4l2src = gst_element_factory_make("v4l2src","Source");
GstElement* srcFilter = gst_element_factory_make("capsfilter","Filter");

then you will add them into pipeline and link them. That will do.
Note: If the camera does not support that resolution and media type, it will give

streaming stopped, reason not-negotiated (-4)

error.

astarakastara
  • 475
  • 5
  • 17