Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Slackware - kde 352
Por kram3r
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Transmitindo vídeo de eventos ao vivo via Internet com GNU/Linux
Linux user
CABELO
03/06/2005
Neste artigo o portal Viva O Linux irá proporcionar conceitos para transmissão de áudio e vídeo ao vivo via Internet, usando um servidor Linux. Acredito que, com este documento, falta de conhecimento não será argumento para a não transmissão ao vivo de eventos open-source (palestras, congressos, install fests e outros).
Por: Alessandro de Oliveira Faria (A.K.A. CABELO) | Blog: http://cabelovivaolinux.wordpress.com/
[ Hits: 114496 ]
Conceito: 9.3   3 voto(s)3 voto(s)3 voto(s)3 voto(s)3 voto(s) + quero dar nota ao artigo

Introdução

FFmpeg é uma solução completa para gravar, converter e transmitir audio e vídeo. Este pacote inclui a biblioteca libavcodec, responsável pelos codecs de audio/video. FFmpeg é desenvolvido sob GNU/Linux, mas pode compilado sob a maioria de sistemas operacionais, incluindo Microsoft Windows.

Componentes do pacote FFmpeg

  • ffmpeg é um utilitário para a linha de comando que possui a função de converter um formato de vídeo para outro. Vale à pena lembrar que este programa suporta também a captura e codificação em tempo real de uma placa de TV ou webcam.
  • ffserver é um programa servidor para transmitir de audio e vídeo via protocolo HTTP.
  • ffplay é um player simples para o modo console que utiliza a biblioteca SDL com as bibliotecas FFmpeg.
  • libavcodec é uma biblioteca que contém todos os codificadores e decodificadores de audio/vídeo do pacote FFmpeg .
  • o libavformat é uma biblioteca que contém analisadores e geradores de diversos formatos de audio e vídeo.

Próxima página >>




Páginas do artigo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por shocker em 03/06/2005 - 09:30h:

Cabelo, como sempre trazendo novidades legais e úteis!
Parabéns!

[]'s
Alan Cota.

[2] Comentário enviado por gigiow em 03/06/2005 - 10:24h:

É entre estas e outras que o linux mostra a sua força e evolução!

Valeu Cabelo....parabéns!

e para usuarios debian:
apt-get install ffmpeg

[]'s
Giovanni Victorette

[3] Comentário enviado por eneiasramos em 03/06/2005 - 20:23h:

Gostaria de saber porque o pessoal gosta tanto do tema do Mac OS X?

:)

Parabéns Cabelo!

Belo artigo!

Flowz!


[4] Comentário enviado por sniper em 03/06/2005 - 22:42h:

Nota deeeeeeeeezzzzzzzzzzzzzzzzzzzzzz!


:)
Alessandro

[5] Comentário enviado por daaugusto em 04/06/2005 - 17:39h:

Interessante! Mas não consegui --confesso que não insisti-- colocar o ffmpeg para apontar para minha placa de captura (V4L2) cuja entrada (input) é '2'. Por exemplo, no 'mplayer' ficaria:

$ mplayer tv:// -tv driver=v4l2:input=2

Qual o equivalente ao 'input' no ffmpeg?

[6] Comentário enviado por fabio em 06/06/2005 - 23:35h:

De: Thomas T. Soares
Assunto: Não consigo postar comentário

Sobre este artigo:

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2699

Mesmo tendo me registrado, não consigo postar o seguinte comentário:

-------
Os codecs usados no ffmpeg não são Livres. Sugiro fortemente usar o Theora, único codec Livre para video.
Foi o que usamos para transmitir o FISL 6.0.

[7] Comentário enviado por sergiovl em 05/10/2005 - 11:13h:

Boa cabelo !!!
Muito bom o artigo e agora eu vou testar essa parada com minha DC10+ da Pinnacle, creio eu que deva funcionar...

[8] Comentário enviado por escovadordebit em 11/10/2005 - 17:03h:

Alguem sabe qual o consumo de banda para conseguir uma reprodução satisfatória?

[9] Comentário enviado por coelho.mario em 01/11/2005 - 22:18h:

Oi eu vi sim mais ou menos 60Kbps por usuário.....
Mas isso depende das conf que vc determina no arquivo...

[10] Comentário enviado por casterman em 22/01/2006 - 23:13h:

muito legal utilíssmo!!!

[11] Comentário enviado por globoleo em 05/03/2006 - 07:53h:

cabelo fiz com minha web cam ficou do caralho

mais com a placa de tv a imagem nao apareceu
ficou quadrinhos



[12] Comentário enviado por tiekookeit em 20/04/2006 - 12:13h:

So queria acrecentar uma 2 observações... comigo o comando
ffmpeg http://localhost:8090/feed1.ffm

não funcionou e a entrada

<Stream test.mpg>
Feed feed1.ffm
Format mpeg
VideoFrameRate 3
VideoSize 320x240
VideoBitRate 256
VideoGopSize 12
NoAudio
</Stream>

também não funcionou, mas eu descobri que era pq minha web cam não suportava uma resolução diferente de 176x144 então o que eu fi foi mudar a entrada para

<Stream test.mpg>
Feed feed1.ffm
Format mpeg
VideoFrameRate 3
VideoSize 176x144
VideoBitRate 256
VideoGopSize 12
NoAudio
</Stream>

foi necessário também especificar para o ffmpeg o formato do stream...
ffmpeg -s 176x144 -f mpeg http://localhost:8090/feed1.ffm

so postei isso aki pq levei um tempão para decobrir isso, tava quase desistindo... talvez ajude alguem :)

[13] Comentário enviado por joaopaulos em 28/07/2006 - 22:15h:

Eu preciso de um vide sobre linux até segunda feira.

[14] Comentário enviado por fredaum em 31/10/2006 - 15:54h:

o meu fica uma tela azul -.-

eh uma placa de cameras com 4 entradas, alguém tem idéia de como especificar cara uma e para capturar

[15] Comentário enviado por rmachado em 16/01/2007 - 08:42h:

Tudo bem cabelo?
Olha só cara queria saber se dá para colocar um video que está no meu hd? se sim onde especifico o caminho do video?
Valeu brother!!!!

[16] Comentário enviado por sgtmaia97 em 02/04/2007 - 23:05h:

olá cabelo, cara estou ansioso em ver esse ótimo tutorial rodar na minha maquina, não sei porque não funfou.

veja o ffserver starta legal mas.....
o ffmpeg apresenta.

kurumin@kurumin:~$ ffserver -f /etc/ffserver.conf
kurumin@kurumin:~$ ffmpeg http://localhost:8090/feed1.ffm
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --prefix=/usr --libdir=${prefix}/lib --shlibdir=${prefix}/lib --incdir=${prefix}/include/ffmpeg --enable-shared --enable-libmp3lame --enable-gpl --enable-libfaad --mandir=${prefix}/share/man --enable-libvorbis --enable-pthreads --enable-libfaac --enable-xvid --enable-libdts --enable-amr_nb --enable-amr_wb --enable-pp --enable-libogg --enable-libgsm --enable-x264 --enable-liba52 --enable-libtheora --extra-cflags=-Wall -g -fPIC -DPIC --cc=ccache cc
libavutil version: 49.3.0
libavcodec version: 51.38.0
libavformat version: 51.10.0
built on Mar 12 2007 17:49:03, gcc: 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
127.0.0.1 - - [Mon Apr 2 22:56:09 2007] "GET /feed1.ffm HTTP/1.1" 200 4165
127.0.0.1 - - [Mon Apr 2 22:56:09 2007] "GET /feed1.ffm HTTP/1.1" 200 4165
Must supply at least one input file
127.0.0.1 - - [Mon Apr 2 22:56:10 2007] "POST /feed1.ffm HTTP/1.1" 200 0
kurumin@kurumin:~$

cara por favor me dá uma dica do que pode ser.

uso o kuruma 7 final

preciso aplicar isso porque estarei transmitindo um grande evento pela internet, cara preciso fazer isso no linux.

valeu cara

[17] Comentário enviado por brunokino em 07/04/2007 - 02:39h:

kramba... mto bom.. eu ficava preso ao windows utilizando o software Pico2000, gostei mess..

Apesar que andei analizando e encontrei ótimos recursos com a câmera IP..

valewss

[18] Comentário enviado por frenato em 31/03/2008 - 21:05h:

E ai cabelo.
Seu artigo é muito bom. Vc esta de parabens.
Por a caso vc ja viu o VLS é do Projeto VideoLAN?
Eu estou com problemas em instalar e configurar ele.
Se por a caso vc viu ele por favor da uma ajuda de como posso utilizar ele.
Um forte abraço e valew

[19] Comentário enviado por hadesdf em 23/01/2009 - 10:14h:

Cabelo,

estou precisando retransmitir o sinal que irei receber de um servidor de stream de video,
vc pode me dar alguma dica?

Atenciosamente,

Leonardo.

[20] Comentário enviado por LucienJo em 09/04/2010 - 11:38h:

Muito bom post. Gostei.

Sabe me dizer se é possível com isso fazer transmissão ao vivo. E gravar o video que esta sendo transmitido?

Lucien

[21] Comentário enviado por williandiniz em 25/12/2011 - 11:46h:

Alguem ja se deparou como seguinte problema ou tentar iniciar o ffserver:

bind(port 8090): Address family not supported by protocol

estou usando a distribuição Voyage.

[22] Comentário enviado por williandiniz em 25/12/2011 - 19:12h:

Galera, tb estou com o seguinte erro:

http://localhost:8090/feed1.ffm: I/O error occurred
Usually that means that input file is truncated and/or corrupted.

linha de comando que estou executando:

ffserver -f ffserver.conf & ffmpeg -v 2 -r 5 -s 640x480 -f video4linux2 -i /dev/video0 http://localhost:8090/feed1.ffm


[23] Comentário enviado por williandiniz em 26/12/2011 - 12:39h:

Galera, seguinte... Conforme eu tinha postado ai os meus erros, depois de garimpar bastante achei a solução:

Seguinte tive que alterar o arquivo ffserver.c na linha

localizar a linha: my_http_addr.sin_port = htons(val);

abaixo desta linha adicionar a seguinte linha de comado:

my_http_addr.sin_family = AF_INET;

Feito isto recompilar o programa e instalar.

isto resolve o problema de protocolo

O outro problema é pq o server nao estava iniciado.

Fonte: http://www.linuxquestions.org/questions/linux-software-2/bind-port-8090-invalid-argument-error-in-ff...



Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.