Как получить закодированный поток от UVC с помощью Gstreamer на Windows - PullRequest
0 голосов
/ 17 мая 2019

Я хочу получать закодированный поток, поступающий с веб-камеры Logitech HD (UVC) в Windows с Gstreamer. Я знаю, что в Linux вы можете получить доступ через / dev / video1 и т. Д. Тем не менее, я не знаю, как это сделать в Windows.

Я могу получить необработанные буферы через ksvideosrc в Windows, но это не решает мою проблему. Я должен получить аппаратно закодированный поток. Если вы знаете какую-либо другую библиотеку, а не Gstreamer, направьте меня, пожалуйста.

Я ожидаю вывод, как это, но для версии Windows.
Устройство gst-launch-1.0 v4l2src = / dev / video0! расшифровка! ximagesink

1 Ответ

0 голосов
/ 27 июля 2019

Я нашел решение для людей, которые будут иметь эту проблему.

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)

ошибка.

...