Transmitindo vídeo de eventos ao vivo via Internet com GNU/Linux 
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).
[ Hits: 198.715  ]
Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 03/06/2005   | Blog: http://assuntonerd.com.br 
 
 
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.
  
 
 
 
      
Páginas do artigo
   1. Introdução
   2. 
Download e instalação 
   3. 
Conceitos de funcionalidade 
   4. 
ffserver: configurando o padrão de vídeo  a ser transmitido 
   5. 
Executando o pacote como um daemon 
   6. 
Colocando no ar o servidor de vídeo 
Outros artigos deste autor
 
 
 
 
 
Leitura recomendada
 
 
 
 
 
Comentários
	
		
		
	
	
	
	
	
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							É 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 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Gostaria de saber porque o pessoal gosta tanto do tema do Mac OS X?
:)
Parabéns Cabelo!
Belo artigo!
Flowz!
 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Nota deeeeeeeeezzzzzzzzzzzzzzzzzzzzzz! 
:)
Alessandro 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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? 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
		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.
	
 
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Boa cabelo !!!
Muito bom o artigo e agora eu vou testar essa parada com minha DC10+ da Pinnacle, creio eu que deva funcionar... 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Alguem sabe qual o consumo de banda para conseguir uma reprodução satisfatória? 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Oi eu vi sim mais ou menos 60Kbps por usuário.....
Mas isso depende das conf que vc determina no arquivo... 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							muito legal utilíssmo!!! 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		[*****] 
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							cabelo fiz com minha web cam ficou do caralho
mais com a placa de tv a imagem nao apareceu 
ficou quadrinhos
 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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 :) 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Eu preciso de um vide sobre linux até segunda feira. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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!!!! 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							 Cabelo,
estou precisando retransmitir o sinal que irei receber de um servidor de stream de video,
vc pode me dar alguma dica?
 Atenciosamente,
Leonardo. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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
 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
		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... 
	 
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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-ffserver-patch-found-910731/
 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
		Boa Noite a todos!
Achei interessante o seu artigo, mas não instalei porque eu fiquei com uma dúvida quanto transmissão ao vivo. Tem como usá-lo para transmitir direto no youtube?
Pergunto isso porque no link 
https://support.google.com/youtube/answer/2907883  necessita de um codificador de transmissão ao vivo, porém, na lista deles não tem opção para linux, para androide sim (chegou perto rsrs).
Desde já eu agradeço mais uma vez ao Viva o Linux mais uma vez e também ao Cabelo pelo post!
	
 
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Boa Noite a todos!
Achei interessante o seu artigo, mas não instalei porque eu fiquei com uma dúvida quanto transmissão ao vivo. Tem como usá-lo para transmitir direto no youtube?
Pergunto isso porque no link https://support.google.com/youtube/answer/2907883 necessita de um codificador de transmissão ao vivo, porém, na lista deles não tem opção para linux, para androide sim (chegou perto rsrs).
Desde já eu agradeço mais uma vez ao Viva o Linux mais uma vez e também ao Cabelo pelo post! 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
		
		[24] Comentário enviado por rjsamir em 20/02/2016 - 21:33h
		
		Boa Noite a todos!
Achei interessante o seu artigo, mas não instalei porque eu fiquei com uma dúvida quanto transmissão ao vivo. Tem como usá-lo para transmitir direto no youtube?
Pergunto isso porque no link 
https://support.google.com/youtube/answer/2907883  necessita de um codificador de transmissão ao vivo, porém, na lista deles não tem opção para linux, para androide sim (chegou perto rsrs).
Desde já eu agradeço mais uma vez ao Viva o Linux mais uma vez e também ao Cabelo pelo post!
	
O Open Broadcaster Software tem para Linux.
	
 
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							[quote]
		[24] Comentário enviado por rjsamir em 20/02/2016 - 21:33h
		
		Boa Noite a todos!
Achei interessante o seu artigo, mas não instalei porque eu fiquei com uma dúvida quanto transmissão ao vivo. Tem como usá-lo para transmitir direto no youtube?
Pergunto isso porque no link https://support.google.com/youtube/answer/2907883 necessita de um codificador de transmissão ao vivo, porém, na lista deles não tem opção para linux, para androide sim (chegou perto rsrs).
Desde já eu agradeço mais uma vez ao Viva o Linux mais uma vez e também ao Cabelo pelo post!
	[/quote]
O Open Broadcaster Software tem para Linux. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
Contribuir com comentário 
 
Enviar