Package: v4l2loopback-dkms
Version: 0.9.1-2
Severity: normal
I'm trying to intercept a video stream from a webcam and crop it a bit
before passing it on for further processing. I found v4l2loopback,
which sounds like it's exactly what I'm looking for. However, I get
crashes as soon as I try to insert processing in the pipeline.
The following works:
,----
| $ gst-launch-1.0 v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1
`----
(Works as in I'm able to see the video with "gst-launch-1.0 v4l2src
device=/dev/video1 ! xvimagesink")
The following, however, doesn't (I added some debugging):
,----
| $ gst-launch-1.0 v4l2src device=/dev/video0 ! videocrop left=160 ! v4l2sink device=/dev/video1
| Setting pipeline to PAUSED ...
| Pipeline is live and does not need PREROLL ...
| Setting pipeline to PLAYING ...
| New clock: GstSystemClock
| 0:00:00.246143117 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YUYV@48x32: 0
| 0:00:00.246290508 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at UYVY@48x32: 0
| 0:00:00.246359603 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at 422P@48x32: 0
| 0:00:00.246427807 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YU12@48x32: 0
| 0:00:00.246493806 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YV12@48x32: 0
| 0:00:00.246559342 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at 411P@48x32: 0
| 0:00:00.246627256 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YVU9@48x32: 0
| 0:00:00.246695596 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YUV9@48x32: 0
| 0:00:00.246762468 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at JPEG@48x32: 0
| 0:00:00.246820456 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at MJPG@48x32: 0
| 0:00:00.246877908 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at dvsd@48x32: 0
| 0:00:00.246936149 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at RGB4@48x32: 0
| 0:00:00.247000757 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at BGR4@48x32: 0
| 0:00:00.247063194 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at RGB3@48x32: 0
| 0:00:00.247125751 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at BGR3@48x32: 0
| 0:00:00.247189433 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at RGBP@48x32: 0
| 0:00:00.247297051 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at RGBO@48x32: 0
| 0:00:00.247360952 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at GREY@48x32: 0
| 0:00:00.247424629 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at VP80@48x32: 0
| 0:00:00.247495616 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at MPG4@48x32: 0
| 0:00:00.247555950 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at MPG2@48x32: 0
| 0:00:00.247618681 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at MPG1@48x32: 0
| 0:00:00.247676672 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at H263@48x32: 0
| 0:00:00.247735644 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at H264@48x32: 0
| 0:00:00.247794498 8590 0x13bd050 WARN v4l2 gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:<v4l2sink0> Unknown frame interval type at YVYU@48x32: 0
| 0:00:00.618841172 8590 0x13bd050 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.618972830 8590 0x13bd050 WARN basesrc gstbasesrc.c:2943:gst_base_src_loop:<v4l2src0> error: Internal data flow error.
| 0:00:00.619019484 8590 0x13bd050 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.526926752
| Setting pipeline to PAUSED ...
| Setting pipeline to READY ...
| Setting pipeline to NULL ...
| Freeing pipeline ...
`----
I'm pretty sure the problem lies with v4l2loopback, since replacing
the v4l2sink with a simple xvimagesink in both pipelines gives me the
unaltered stream in the first case and a cropped one in the second case.
This takes out much of the value of v4l2loopback, if I can only resend
video as-is :-)
Thanks,
Roland.
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 4.2.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages v4l2loopback-dkms depends on:
ii dkms 2.2.0.3-2
v4l2loopback-dkms recommends no packages.
Versions of packages v4l2loopback-dkms suggests:
ii v4l2loopback-utils 0.9.1-2
-- no debconf information
--
Roland Mas
Indépendant en informatique libre -- Free software freelance
http://www.gnurandal.com/