Я только недавно заметил, что видео с моей веб-камеры не всегда работает в программе, при условии, что к ней обращается что-то еще.
Давайте объясним это на нескольких примерах использования:
Я использую uTox (клиент мгновенных сообщений tox ) в фоновом режиме, чтобы я мог получать защищенные сообщения от друзей и клиентов, и вдруг я получаю Skype звонок. Skype не может получить доступ к веб-камере, потому что uTox удерживает устройство.
uTox работает, и я хочу проверить вывод видео с моей веб-камеры с помощью Cheese. Я получаю сообщение об ошибке: There was an error playing video from the webcam
и не получаю видеовыход.
В обоих случаях uTox не запускает подсветку веб-камеры на моем ноутбуке и не должна активно использовать веб-камеру (по какой-то причине она просто удерживает устройство). Чтобы обойти это, я хотел бы знать, могу ли я что-нибудь сделать, чтобы позволить нескольким программам получать доступ к камере одновременно (или для тех, кто знаком с клиентом, как убрать блокировку видео из uTox?), как мне вообще нужно, чтобы uTox работал в фоновом режиме. Завершение процесса, чтобы я мог принять звонок через Skype, очень неудобно.
Существует ли какой-либо способ, позволяющий нескольким программам одновременно получать доступ к одному и тому же видеоустройству?
Ошибка при запуске Cheese:
$ cheese &
...
libv4l2: error setting pixformat: Device or resource busy
libv4l2: error setting pixformat: Device or resource busy
(cheese:8259): cheese-WARNING **: Device '/dev/video0' is busy: gstv4l2object.c(2838): gst_v4l2_object_set_format (): /GstCameraBin:camerabin/GstWrapperCameraBinSrc:camera_source/GstBin:bin18/GstV4l2Src:video_source:
Call to S_FMT failed for YU12 @ 1280x720: Device or resource busy
Информация о системе:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 15.04
Release: 15.04
Codename: vivid
# lshw -short
H/W path Device Class Description
======================================================
system Computer
/0 bus Motherboard
/0/0 memory 7873MiB System memory
/0/1 processor Intel(R) Core(TM) i5-3337U CPU @ 1.80GHz
/0/100 bridge 3rd Gen Core processor DRAM Controller
/0/100/2 display 3rd Gen Core processor Graphics Controller
/0/100/14 bus 7 Series/C210 Series Chipset Family USB xHCI Host Controller
/0/100/14/0 usb2 bus xHCI Host Controller
/0/100/14/1 usb1 bus xHCI Host Controller
/0/100/16 communication 7 Series/C210 Series Chipset Family MEI Controller #1
/0/100/1a bus 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2
/0/100/1a/1 usb3 bus EHCI Host Controller
/0/100/1a/1/1 bus Integrated Rate Matching Hub
/0/100/1a/1/1/1 communication Bluetooth wireless interface
/0/100/1a/1/1/3 multimedia HD WebCam
/0/100/1b multimedia 7 Series/C210 Series Chipset Family High Definition Audio Controller
/0/100/1c bridge 7 Series/C210 Series Chipset Family PCI Express Root Port 1
/0/100/1c/0 eth0 network NetXtreme BCM57786 Gigabit Ethernet PCIe
/0/100/1c/0.1 generic BCM57765/57785 SDXC/MMC Card Reader
/0/100/1c.1 bridge 7 Series/C210 Series Chipset Family PCI Express Root Port 2
/0/100/1c.1/0 wlan0 network QCA9565 / AR9565 Wireless Network Adapter
/0/100/1d bus 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1
/0/100/1d/1 usb4 bus EHCI Host Controller
/0/100/1d/1/1 bus Integrated Rate Matching Hub
/0/100/1f bridge HM77 Express Chipset LPC Controller
/0/100/1f.2 storage 7 Series Chipset Family 6-port SATA Controller [AHCI mode]
/0/100/1f.3 bus 7 Series/C210 Series Chipset Family SMBus Controller
...
Обратите внимание, что рассматриваемое видеоустройство - это «Веб-камера HD», на которую ссылается lshw
, расположенная в /dev/video0