• Usando VLC para transmitir TVoIP

    A quantidade de banda nos meios de transmissão (quer seja wirelesss, xDSL ou fibra) está cada vez maior o que permite com que se pense em novas aplicações e serviços prestados. Um dos grandes desafios sempre foi a transmissão de TV (ou filmes, vídeos, etc.) via IP. O Youtube consegue fazer um bom trabalho, através de um bom protocolos de compressão e uma boa disponibilidade de banda, mas na grande maioria das vezes, os seus vídeos só precisam de um tempo de carga relativamente grande (considerando a impaciência dos usuários) e só tem uma recepção suave (sem pausas) nas menores resoluções.

    Multicast

    Uma das dificuldades do Youtube é que a Internet não suporta Multicast. Na verdade, a grande maioria dos roteadores utilizados hoje nos backbones de Internet já tem esse recurso, apenas que não são habilitados porque as operadoras não tem interesse (além do que iria consumir processamento).

    No entanto em redes privativas, como a de provedores de acesso Internet (tanto no backbone como acesso dos clientes) é possível habilitar o multicast.

    Eu escrevi a algum tempo atrás um artigo sobre multicast, recomendo para quem quer saber mais:
    http://under-linux.org/blogs/mlrodri...ulticast-1134/

    Em resumo, o multicast transmite uma vez só o vídeo (independentemente de quantas pessoas estejam assistindo), o que economiza banda. Se um vídeo está sendo transmitido a 2Mbps em modo normal, cada usuário irá gastar 2Mbps, assim 20 usuários vendo esse vídeo irão gastar 40Mbps do backbone da rede. Se um vídeo de 2Mbps está sendo transmitido em multicast, ele poderá ser visto por milhares de pessoas ao mesmo tempo e irá gastar apenas 2Mbps do backbone.

    Vale lembrar que para isso funcionar, a rede toda (todos os equipamentos da rede) precisam suportar multicast.

    A Transmissão

    Outro problema comum para quem quer transmitir TV ou vídeo via IP é a codificação (transformar a imagem em IP). Nesse caso o Mídia Player VLC se torna uma ótima ferramenta.

    Para quem não conhece, eu definiria o VLC como um “faz-tudo-multimidia”. É impressionante a quantidade de recursos que ele possui. Você pode baixá-lo e conhecer mais aqui:
    http://www.videolan.org/vlc/

    Uma das coisas mais interessantes que ele faz é transmitir um vídeo em multicast através do protocolo IGMP. Você pode transmitir a partir de um arquivo gravado (vários formatos possíveis), pode fazer através da câmera do computador ou da placa de captura de vídeo (por exemplo, para capturar uma canal de TV a cabo). O VLC permite várias fontes possíveis de sinal.

    Para transmitir em multicast, é bastante simples. No menu Mídia, selecione Fluxo (o VLC em português chama o multicast de Fluxo). Na aba Arquivo, seleciona Adicionar... para escolher o seu arquivo (você pode selecionar vários para serem transmitidos na sequência), depois clique em Fluxo.

    Na próxima tela serão dadas algumas opções avançadas (esta é a parte mais chata). Clique em Destinos e na opção Novo destino selecione UDP, clique em Exibir localmente (para que você também veja o que está sendo transmitido) e adicionar. Será pedido um IP e Porta, esse IP é importante que seja um endereço de multicast (não é um IP normal nem um IP da sua rede). Por exemplo coloque 224.10.10.10 (esse será o IP de multicast que os usuários irão acessar para visualizar o vídeo, no multicast não se usa o IP da rede).

    Depois basta clicar em Fluxo novamente para iniciar. Para receber o vídeo, os usuários podem usar também o VLC (ou Windows Media Player) para assistir esse IP de multicast.

    Resumo

    A tecnologia de multicast requer que os equipamentos da rede suporte esse protocolo. Os switches, access point, etc tem que suportar protocolos de multicast (ou multicast snooping), como o IGMP (em IPv4) ou MLD (em IPv6) mas isso está cada vez mais presente nos equipamentos.

    O VLC é uma ferramenta open source excelente para a geração e transmissão das imagens (repare que no multicast um único PC pode tranquilamente transmitir para milhões de usuários ao mesmo tempo).

    A única parte mais complicada é compreender esse protocolo de multicast (como ele funciona e como se configura os equipamentos para utilizá-lo), mas não é nenhum bicho de sete cabeças e depois que você compreender como ele funciona, verá que é até bem simples. Em breve devo publicar aqui alguns tutoriais de como configurar multicast em alguns modelos de equipamento.

    Este artigo foi publicado originalmente no blog: Usando VLC para transmitir TVoIP iniciado por mlrodrig
    Comentários 2 Comentários
    1. Avatar de SantiagoMG
      SantiagoMG -
      Muito interessante seu Artigo. Esclareceu muito minhas duvidas pela forma simples e objetiva como foi exposta. Obrigado e parabens!
    1. Avatar de igopires
      igopires -
      Muito bom seu artigo. Porém ficaram algumas dúvidas...
      Essa transmissão só poderia ser usada com um canal? como seria pra eu transmitir diversos canais, ou, para ser mais objetivo. Se eu quizesse usar esse sistema para transmitir as imagens de meu CFTV da minha filial para a minha matriz e centralizar as gravações das imagens em um único servidor (matriz), seria possível?
    + Enviar Comentário