Ubuntu 12.04 posts #16 e #17 - Webcam Quickcam Express gspca e qc-usb

Iniciado por boladegude, 01 de Julho de 2009, 00:37

tópico anterior - próximo tópico

boladegude

#15
[Editado: para ver a faixa de valores de exposure para sua webcam específica instale o programa guvcview. ]

Botão no painel de controle para ajustar a exposição da webcam.

Crie o seguinte script e coloque na pasta ~/bin.
Leia as instruções no script.

#!/bin/bash

# Nome deste script: set_exposure
# Script para ajustar a exposição da webcam

# Crie o seguinte lançador de aplicativos personalizado no painel de controle
# Nome: Set exposure
# Comando: set_exposure
# Comentário: Ajusta a exposição da webcam

exposure=`zenity --entry --title "Set exposure" --text "Excesso de exposição pode\ndanificar a webcam.\nExposição máxima 255."`

# para string vazia e valores não numéricos o let torna o valor igual a zero
let exposure=exposure

# Limite para Quickcam Express Plus. Adapte para outras webcams.
if [ $exposure -ne 0 -a $exposure -lt 256 ]
then
 set_exposure_no_autogain /dev/camera $exposure
fi
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

#16
Olá,

(nota: a máquina citada neste post é amd64)

No Ubuntu 12.04 (precise pangolin) não foi necessário desabilitar o autoganho (autogain) e utilizar set_exposure_no_autogain para controlar a exposição da quickcam express.
Aqui a camera funcionou normal de saída com o guvcview, só tive que passar o parâmetro -d /dev/meu_dispositivo_camera para o guvciew.

camorama e cheese não funcionaram.

[ Skype ]
Caso você não tenha tido o azar de realizar o comando...
sudo apt-get install lib32v4l-0
então pule todo texto abaixo e vá direto para adiante onde diz *** INSTALAÇÃO

ATENÇÃO:

Esta solução retirada de...
Ref: http://askubuntu.com/questions/115880/spc-300nc-webcam-doesnt-work-on-64-bit-ubuntu-11-10
... me causou problemas ao instalar o medibuntu.
Matou o som do meu Precise Pangolin !!!

NÃO INSTALE ISSO (o que está tachado abaixo)!
Vou ver o que faço aqui no meu computador para tentar reverter.
Se conseguir, publico aqui!
Espero não ter que formatar.


CONSEGUI: (vou relatar o que fiz...)

Depois de ter instaldo lib32v4l-0 via apt-get no Ubuntu 12.04 segundo o link mencionado acima:

a)
Foi instalada toda (inteira) a biblioteca ia32-libs. Ora, o pacote lib32v4l-0 não é o pacote correto.
O pacote correto é libv4l-0:i386.

[ cuidado aqui, mas: para reproduzir este passo sem instalar o Medibuntu talvez baste remover ia32-libs via synaptic ]
b)
Mais tarde...
Instalei o Medibuntu e respondi sim a todas as perguntas (recomendado).
(Nota: instalei o Medibuntu segundo o link... http://ubuntuforum-br.org/index.php?topic=96244.msg528845#msg528845)
Com isso a biblioteca ia32-libs foi removida inteira do meu Ubuntu. Viva!!!
Além disso, o Medibutnu matou todos os sons do sistema exceto o som da entrada de linha.
Vou relatar tudo o que tentei até recuperar meu som sem formatar o computador...

[ Enquanto realizava os passos abaixo também fiz uma atualização pelo "Gerenciador de atualizações" que atualizou o kernel, e possivelmente devolveu a biblioteca de 32 bits original do Ubuntu 12.04. Para reproduzir esse passo talvez você tivesse que fazer um reinstall do kernel, (não direi como fazê-lo, pois não sei ao certo). Mas acho melhor apenas ir no synaptic e instalar libv4l-0:i386... isso já vai recuperar as parte da biblioteca :i386 necessárias). ]

1)
Tentei o seguinte sem sucesso:
rm -r ~/.pulse ~/.asound* ~/.pulse-cookie
sudo rm /etc/asound.conf
(ignore mensages de "arquivo não encontrado")
Reboot
Ref: http://ubuntuforums.org/showpost.php?p=10907007&postcount=10

2)
Reinstalei alsa e não adiantou:
sudo apt-get install aptitude
sudo aptitude --purge reinstall linux-sound-base alsa-base alsa-utils linux-image-`uname -r` linux-ubuntu-modules-`uname -r` libasound2
Dê REBOOT
Ref: http://askubuntu.com/questions/52868/my-sound-and-alsa-has-gone-when-i-installed-realtek-drivers

3)
Reinstalei pulseaudio assim e funcionou (OK):
sudo apt-get remove pulseaudio
(removi skype e skype-bin:i386 pelo synaptic)
Reinicie o sistema.
Reinstale o indicador de som do painel de controle (o restante é instaldo):
sudo apt-get install indicator-sound
(reinstalei o skype pela central de programas)
Dê reboot.
O indicador de som apareceu.
[ Editado 01 : o teste de som não funcionava... instalei libcanberra-pulse e OK ]
Iniciei o skype e não tinha mais som de eventos.
Vá no menu Opções do skype. Selecione controles de som, ponha tudo para default (no meu caso era a primeira linha da lista).
Testei o som de eventos - Sem som ... Editado 01  acima resolveu o problema OK.
Fiz teste de chamada - com som OK
Ref: http://ubuntuforums.org/showpost.php?p=11799435&postcount=7
[Ocorreu um problema... confusão entre os controles de mixer master, pcm e pulseaudio. Solucionado no próximo passo]

4)
Caso tenha surgido confusão no mixer entre master, pcm e pulseaudio, oriente-se pelo tópico a seguir, que pode ser um pouco diferente na sua máquina...
http://ubuntuforum-br.org/index.php?topic=95755.0

FIM. Isso resolve o problema criado pelo método abaixo.
Depois de todo problema que tive, relatado acima, modifiquei o
método abaixo. Espera-se que assim estes problemas sejam evitados

Ref [ Editado 01  (obrigado m45t3r, post #3) ]: http://www.hardware.com.br/comunidade/problemas-pulseaudio/1112848/

*** INSTALAÇÃO:

Obs:
O skype do repositório é 32 bits. Para instalá-lo, vá na central de programa e digite skype. Você vai ver que não tem botão de instalação. Dê duplo clique nessa faixa do skype que abrirá a instalação automática do repositório e do programa skype.

Na minha máquina 64-bits, para poder funcionar a quickcam express no skype instalado, alterei o script skype-wrapper do post #13 assim...

Para resolver isso crie um wrapper a mão, assim:

1)
Crie a pasta ~/bin se já não existir.
De reboot no computador.

2)
Depois de toda essa maratona, "ufah!!!", instale
libv4l-0:i386
via synaptic
sudo apt-get install lib32v4l-0
(não aparece no synaptic)

3)
gedit ~/bin/skype-wrapper
... e cole isto...
#!/bin/bash
export LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so
! ps -C skype && skype &

(salve)

4)
Vá na pasta bin, clique com o botão direito do mouse em cima do script skype-wrapper, propriedades, vá na aba permissões e dê permissão para execução.

5)
Agora vá no Menu principal.
(veja como fazer isso no Pangolin em http://ubuntuforum-br.org/index.php?topic=95675.new#new)
Vá em Menus: Aplicativos > Internet.
Clique em Skype e abra as Propriedades.
Em Comando: substitua skype por skype-wrapper.

6)
Se quiser mova skype do menu dash para o lançador da área de trabalho.

7)
Entre no skype e digite sua senha.
Abra Opções no menu do Skype e ajuste o dispositivo correto da camera no menu Video.

Ref: http://askubuntu.com/questions/115880/spc-300nc-webcam-doesnt-work-on-64-bit-ubuntu-11-10
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

#17
Scripts para webcam (+placa de tv) para Ubuntu 12.04 Precise Pangolin
[ para Ubuntu 10.04 veja post #10 ]

Criei scripts que permitem que você execute comandos automaticamente quando a webcam é inserida e quando é retirada.
Resolvem também o conflito gerado pela troca entre /dev/video0 e /dev/video1 nas várias inicializações do Ubuntu. Resolvido renomeando estes dispositivos para /dev/camera e /dev/tv

Já tem comandos colocados para:
1) colocar um ícone na área de notifição quando a camera está inserida e retirar o ícone quando a camera é retirada
(veja bem que esse comando indica se a camera está inserida, mesmo que ela não esteja ligada)
2) colocar um double buffer na quickcam, para cheese e outros
3) desativar o debug da quickcam para não ficar listando lost frames

(ícone monitor da sua câmera e outros)
Você pode colocar outros comandos.

Quanto aos itens 2 e 3), se você utilizar o driver gspca ao invés de quickcam eles apenas não terão efeito.
Estes itens foram comentados (#).
Caso queira utilizar o driver quickcam, descomente-os (retire o #).
Observe que o driver gspca, que já vem por default, funciona excelente no Ubuntu 12.04.

baixe os scripts quickcam e tv para pangolin do link...
http://www.divshare.com/download/24671810-82b

[ de reboot após instalar tudo ]



[ Editado 21/10/2013:

Ocorreu que o número do {device} do PCI mudou de 0x4397 para 0x4396.
Então não é um parâmetro bom para usar pois muda de tempos em tempos.

1)
Na regra que cria o link simbólico chamado "camera", substituí o parâmetro {device} e {vendor} do PCI, que são variáveis, pelos ids da câmera que são absolutamente invariáveis, assim...
script 75-quickcam_usuario.rules:
# essa é a regra da webcam
KERNEL=="video*", SUBSYSTEM=="video4linux", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="0840", SYMLINK+="camera"

(Note que têm que ser os ids da câmera e não do host controller)

2)
Na regra que coloca e retira o ícone da câmera no painel de controle, quando ela é inserida ou retirada, os ids da câmera não funcionaram, pois ao retirar a câmera o ícone não é retirado do painel de controle.
A solução que achei foi colocar apenas o ENV que já diz que é a "Logitech QuickCam USB".
Depois na ACTION apenas o KERNEL=="video*"
E evitei também aqui colocar o parâmetro {vendor} e {device} do PCI, pois pelo menos o {device} se modifica de tempos em tempos. A regra ficou assim...
script 91-quickcam_usuario.rules:
ENV{ID_V4L_PRODUCT}=="Logitech QuickCam USB"
ACTION=="add", KERNEL=="video*", RUN+="/bin/bash -c '/usr/local/bin/comandos_quickcam_in.sh'"
ACTION=="remove", KERNEL=="video*", RUN+="/bin/bash -c '/usr/local/bin/comandos_quickcam_out.sh'"

Agora sim esse modelo de regra está bem consistente.
E você pode usar esse modelo para controlar a inserção remoção de outras câmeras também, da mesma forma.
Testei com uma Multilaser e funcionou perfeitamente utilizando o mesmo esquema mostrado aqui em 1) e 2).

]



[ Editado:
No script 75-quickcam_usuario.rules colocado em /etc/udev/rules.d
tive que colocar mais um symlink...
... , SYMLINK+="camera", SYMLINK+="video20"
... porque o programa guvcview não aceita nomes diferentes do padrão "videoN" para dispositivo (grrrh!).
Ou seja, o comando
guvcview -d /dev/camera
não é aceito por guvcview
... tive que colocar
guvcview -d /dev/video20
]


[ Editado:
Para ativar as regras (rules) sem reboot...
sudo service udev restart
sudo udevadm control --reload-rules
... estava faltando o primeiro comando.

E para saber a variável de ambiente a colocar antes de ACTION=="add"/"remove"...
sudo udevadm info --query=env --name='/dev/seu_dispositivo'
]

Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

#18
Atenção!
Se você instalou o skype-wrapper para o skype segundo o post #16 deste tópico,
então, leia o que está Editado no post #16!
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

#19
Atenção!
Solucionei o problema gerado pelo post #16...
skype-wrapper para quickcam express com lib32v4l-0 (pacote incorreto)
... sem formatar.
A solução está Editada no post #16
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

#20
Olá,

Tem uma correção importante no post #17 que corrige um problema de consistência nas regras de udev para a câmera QuickCam Express.
As regras são para...
1) Criação de link simbólico para a câmera.
2) Colocação e retirada de ícone no painel de controle quando a câmera é inserida e retirada.
As regras, agora bem corretas, podem ser utilizadas também para outros modelos de câmera.

Veja a correção no post #17 onde diz em azul...
[ Editado 21/10/2013:
...
]
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.