관련 정보일 수 있음: Ubuntu 20.04, Logitech 1080p USB 웹캠, NVidia GTX 1080
v4l2loopback을 설치했는데 작동합니다해결책하지만 매개변수에서 장치로 /dev/video5를 지정해야 합니다. v4l2-ctl -d /dev/video5를 사용해 보았더니 필수인 것 같았지만 명령을 사용하여 fps 또는 set-caps를 강제로 실행하려고 하면 다음과 같은 이상한 오류가 발생합니다.
v4l2loopback-ctl set-fps /dev/video5 24
can't parse device
또는
v4l2loopback-ctl set-caps "image/jpeg, width=1280, height=720, fps=30/1" /dev/video5
cat: /sys/devices/virtual/video4linux/video5/format: No such file or directory
unknown control 'keep_format'
video4linux 디렉토리는 없는데 왜 거기에 필요한지 잘 모르겠습니다.
기타 정보:
v4l2-ctl --list-devices
v4l2loopback (platform:v4l2loopback-000):
/dev/video9
Rift Sensor: CV1 External Camer (usb-0000:00:14.0-10):
/dev/video3
/dev/video4
Rift Sensor: CV1 External Camer (usb-0000:00:14.0-6.3):
/dev/video0
/dev/video1
UVC Camera (046d:0821) (usb-0000:00:14.0-9.1):
/dev/video5
/dev/video6
Rift Sensor: CV1 External Camer (usb-0000:00:14.0-9.4.2):
/dev/video7
/dev/video8
그리고
dmesg | grep -i "Camera"
[4.637790] input: UVC Camera (046d:0821) as /devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9.1/1-9.1:1.2/input/input21
답변1
set-fps
구문이 잘못되었습니다(모두해방됨v4l2loopback-ctl
2020년 12월 18일 기준 버전):
$ v4l2loopback-ctl -h | grep set-fps
set-fps <FPS> /dev/videoX Set device fps (if format is already
따라서 다음과 같아야 합니다.v4l2loopback-ctl set-fps 24 /dev/video5
이것업스트림 읽어보기fps 및 장치가 교체되었습니다. 그러나 이는 아직 출시되지 않은 다음 버전에서 v4l2loopback
매개변수가 교체되고 업스트림 저장소가 이미 이러한 변경 사항을 통합하고 이에 따라 문서를 업데이트했기 때문입니다.
set-caps
디렉터리 가 없으면 /sys/devices/virtual/video4linux/video5/
이름이 루프백 장치가 없는 것입니다 /dev/video5
.
유틸리티 v4l2loopback-ctl
는오직루프백 장치와 함께 사용할 수 있습니다. 모든 비디오 장치에서 프레임 속도와 형식을 설정하는 범용 도구는 아닙니다. 그래서:
- 드라이버가 로드되었는지 확인하세요.
- 장치가 생성된 것과 동일한 방식으로 드라이버가 로드되었는지 확인하십시오
dev/video5
.
다음과 같은 방법으로 문제를 해결할 수 있습니다(새 매개변수 세트를 사용하여 드라이버를 로드하기 전에 드라이버를 언로드해야 합니다).
$ sudo rmmod v4l2loopback
$ sudo modprobe v4l2loopback video_nr=5
무엇보다도 v4l2loopback-ctl
스크립트는 간단한 gstreamer 파이프를 사용하여 장치에 형식을 강제 적용합니다. 불행하게도 이 파이프라인은 유효한 스트림을 생성하는 데 실패하므로 image/jpeg
이제 형식을 JPEG로 강제로 지정하려는 경우 사용자 스스로 결정해야 합니다.