SSL FACED
SSL Irecê

III Semana de Software Livre da FACED e
I Semana de Software Livre de Irecê

Transmissão de vídeo

Tudo que você precisa para gerar as imagens é uma câmera digital (pode ser uma handycam mini-dv) com saída firewire (é o mesmo que ilink ou ieee1394) e um computador com no mínimo um Pentium 4 3GHz HT mais uma entrada firewire. Tudo compatível com o GNU/Linux.

Sugestão de placa firewire tipo PCI:

http://www.atera.com.br/dispprod.asp?COD=TFW-H3PI R$ 99,00

Nós estamos utilizando os seguintes programas:

1. dvgrab - captura, grava o vídeo no HD e repassa fluxo de vídeo.

2. ffmpeg2theora - codifica o fluxo de vídeo utilizando o codec livre de patente ogg theora.

3. oggfwd - faz a conexão para a distribuição do fluxo de vídeo através do icecast.

Instalação dos programas:

apt-get install dvgrab ffmpeg2theora oggfwd

O comando para transmitir é esse:

dvgrab --timesys --format raw 3aSSL_Faced_ | ffmpeg2theora -f dv -x 240 -y 160 -v 2 -a 0 -H 11025 -o /dev/stdout - | oggfwd -p 200.128.60.132 8000 xxxxxxx /3assl01.ogg

É uma única linha de comando. Deve ser copiada e colada em um terminal. Se a transmissão e a conexão funcionarem então vai aparecer um link na página:

http://debian.ufba.br:8000/

Esse link deve ser copiado para o VLC Media Player para assistir o vídeo ao vivo capturado pela câmera ligada no computador de transmissão.

http://www.videolan.org/

O totem também pode ser utilizado.

O processo de codificação e transmissão de vídeo consome muitos recursos do computador. Durante uma transmissão a máquina não deve ser utilizada para mais nada.

Detalhes da configuração

Foi necessário reinstalar a máquina cinelerra com o Debian 4.0 r0.

Estou aproveitando para documentar todos os ajustes necessários para conectar a filmadora digital via porta firewire.

O Kino não conseguiu achar a filmadora conectada e ligada. Ele deu uma mensagem de erro sobre o módulo raw1394 do kernel que dá suporte a placa firewire.

Verifiquei que o módulo eth1394 foi carregado automaticamente pelo kernel. Ele permite utilizar a placa firewire como se fosse mais uma placa de rede ethernet.

Descarreguei esse módulo com o comando:

rmmod eth1394

Depois carreguei o módulo raw1394. O kino ainda dá erro.

Verifiquei as permissões do dispositivo:

cinelerra:/home/administrador# ls -l /dev/raw1394 crw-rw---- 1 root disk 171, 0 2007-04-24 15:18 /dev/raw1394

Para usar o dispositivo raw1394 é necessário pertencer ao gupo disk.

Acrescentei o usuário administrador a esse grupo com o comando:

cinelerra:/home/administrador# adduser administrador disk Adding user `administrador' to group `disk' ... Concluído.

O kino continua dando erro.

Depois que reiniciei a máquina o kino conseguiu acesso a filmadora.

Isso já é suficiente para capturar e editar vídeo. Mas não para transmitir pela web.

O problema agora é fazer o dvgrab funcionar. Parece que é um conflito de módulos do kernel.

Consegui fazer o dvgrab funcionar depois de remover os modulos eth1394 e dv1394.

Preciso verificar se é realmente necessário remover dv1394 e se o kino ainda funciona.

Basta remover o modulo eth1394. Coloquei o módulo em /etc/modprobe.d/blacklist para que não seja carregado na inicialização.

Assim a linha de comando abaixo faz a transmissão a partir da máquina cinelerra.

dvgrab --timesys --format raw 3aSSL_Faced_ | ffmpeg2theora -f dv -x 240 -y 160 -v 2 -a 0 -H 11025 -o /dev/stdout - | oggfwd -p 200.128.60.132 8000 xxxxxx /3assl01.ogg

-- HilbertoCosta - 24 Apr 2008

Topic attachments
I Attachment Action Size Date Who Comment
elseEXT blacklist manage 1.4 K 24 Apr 2007 - 18:06 UnknownUser Lista de módulos do kernel que não devem ser carregados