Search code examples
windowsvideo-streaminggstreamer

How can I solve buffering problem when using gstreamer in windows 10?


I am trying to show video from two local cameras from my laptop and mixing these video signals in one window with the following command (in Windows 10):

gst-launch-1.0 ksvideosrc device-name="VGA WebCam" ! video/x-raw, format=YUY2, framerate=30/1, width=640, height=480 ! compositor name=comp ! videoconvert ! autovideosink ksvideosrc device-name="Philips SPZ2000" ! video/x-raw, format=YUY2, width=160, height=120, framerate=20/1 ! videoconvert ! comp.

The video on the screen is too slow and this message is appearing:

WARNING: from element /GstPipeline:pipeline0/GstCompositor:comp: GStreamer error: clock problem.
Additional debug info:
../libs/gst/base/gstaggregator.c(2077): gst_aggregator_query_latency_unlocked (): /GstPipeline:pipeline0/GstCompositor:comp:
Impossible to configure latency: max 0:00:00.033333333 < min 0:00:00.050000000. Add queues or other buffering elements.

Can you help me to understand and solve this problem?


Solution

  • I solved the problem using the compositor in other way:

    gst-launch-1.0 compositor name=comp sink_1::alpha=0.5 sink_1::xpos=10 sink_1::ypos=10 ! videoconvert ! autovideosink ksvideosrc device-name="VGA WebCam" ! video/x-raw, format=YUY2, framerate=30/1, width=640, height=480 ! queue max-size-bytes=2048 ! comp.  ksvideosrc device-name="Philips SPZ2000" ! video/x-raw, format=YUY2, width=176, height=144, framerate=15/1, pixel-aspect-ratio=12/11 ! queue max-size-bytes=2048 ! comp.