Permitir que vários programas acessem / dev / video0 simultaneamente?

2

Recentemente, observei que o vídeo da minha webcam nem sempre funciona em um programa, desde que algo mais esteja sendo acessado.

Vamos explicar isso com alguns exemplos de uso:

  1. Estou executando o uTox (um tox cliente de mensagens instantâneas) em segundo plano para que eu possa receber mensagens seguras de amigos e clientes e, de repente, recebo uma chamada do Skype. O Skype não pode acessar a webcam porque o uTox tem controle sobre o dispositivo.

  2. O uTox está funcionando e quero verificar a saída de vídeo da minha webcam usando o Cheese. Eu recebo um erro: There was an error playing video from the webcam e não recebo saída de vídeo.

Em ambos os casos, o uTox não aciona a luz da webcam no meu laptop, e não deve estar usando ativamente a webcam (ela apenas segura o dispositivo por qualquer motivo). Para contornar isso, gostaria de saber se há algo que eu possa fazer para permitir que vários programas acessem a câmera ao mesmo tempo (ou para qualquer pessoa familiarizada com o cliente, como remover a retenção do vídeo da uTox?), como eu geralmente preciso ter o uTox rodando em segundo plano. Matar o processo para que eu possa fazer uma chamada pelo Skype é muito inconveniente.

Existe qualquer maneira de permitir que vários programas acessem o mesmo dispositivo de vídeo ao mesmo tempo?

Erro ao executar o 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

Informações do sistema:

$ 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
...

Observe que o dispositivo de vídeo em questão aqui é a "Webcam HD" referida por lshw , localizada em /dev/video0

    
por Keefer Rourke 07.08.2015 / 20:04

0 respostas