Streaming Vídeos

De Babel Digital
Diagrama geral do funcionamento do streaming

Fazer streaming de vídeo em tempo real é um excelente maneira de publicizar reunião, palestras, oficinas e eventos de modo geral. Há algum tempo, executar essa tarefa em sistemas GNU/Linux não era muito fácil para usuário principiantes, mas, com o desenvolvimento de determinadas ferramentas, o processo se tornou bastante facilitado. Nesse tutorial há um passo-a-passo de como fazer um stream de vídeo, ao vivo, usando uma pequena câmera de mão (Hand cam) e um notebook com entrada firewire. Vamos lá.

Hardwares necessários

Cabo Ethernet - cat5
  • Banda larga estável, preferencialmente via cabo, com 2Mb de velocidade ou superior (embora se recomende o uso de banda via cabo, ethernet, é possível fazer streaming com wireless, desde que o sinal seja estável e a banda corresponda em velocidade);


  • 1 Câmera mini DV ou HD, com entrada firewire;
Câmera mini dv Sony


  • 1 Cabo firewire (pode ser 4x4 ou 6x4, dependendo de como será a entrada de seu computador);

Cabo firewire com pontas 4 x 4.

Cabo firewire com pontas 6 x 4.


Notebook Le novo usado para fazer o streaming como exemplo desse tutorial.

  • 1 computador com seguintes itens mínimos:

  • entrada firewire (se for desktop, em geral, terá a entrada firewire 6, para cabos 6x4. Se for notebook terá uma entrada firewire 4 para cabos 4x4);

  • 1 sistema GNU/Linux instalado, como Debian, Ubuntu ou Arch Linux ou outro que o valha (vale ressaltar que esse tutorial está elaborado para qualquer sistema gnu/linux, mas também funciona em sistemas com outras interfaces, ex: KDE/Linux, XFCE/Linux, etc. Na verdade funciona em qualquer sistema Linux em que seja possível instalar os softwares necessários, não necessitando, portanto, de uma interface gráfica, pois o processo de streaming é feito no terminal de comandos.);

  • 1 entrada de rede 10/100Mb ou superior(pode ser uma entrada ethernet para o caso da banda via cabo ou uma placa de rede wireless para o caso do streaming ser feito via wireless);

  • processador de 2.0Ghz ou superior;

  • 1 Gb de ram ou superior;

Softwares necessários

  • dvgrab software de captura de vídeo, via linha de comando, que captura .dv ou .mpeg-2 através da porta firewire. Como instalar? Digite no terminal de comandos, logado como root:

# apt-get install dvgrab

Instalação do dvgrab no ubuntu 10.04

  • ffmpeg - software de conversão de formatos de vídeo. Como instalar? Digite no terminal de comandos, logado como root:

# apt-get install ffmpeg


Instalação do ffmpeg no ubuntu 10.04

  • ffmpeg2theora - software de conversão de formatos de vídeo. Como instalar? Digite no terminal de comandos, logado como root:

# apt-get install ffmpeg2theora

Instalação do ffmpeg2theora no ubuntu 10.04

  • Oggfwd - software que lê um stream Ogg e encaminha para um servidor específico. Usado, em geral, com icecast. Como instalar? Digite no terminal de comandos, logado como root:

# apt-get install oggfwd


Instalação do oggfwd no ubuntu 10.04

Executando Streaming

Para executar o stream, será necessário ter, além do computador (broadcaster) conectado a câmera (hand cam), um servidor (streaming server) que possa receber o vídeo e distribuir para os computadores que irão assistir a transmissão. Nesse tutorial vamos usar o streaming server do Estúdio Livre mas você poderá usar outro, se assim preferir.

- Abra uma conta no Estúdio Livre e crie um canal de streaming.


  • Logue com seu usuário ou crie uma conta:

Login e/ou criação de conta no Estúdio Livre

  • Clique no perfil de seu usuário para ir para
sua página pessoal:

Página do usuário no Estúdio Livre

  • Crie um novo canal de transmissão ao vivo. Em “Canais de transmissão ao vivo” clique em “criar novo canal”.

Crianção de um canal de transmissão no streaming server do Estúdio Livre

- Conecte a câmera ao computador (broadcaster) e cheque se ela está capturando vídeo. Você pode usar o software kino para isso, mas lembre-se de fechá-lo depois da checagem pois com o kino aberto não será possível fazer o streaming.


Abra um terminal e execute o seguinte comando:

# dvgrab --format raw -| ffmpeg2theora -f dv -H 22050 -a 0 -v 2 -x 320 -y 240 -o /dev/stdout -| oggfwd estudiolivre.org 8000 xxxxxx /nosdigitais

Sobre o comando executado

Streaming info gráfico.png


Como assistir ao Streaming?

Tela de vídeo .ogg de streaming diretamente visualizado pelo navegador

Este tutorial dá como exemplo a transmissão de um streaming de vídeo livre no formato livre .ogg. O formato .ogg é lido naturalmente por qualquer navegador de internet que possua suporte a html5. Recomanda-se, portanto, o uso do navegador firefox 3.5 ou superior.


Você poderá assistir o vídeo transmitido, no navegador ou em algum software que toque fluxo de vídeo em stream (como VLC ou Totem), diretamente pelo endereço:



Você verá um player como este ao lado. Para colocar o vídeo em uma página web, use este canal de transmissão e insira algum player em sua página html.

Gravando uma cópia do arquivo de vídeo

  • Para fazer uma cópia do vídeo que está sendo filmado durante o streaming, você pode usar o seguinte comando:

# tee /home/usuario/arquivo-de-video(.dv/.ogg)

  • Proceda assim, encaixando o comando tee entre a captura (dvgrab) e a conversão (ffmpeg2theora) :

# dvgrab --format raw -| tee /diretorio-onde-será-armazenado-o-video/arquivo-de-video(.dv/.ogg) -| ffmpeg2theora -f dv -H 22050 -a 0 -v 2 -x 320 -y 240 -o /dev/stdout -| oggfwd estudiolivre.org 8000 xxxxxx /nosdigitais



Dúvidas? Entre em contato ou escreva no fórum.