Я нашел решение для людей, которые будут иметь эту проблему.
gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg,width=1280,height=720 ! decodebin ! ximagesink
Это прикрепит закодированный поток камеры и декодирует с помощью decodebin и выдаст вывод в Window. Если вы не напишите image / jpeg и т. Д., Он автоматически присоединится к необработанному буферу с камеры.
В коде C ++,
это как
GstElement* v4l2src = gst_element_factory_make("v4l2src","Source");
GstElement* srcFilter = gst_element_factory_make("capsfilter","Filter");
тогда вы добавите их в конвейер и свяжете их. Это будет делать.
Примечание. Если камера не поддерживает это разрешение и тип носителя, она выдаст
streaming stopped, reason not-negotiated (-4)
ошибка.