imprimir

Habilitando a placa de captura de seu computador (IEEE1394 / firewire)






Introdução


Um dos problemas mais comuns na hora de capturar seu vídeo, isto é, de passar o vídeo de sua câmera para o computador, é quando a placa de captura (IEEE1394, também conhecida como firewire) está desabilitada. Esta página contém dois tutoriais simples que permitirão a você habilitá-la, escolha o de sua preferência.


Para usuários de Ubuntu (Feisty)


Se você instalou seu Ubuntu com a placa já espetada no seu computador, ela deve funcionar sem grandes problemas. Para testar, ligue a camera com o cabo firewire, inicie o Kino e tente capturar.

Nota: Se você iniciar o kino sem ter ligado nenhuma câmera, aparecerá o erro de que o módulo não existe (o mesmo erro de quando a placa ainda não está funcionando corretamente. Isso é porque o Ubuntu carrega os modulos assim que ele detecta a camera, portanto espete a camera antes de iniciar o kino).

Existe um ajuste apenas a ser feito. Na maioria dos computadores, rodando o kino como usuári normal, você vai ser capaz de capturar vídeo, mas não vai conseguir controlar a camera pelo programa. Isso é porque, por padrão, o ubuntu não coloca seus usuários no grupo DISK. Para fazer isso abra o arquivo group:


sudo gedit /etc/group


E procure pela linha onde se lê:


disk:x:6:


Adicione a essa linha o nome do usuario que você quer que tenha acesso a esse recurso, digamos que o nome do usuário seja "livre". Então ficaria assim:

disk:x:6:livre


Salve o arquivo. Talvez você tenha que reiniciar o computador para que essa alteração tenha efeito.

Nota: Não é preciso fazer qualquer alteração nas preferências do kino. Ele deve ler a firewire em /dev/dv1394/0


Um procedimento bem simples (tutorial 1)


Crie um arquivo de texto na sua Área de Trabalho ("Desktop"). Abra-o e copie o seguinte conteúdo para dentro dele:


#!/bin/sh

mknod -m 0666 /dev/raw1394 c 171 0
mknod -m 0666 /dev/video1394 c 172 0
mknod -m 0666 /dev/dv1394 c 171 32
#para capturar em PAL, comentar a linha acima e descomentar a abaixo
#para capturar en PAL, comentar la línea de arriba y descomentar 
#la de abajo
#mknod -m 0666 /dev/dv1394 c 171 34

mknod -m 0666 /etc/udev/devices/dev/raw1394 c 171 0
mknod -m 0666 /etc/udev/devices/dev/video1394 c 172 0

/sbin/modprobe ieee1394
/sbin/modprobe ohci1394
/sbin/modprobe raw1394
/sbin/modprobe dv1394
/sbin/modprobe video1394

echo "se nao funcionar a captura em debian stable, especialmente em
kernels mais antigos, mudar em Preferences/IEEE1394 o driver de 
captura para DV1394 e escrever no campo ao lado /dev/dv1394"

echo "si la captura no funciona en la distribución debian estable,
especialmente en kernel más antiguos, cambiar en Preferencias/IEEE1394
el driver de captura a DV1394 y escribir en el campo siguiente 
/dev/dv1394"



Com isso, você acaba de criar um script. Ele será responsável por informar a seu computador todos os módulos que ele terá de usar para capturar um vídeo usando a placa de captura. Se, no primeiro passo, você criou o arquivo de texto com alguma extensão, troque a extensão para sh - isto é: digamos que você tenha criado um arquivo chamado "firewire.txt", troque o ".txt" do nome do arquivo por ".sh" e seu script estará pronto!

Agora, você só tem que rodar o script para ele funcionar. Entre em um terminal ("shell") e, como usuário root, vá para o local onde você criou seu arquivo (no nosso exemplo, o Desktop):

cd /home/nomedeusuário/Desktop
Onde o nomedeusuário é o que você estiver usando no momento (mude o campo de acordo com o seu). Usando o nosso exemplo, onde o nome do arquivo criado é "firewire.sh", rode o script usando o comando:

sh firewire.sh
Onde firewire.sh é o nome que você deu ao arquivo que criamos para fazer o script (mude o campo de acordo com o nome que você deu ao arquivo).

É isso! A única observação importante é que você deve rodar este script sempre que iniciar seu computador, já que, a cada vez que desligá-lo, os módulos carregados por ele serão descarregados.

Se você quiser carregar automaticamente os módulos deste script quando o computador for iniciado, siga os próximos passos (para distribuições baseadas em Debian):

1. Como root, copie o script para a pasta /usr/bin;

2. Ainda como root, edite com um editor de texto o arquivo /etc/init.d/bootmisc.sh. Você deve adicionar a seguinte linha antes de ": exit 0", que aparece na última linha deste arquivo:
sh /usr/bin/firewire.sh


3. Salve este arquivo.

4. Você precisa agora dar permissão de uso para o módulo raw1394 a todos os usuários. Para isso, use:
chmod 777 /dev/raw1394
Se aparecer algum erro dizendo que o módulo não está carregado, rode o script conforme vimos acima (sh /usr/bin/firewire.sh) e, depois, dê a permissão com:
chmod 777 /dev/raw1394




Tutorial de Karinna Bueno (tutorial 2)


problemas para subir a placa de captura?

segue aqui um script escrito pelo Claudio Filho (BROffice.org) que pode ajudar, na La Bruja minha máquina ele fez um programinha que executo cada vez que quero subir a firewire, funciona que é uma beleza!! Boa Sorte!!
Karinna Bueno (:biggrin:)

No FISL, eu quebrei um galho com o fireware.sh. Gostaria de explicar + ou - como a coisa funciona.

O que é o fireware.sh?


é um script, isto é, um pequeno programinha feito com uma sequência de comandos q poderiam ser digitados no shel. Por isso de se chamar "shell script". Ele contém 2 linhas:

#!/bin/sh
mknod -m 666 /dev/dv1394 c 171 32


vc pode criar este arquivo através do comando:

# vim /etc/init.d/fireware


Abrirá o VIM (editor texto), pressione a tecla INSERT, digite as duas linhas acima e pressione ESC, seguido de :x (dois pontos e X), q irá salvar e sair do VIM. Depois, tem q dizer pro linux q é um comando, através do comando:

# chmod +x /etc/init.d/fireware


Para que inicie automaticamente, toda vez q ligar o computador, digite este comando:

# update-rc.d fireware 20 start 2 3 4 5 . stop 0 1 6 .


Observe q no fim tem um ponto(.) tb. Com isso, toda vez q ligar teu computador, o linux automaticamente irá executar este comando(fireware).

Pra que tudo isso?


Para o debian puro, não seria necessário executar este comando mais q uma vez, no entanto, algumas pessoas tem o hábito de instalar o 'udev', pacote q gerencia dispositivos, mas ele é meio estranho. Por padrão, no Ubuntu, tem o udev instalado. Esse cara reconstrói o conteúdo da pasta /dev. O fireware CRIA um controlador dentro da /dev, q o udev não acha. O udev é um programa muito bom, porém, não consegue entender o fireware. Nada q essa dica não resolva, ok? ;)


Só isso q eu preciso?

Acredito q sim. Se vc estiver instalado o pacote 'hotplug' e tendo o kernel 2.6.x, será o suficiente. Para saber essas informações, digite:

# uname -a

Linux optimus 2.6.11-1-cff #1 Sat Jun 11 09:27:28 AMT 2005 i686 GNU/Linux

Viu? No *meu* computador, é o kernel 2.6.11. Para saber se tem hotplug:

# dpkg -l hotplug


Desejado=U=Desconhecido/Instalar/Remover/aPagar/H=Manter
| status=Não/Instalado/arquiv.-Config./U=Descomp./Falhou-config/H=semi-inst.
|/ Erro?=(nenhum)/H=Mantido/precisa-Reinst./X=os dois problemas
(status,Erro: maiúsculas=ruim)
/ Nome Versão Descrição
+++-============-========-======================================
/ Nome Versão Descrição
+++-========-========-========================================= ii hotplug 0.0.20040329-2 Linux Hotplug Scripts

no meu tem. Se no teu NÃO TEM, digite:

# apt-get install hotplug


com isso, deve dar pra funcionar legal. ;)



IEEE 1394 (FireWire) support

outro script de suporte para a fire wire

#
# IEEE 1394 (FireWire) support
#
CONFIG_IEEE1394=m

#
# Subsystem Options
#
# CONFIG_IEEE1394_VERBOSEDEBUG is not set
# CONFIG_IEEE1394_OUI_DB is not set
CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
CONFIG_IEEE1394_CONFIG_ROM_IP1394=y

#
# Device Drivers
#
CONFIG_IEEE1394_PCILYNX=m
CONFIG_IEEE1394_OHCI1394=m

#
# Protocol Drivers
#
CONFIG_IEEE1394_VIDEO1394=m
CONFIG_IEEE1394_SBP2=m
# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
CONFIG_IEEE1394_ETH1394=m
CONFIG_IEEE1394_DV1394=m
CONFIG_IEEE1394_RAWIO=m
CONFIG_IEEE1394_CMP=m
CONFIG_IEEE1394_AMDTP=m

Última alteração: 20/04/2009 às 20:58, por: vitoriamario