Introdução
Imagine o seguinte cenário:
Você é administrador da rede de uma grande empresa e haverá um evento passando na tv aberta que será permitido que todos os computadores da rede assista ao evento, e você será o encarregado de achar uma solução.
A necessidade
Todos os 3000 funcionarios (numero ficticio) assistir ao jogo de futebol Brasil x Argentina em suas posições de trabalho, ou seja em seus PCs.
Recursos
Você tem os recursos que forem necessários. Se precisar comprar encoders, decoders, equipamentos de recepção de TV, antenas, ETC. Mas quanto menor o custo, melhor. E se possível melhor a qualidade.
Solução
Vamos dividir a soluçao em x partes
- Primeira parte. A recepção do sinal de video.
- Segunda parte. Encoder
- Terceira parte. Transmissão.
- Quarta parte. Recepção
Todas as partes estão relacionadas, uma parte depende da outra.
Primeira Parte
Pode ser via satelite, TV Digital, TV a Cabo, Captura Analogica, ETC.
Vamos parar para pensar: O sinal de video que vou fornecer para os computadores será atravéz da rede, ainda não defini o protocolo pois irei definir na terceira parte, a transmissão, então obviamente será um sinal digital. Temos as seguintes opções de sinal digital. DVB-S (satelite), DVB-C (Cabo), DVB-T (TV Digital).
Vamos separar, Se o sinal de video sair de um decodificador de satelite, a captura será analogica e não DVB-S. Sendo assim para conseguir capturar o sinal do satélite digital necessitaríamos de uma placa de captura especial, mas facilmente encontrada no e-bay.
Uma solução interessante seria usar um receptor de TV Digital.
Existem alguns softwares que recebem sinal de tv digital padrão DVB-T, DVBLast, VLC, Mplayer etc.
Podemos utilizar o VLC no nosso exemplo.
Segunda Parte
O encoder, no caso do receptor de tv digital nao necessitariamos pois o sinal de video ja viria encapsulado no TS. Mas se utilizar outro meio de recepcao analogico ou dispositivos que decodificam o sinal então necessitariamos de um encoder.
Terceira Parte
A transmissão. Nesse momento voce pode escolher por utilizar http, udp, rtp, multicast.
Exemplos:
- Se transferir via http ou multicast, apenas os usuários que estiverem requisitando, vão onerar sua rede.
- Se transferir via udp no endereço de broadcast, todos os usuários vão receber, mesmo que não estejam assistindo o jogo.
Quarta Parte
A recepção. O seu cliente, que neste caso são os funcionarias da empresa, vão precisar de algum player que consiga acessar a forma de transmissão escolhida no passo anterior.
O ffplay, vlc, mplay, kmplay, etc conseguem acessar todas estas formas, mas existem outros que conseguem acessar apenas alguns e que talvez sejam mais comun em sua rede, como por exemplo o winamp ou o Windows media player.
Plus
Mas imagine, 3000 clientes acessando um unico servidor http !!! isto vai fazer seu servidor exigir muito recurso computacional, ou seja, seu servidor terá de ser muito bom em quesito de hardware para conseguir dar conta do recado!
Em estratégia a isto, você pode transferir de um servidor pai, para vários outros servidores menores, e destes servidores menores você fazer a redistribuição do sinal para seus clientes.
E para os teus clientes, da pra fazer um loadbalancer com o Apache ou outra ferramenta de sua escolha, possibilitando assim o acesso por uma unica URL.