Как инвертировать видео с v4l2loopback и gstreamer?

Я пытаюсь инвертировать видео по вертикали, но получаю следующее:

GST_DEBUG=2 gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! videoflip method=vertical-flip ! v4l2sink device=/dev/video1 Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... 0:00:00.404780204 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YUYV@48x32: 0 New clock: GstSystemClock 0:00:00.404881855 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YUYV@48x32: 0 0:00:00.404943395 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at UYVY@48x32: 0 0:00:00.405010945 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YU12@48x32: 0 0:00:00.405068424 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YV12@48x32: 0 0:00:00.405123299 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YVU9@48x32: 0 0:00:00.405179552 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YUV9@48x32: 0 0:00:00.405234361 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at RGB4@48x32: 0 0:00:00.405287186 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at BGR4@48x32: 0 0:00:00.405339302 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at RGB3@48x32: 0 0:00:00.405396859 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at BGR3@48x32: 0 0:00:00.405447885 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at GREY@48x32: 0 0:00:00.405497954 32410 0x23b1e30 WARN v4l2 gstv4l2object.c:2206:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YVYU@48x32: 0 0:00:00.595326610 32410 0x23b1e30 WARN v4l2bufferpool gstv4l2bufferpool.c:541:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src> libv4l2 converter detected, disabling CREATE_BUFS 0:00:00.821482196 32410 0x23b1e30 ERROR v4l2allocator gstv4l2allocator.c:1299:gst_v4l2_allocator_dqbuf:<v4l2sink0:pool:sink:allocator> buffer 1 was not queued, this indicate a driver bug. 0:00:00.821571739 32410 0x23b1e30 WARN basesrc gstbasesrc.c:2943:gst_base_src_loop:<v4l2src0> error: Internal data flow error. 0:00:00.821609647 32410 0x23b1e30 WARN basesrc gstbasesrc.c:2943:gst_base_src_loop:<v4l2src0> error: streaming task paused, reason error (-5) ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error. Additional debug info: gstbasesrc.c(2943): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: streaming task paused, reason error (-5) Execution ended after 0:00:00.417011242 Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...

Это работает, если я не включаю фильтр видео. Я попробовал это с большим количеством разных заглавных букв. Я думаю, что мне нужна более свежая версия драйвера v4l2loopback, но я не уверен.

1 ответ

Это вызвано ошибкой драйвера v4l2loopback и исправлено в 0.10 ref: https://github.com/umlaeute/v4l2loopback/issues/116

Другие вопросы по тегам