-
Notifications
You must be signed in to change notification settings - Fork 521
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error on set-timeout-image: "/dev/video0 is not output device" #334
Comments
are you sure |
Thanks for respond. I'm using Android Studio emulator. It takes video from the first video device: /dev/video0. So, I configure v4l2loopback to use /dev/video0 and cameras in 1, 2, etc. |
If you encounter problems detecting your device with Chrome/WebRTC you can try 'exclusive_caps' mode: sudo modprobe v4l2loopback exclusive_caps=1 This will enable 'exclusive_caps' mode that only reports CAPTURE/OUTPUT capabilities exclusively. The newly created device will announce OUTPUT capabilities only (so ordinary webcam applications (including Chrome) won't see it). As soon as you have attached a producer to the device, it will start announcing CAPTURE capabilities only (so applications that refuse to open devices that have other capabilities apart from capturing can open it too.) Options that you provided when loading the module (e.g. via modprobe) cannot be easily changed on the fly. In order to change these options, you must first unload the module with rmmod (which will only work if no application is any longer accessing one of the loopback devices) and then load it again (with the new options). |
@ryleymcc thanks for that info, but issue is about something different. Even I didn't know how |
I seem to have the same issue sudo v4l2loopback-ctl set-timeout-image /dev/video3 /home/amol/Pictures/alex.png
v======================================================================v
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0: Device '/dev/video3' is not a output device.
Additional debug info:
v4l2_calls.c(636): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0:
Capabilities: 0x5208000
Setting pipeline to NULL ...
Freeing pipeline ...
^======================================================================^ |
i can reproduce this, when trying to set the timeout image without a running (output)stream.
the really bad thing is, that once the driver is in this state, it will refuse to accept any streams: gst-launch-1.0 videotestsrc ! videoconvert ! v4l2sink device=/dev/video2
Setting pipeline to PAUSED ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0: Could not open device '/dev/video2' for reading and writing.
Additional debug info:
../sys/v4l2/v4l2_calls.c(622): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0:
system error: Invalid argument
ERROR: pipeline doesn't want to preroll.
Failed to set pipeline to PAUSED.
Setting pipeline to NULL ...
Freeing pipeline ...
$ apparently because it still tries (and fails) to set the timeout image on consecutive attempts to start streaming. as of d12e7d7 (or so), we can no longer attach a 2nd producer if one is already attached, which currently makes it impossible to set the timeout image... this is probably related to #541 |
Hi everyone, |
Environment
v4l2loopback
version: [ 4.048186] v4l2loopback driver version 0.12.1 loadedkernel version: Linux debian 4.19.0-9-amd64 gstreamer v4l2sink support #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64 GNU/Linux
Distribution (+version):
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
Problem:
I create virtual device in /dev/video0 and it works perfect.
sudo modprobe v4l2loopback devices=1 video_nr=0 card_label="OBS Cam"
But, by doing this (following this), I get this:
The text was updated successfully, but these errors were encountered: