Como testar sua Webcam no Linux.

Iniciado por Serial, 04 de Março de 2017, 09:51

tópico anterior - próximo tópico

Serial

Citação de: druidaobelix online 08 de Março de 2017, 17:26
Citação de: Serial online 08 de Março de 2017, 08:56
Resposta do comando solicitado: Obs. O X é aleatório.
xxxxx@xxxxx-p6540br:~$ sudo media-ctl -p
Failed to enumerate /dev/media0 (-2)   :(

Talvez a webcam estivesse desligada, aí não retorna nada mesmo.
Certifique-se antes que está ativa usando o lsusb.

Está ativa: Veja ! Não retornou nada.

edson@edson-p6540br:~$ lsusb
Bus 002 Device 004: ID 0bda:0151 Realtek Semiconductor Corp. Mass Storage Device (Multicard Reader)
Bus 002 Device 003: ID 093a:2620 Pixart Imaging, Inc.
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 0bc2:3320 Seagate RSS LLC SRD00F2 [Expansion Desktop Drive]
Bus 001 Device 004: ID 04f2:0841 Chicony Electronics Co., Ltd HP Multimedia Keyboard
Bus 001 Device 003: ID 192f:0416 Avago Technologies, Pte. ADNS-5700 Optical Mouse Controller (3-button)
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

edson@edson-p6540br:~$ sudo media-ctl -p
[sudo] senha para edson:
Failed to enumerate /dev/media0 (-2)
edson@edson-p6540br:~$



druidaobelix

Citação de: Serial online 08 de Março de 2017, 17:47
Está ativa: Veja ! Não retornou nada.
edson@edson-p6540br:~$ lsusb
Bus 002 Device 003: ID 093a:2620 Pixart Imaging, Inc.
edson@edson-p6540br:~$ sudo media-ctl -p
Failed to enumerate /dev/media0 (-2)

E ainda assim se logo em seguida acionar o guvcview funciona?
Se acionar a imagem está lá ativa e operante?

Como aparece na aba "Video Controls"/Dispositivo do guvcview?

E na aba "Audio Controls"/API de áudio, o que consta?

Também resultado positivo se fizer como abaixo?

v4l2-ctl --all | grep -i driver

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Serial

Citação de: druidaobelix online 08 de Março de 2017, 19:06
Citação de: Serial online 08 de Março de 2017, 17:47
Está ativa: Veja ! Não retornou nada.
edson@edson-p6540br:~$ lsusb
Bus 002 Device 003: ID 093a:2620 Pixart Imaging, Inc.
edson@edson-p6540br:~$ sudo media-ctl -p
Failed to enumerate /dev/media0 (-2)

E ainda assim se logo em seguida acionar o guvcview funciona?
Se acionar a imagem está lá ativa e operante?

Como aparece na aba "Video Controls"/Dispositivo do guvcview?

E na aba "Audio Controls"/API de áudio, o que consta?

Também resultado positivo se fizer como abaixo?

v4l2-ctl --all | grep -i driver

Agora sim !

A resposta para: de v4l2-ctl --all | grep -i driver
edson@edson-p6540br:~$ v4l2-ctl --all | grep -i driver
Driver Info (not using libv4l2):
   Driver name   : gspca_pac7302
   Driver version: 4.10.1

Com edson@edson-p6540br:~$  guvcview "aparece a mensagem de erro, mas abre a imagem e controle de ambos 'Audio e Imagem"
GUVCVIEW: version 2.0.5
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: ioctl inapropriado para dispositivo
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: ioctl inapropriado para dispositivo
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: ioctl inapropriado para dispositivo
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: ioctl inapropriado para dispositivo
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: ioctl inapropriado para dispositivo
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: ioctl inapropriado para dispositivo
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: ioctl inapropriado para dispositivo
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: ioctl inapropriado para dispositivo
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: ioctl inapropriado para dispositivo
V4L2_CORE: failed to subscribe events for control 0x0098090c: Argumento inválido
V4L2_CORE: failed to subscribe events for control 0x00980910: Argumento inválido
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
Cannot connect to server socket err = Arquivo ou diretório não encontrado
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
V4L2_CORE: V4L2_CAP_TIMEPERFRAME not supported

** (guvcview:13154): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
control[0]:(unknown - 0x6) 0x980001 'User Controls'
V4L2_CORE: V4L2_CAP_TIMEPERFRAME not supported

Serial

druidaobelix

Essas mensagens do guvcview não possuem maior significado, ocorrem apenas porque se está chamando pelo terminal um programa que originalmente está previsto para ser chamado pela interface gráfica.

Se repito aqui a chamada pelo terminal usando a webcam do notebook, totalmente funcional e sem problemas, de uma outra marca e modelo, recebo idênticas mensagens do guvcview, então não creio que elas digam respeito ao problema em si.
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

Entretanto, parece que está usando aí o kernel 4.10.1 no que suponho seja o Ubuntu 16.04.

Qual a razão para isso?
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Serial

Citação de: druidaobelix online 08 de Março de 2017, 19:30
Entretanto, parece que está usando aí o kernel 4.10.1 no que suponho seja o Ubuntu 16.04.
Qual a razão para isso?

Citação de: druidaobelix online 08 de Março de 2017, 19:30
Entretanto, parece que está usando aí o kernel 4.10.1 no que suponho seja o Ubuntu 16.04.

Sim! Uso o 16.04.2 LTS AMD64 (x86_64; Unity)

Citação de: druidaobelix online 08 de Março de 2017, 19:30
Qual a razão para isso?

Curiosidade atrelada em manter o melhor para o sistema Ubuntu atualizado.
Havia instalado a versão 4.11rc1 e deu pane no virtualbox. Corri com um monte de procedimento e só resolveu quando voltei a verão 4.10.1 do Kernel pelo Ukuu. Aproveitei e já atualzei a nova versão do virtualbox 5.1.16

Mesmo a webcam não funcionando o vídeo nos principais programas skype, Facebook e Whatsapp, consigo ao menos o áudio estável. Enquanto não troco minha webcam, vou pesquisando uma nova para aquisição em Breve.

Quero fuçar bastante em tudo que posso aqui errando e acertando e, buscando informações. Caso for necessário formato novamente, inclusive baixei a versão 32bits do Ubuntu e coloquei no pendriver bootavel. Fiz pelo Ubuntu mesmo e achei de extrema facilidade a ferramenta.

Pensei que atualizando o kernel para uma versão recente, existiria a possibilidade da câmera ser reconhecida pelos programas acima citados.

Serial.

druidaobelix

Citação de: Serial online 08 de Março de 2017, 20:08
Pensei que atualizando o kernel para uma versão recente, existiria a possibilidade da câmera ser reconhecida pelos programas acima citados.

Sim, o raciocínio era esse, como mesmo havia sido dito lá no post #26, porém quando não resulta em solução para um determinado específico problema, não há razão para permanecer com um kernel diferente daquele que é o padrão da distribuição, só se faz isso quando há objetivamente um ganho em algo, caso contrário se está introduzindo um variável que pode, em tese, ocasionar alguma espécie se problema, sem ganho algum.

Um kernel mais recente que o padrão da distribuição pode ser útil, por exemplo, no caso de hardware recente, que ainda não é reconhecido pela versão mais antiga de kernel ou quando há de fato um problema conhecido e o kernel mais novo concretamente resolve esse problema.

Note que se a questão fosse apenas usar o kernel mais recente, então certamente o Ubuntu automaticamente atualizaria para ele, se não o faz é porque existem razões para isso e essa razão é que precisa haver uma sincronia entre o kernel e o Xorg e, por exemplo, os drivers de vídeo.

Citação de: Serial online 08 de Março de 2017, 20:08
Mesmo a webcam não funcionando o vídeo nos principais programas skype, Facebook e Whatsapp, consigo ao menos o áudio estável.

Há diferença nesse aspecto do áudio usando o kernel padrão da versão 16.04, que no modo stack é o kernel 4.8, ou dá na mesma se usar ele ou os mais recentes?


www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Serial

Citação de: druidaobelix online 08 de Março de 2017, 20:36
Citação de: Serial online 08 de Março de 2017, 20:08

Note que se a questão fosse apenas usar o kernel mais recente, então certamente o Ubuntu automaticamente atualizaria para ele, se não o faz é porque existem razões para isso e essa razão é que precisa haver uma sincronia entre o kernel e o Xorg e, por exemplo, os drivers de vídeo.

Sim! Acompanhei a atualização do kernel e percebi que o driver de vídeo foi atualizado com o Kernel mais recente, no caso i915 Intel.


Serial

Citação de: druidaobelix online 08 de Março de 2017, 20:36
Citação de: Serial online 08 de Março de 2017, 20:08

Há diferença nesse aspecto do áudio usando o kernel padrão da versão 16.04, que no modo stack é o kernel 4.8, ou dá na mesma se usar ele ou os mais recentes?

Depois da instalação do programa guvcview já senti uma melhora no áudio, pois quando usava o microfone da webcan saia o som nas caixas de som do Desktop, ao invés de sair o som ao destinatário. Depois da atualização desta versão do kernel  também percebi que até nos programas do virtualbox e Cynemotion tive uma melhora do som, pois no recebimento de mensagens estão audíveis e outros campos que não funciona o som estão funcionando.

Serial

druidaobelix

Chegou a implementar aquele roteiro mencionado no post #22, do "livreuniverso" ?
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Serial

Citação de: druidaobelix online 08 de Março de 2017, 21:39
Chegou a implementar aquele roteiro mencionado no post #22, do "livreuniverso" ?

Li todas as matérias nos links informados.
Fiz e refiz todos os procedimentos, onde muitos deles remetem a novas mensagens de erro. Nem o Skype, Facebook ou Whtsapp funcionam a webcam ou é reconhecida por estes aplicativos.
O Opera que antigamente enxergava a WebCam agora não mais a reconhece nesta nova versão.

Segue imagem:




Muitos dos procedimentos são para versões antigas do Ubuntu ou para outras distros.
Aqui não funcionou !  :-\

Sigamos em frente!

Serial

druidaobelix

#41
Citação de: Serial online 08 de Março de 2017, 22:08
Fiz e refiz todos os procedimentos, onde muitos deles remetem a novas mensagens de erro. Nem o Skype, Facebook ou Whtsapp funcionam a webcam ou é reconhecida por estes aplicativos.
O Opera que antigamente enxergava a WebCam agora não mais a reconhece nesta nova versão.
Muitos dos procedimentos são para versões antigas do Ubuntu ou para outras distros.
Aqui não funcionou !  :-\

Vamos nos concentrar no Skype porque é o que aquele roteiro expressamente menciona.

Note que é preciso alguma adaptação naquele roteiro, não dá para fazer exatamente como está, como havia dito lá no tópico #22, onde consta " principalmente, quando for linkar o Skype ver se o caminho do Skype atual ainda é aquele., e disse aquilo exatamente porque se trata de um post antigo e ainda para outra versão, então sempre precisa revisar para ver se e como seria aplicável.

Lá ele fala em biblioteca de 32-bit, por isso passei o comando para instalar a própria, mas na verdade não sabemos se isso ainda hoje é aplicável daquela forma, então é o caso de testar com a biblioteca normal de 64-bit e se não resultar, então testar com a 32-bit como lá mencionado.

O que aquele roteiro propõe?

Usar o LD_PRELOAD= dentro do script que carrega o Skype para carregar a biblioteca v4l1compat.so.
Segundo ele esse script deveria estar colocado no caminho /usr/bin/skype.

Bem, começa que o script que chama o Skype não tem mais esse nome, apenas skype, parece que agora se chama skypeforlinux e está colocado em /usr/bin/skypeforlinux, é ir lá e conferir.

Então precisa dar uma ajeitada nisso tudo aí para condizer com a realidade atual, que não é mais aquela lá mencionada.

I) Testando com a biblioteca v4l1compat.so 64-bit

Verifique onde no seu sistema está a v4l1compat.so

Deveria estar nesse caminho:

/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so

Está mesmo?

Para confirmar se está lá use o ls (ele esse; listar) e faça:

ls /usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so

Tem que estar aparecendo a tal.

Supondo que esteja e ainda seguindo o que ele diz lá, crie o script:

sudo gedit /usr/local/bin/skypeforlinux

vai abrir um arquivo em branco, então copie aqui e cole nele:


#!/bin/bash
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so /usr/bin/skypeforlinux


Salvar e sair.

A primeira parte é o caminho onde se encontra a v4l1compat.so e a segunda parte é onde se encontra o script de inicialização do Skype, agora chamado skypeforlinux.

Dê permissão de execução ao script, evidentemente adaptando a essa nova condição:

sudo chmod a+x /usr/local/bin/skypeforlinux

Agora abra o Skype e veja se funciona a webcam nele.

Mas ainda pode ser que ainda não seja exatamente isso, em todo caso primeiro é testar isso aí.
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Serial

Segui os passos solicitado e veja como ficou no terminal:

edson@edson-p6540br:~$ ls /usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so
/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so

edson@edson-p6540br:~$ sudo gedit /usr/local/bin/skypeforlinux
[sudo] senha para edson:

Após adicionar e salvar o LD_PRELOAD
#!/bin/bash
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so /usr/bin/skypeforlinux

Aparece a mensagem abaixo no terminal

(gedit:21689): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

** (gedit:21689): WARNING **: Set document metadata failed: Não há suporte à definição do atributo metadata::gedit-spell-enabled

** (gedit:21689): WARNING **: Set document metadata failed: Não há suporte à definição do atributo metadata::gedit-encoding

** (gedit:21689): WARNING **: Set document metadata failed: Não há suporte à definição do atributo metadata::gedit-spell-enabled

** (gedit:21689): WARNING **: Set document metadata failed: Não há suporte à definição do atributo metadata::gedit-encoding

** (gedit:21689): WARNING **: Set document metadata failed: Não há suporte à definição do atributo metadata::gedit-position

Mesmo assim, executei o abaixo:
edson@edson-p6540br:~$ sudo chmod a+x /usr/local/bin/skypeforlinux

Sem êxito! Veja o resultado an imagem abaixo: Creio ter seguido os passos corretamente.
Obs: Esta situação eu ainda não havia testado com X86_64 :  ls /usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so
Veja que a câmera não aparece disponível apos ter executado os comandos solicitados.



Caso eu tenha feito algo errado repito os passos, pois o meu skype aparece dessa forma no link que busquei dentro do diretório:

/usr/bin/skypeforlinux %U

Obs: Tenho as duas localizações dentro do diretório, sendo:
/usr/lib/i386-linux-gnu/libv4l
e
/usr/lib/x86_64-linux-gnu/libv4l

Mas, com esta situação i386 e amd64 eu havia executado, menos a X86_64.

Serial

druidaobelix

Citação de: Serial online 08 de Março de 2017, 23:22
Aparece a mensagem abaixo no terminal

(gedit:21689): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

** (gedit:21689): WARNING **: Set document metadata failed: Não há suporte à definição do atributo metadata::gedit-spell-enabled

** (gedit:21689): WARNING **: Set document metadata failed: Não há suporte à definição do atributo metadata::gedit-encoding

** (gedit:21689): WARNING **: Set document metadata failed: Não há suporte à definição do atributo metadata::gedit-spell-enabled

** (gedit:21689): WARNING **: Set document metadata failed: Não há suporte à definição do atributo metadata::gedit-encoding

** (gedit:21689): WARNING **: Set document metadata failed: Não há suporte à definição do atributo metadata::gedit-position

Essas mensagens de WARNING não são importantes, é apenas porque está usando o sudo numa interface gráfica quando deveria estar usando o gksudo, mas não influencia em nada na questão sob comento.
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

Citação de: Serial online 08 de Março de 2017, 23:22
Obs: Tenho as duas localizações dentro do diretório, sendo:
/usr/lib/i386-linux-gnu/libv4l
e
/usr/lib/x86_64-linux-gnu/libv4l

O caminho i386 é a bilbioteca 32-bit que havia sido adicionada, a outra x86_64 é a 64-bit normal.

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.