Ver Feed RSS

Tecnologia de Redes, Mobilidade e Inovação

Usando VLC para transmitir TVoIP

Avaliação: 2 votos, 4,50 média.
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 backbone 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 VLC Mídia Player 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 Midia Player) para assistir esse IP de multicast.

Resumo

A tecnologia de multicast requer que os equipamentos da rede suporte esse protocolo. Os switchs, 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.
Categorias
Não Categorizado

Comentários

Página 1 de 2 12 ÚltimoÚltimo
  1. Avatar de sbraitti
    Artigo bom! Gostaria de ler mais sobre soluções mais completas. O VLC é um ótimo programa porém, é solução para alguns streams apenas e quando você quer fazer algo grande? Como faz? E sobre o setupbox, mythtv daria conta do recado ?? Existem plugins para IPTV, e a grade, como passar? Essas são minhas dúvidas que não consigo encontrar muito material. Em português ainda, nada..
  2. Avatar de mlrodrig
    Citação Postado originalmente por sbraitti
    Artigo bom! Gostaria de ler mais sobre soluções mais completas. O VLC é um ótimo programa porém, é solução para alguns streams apenas e quando você quer fazer algo grande? Como faz? E sobre o setupbox, mythtv daria conta do recado ?? Existem plugins para IPTV, e a grade, como passar? Essas são minhas dúvidas que não consigo encontrar muito material. Em português ainda, nada..
    O intuito do artigo foi ser uma introdução ao assunto. Pretendo em breve escrever mais alguns sobre o assunto.
    Vale lembrar que o multicast não tem limite de quantidade de usuários, assim um PC simples com o VLC poderia - sem problemas - atender milhões de usuários. O problema, ao meu ver, do VLC é que ele não entra como serviço (pelo menos ainda não descobrir como faze-lo), o que significa que ele precisaria ser iniciado manualmente toda vez que o "servidor" fosse inicializado.

    O MythTV é um receptor e poderia ser utilizado como cliente de um sistema multicast (como o VLC).

    Para um projeto de TVoIP, eu sugeriria o MMbox trabalhando como streaming server:
    Provendo IPTV no Linux - Blogs - Under-Linux.org
  3. Avatar de Gustavinho
    Ainda é tenso em saber como transmitir isso em redes Wi-Fi.
    O consumo é alto e as redes ainda não suportam tais bandas.

    Sobre o MythTV alguem ja utilizou?
  4. Avatar de DUHbnu
    As vezes ler ou prestar atenção no texto do tópico evitaria comentários sem nexo.

    A essência é:


    "No 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."

    É óbvio que em qualquer meio de transmissão "Multicast ou Fluxo" traz uma imensa economia de banda.


    Por exemplo: no ensino a distância EAD, as escolas e universidades levam suas transmissões a concessionárias ou provedores de acesso Internet, e estas com altíssima largura de banda disponibilizam o conteúdo a múltiplos usuários, através de conexões individuais. Se a rede no todo suportasse "Multicast ou Fluxo" a largura de banda seria minima e suportada diretamente pelas escolas e universidade; contudo concessionárias ou provedores de acesso Internet perderiam parte de seu ganha pão.

    Como disse MLRODRIG; felizmente internamente em nossas redes podemos utilizar estas tecnologias; então o lance é sair na frente. Parabéns pelo Post.
  5. Avatar de Gustavinho
    Ótimo, rode 5 canais individuais de 2Mbps cada, numa rede 802.11 a/b/g em multicast.
Página 1 de 2 12 ÚltimoÚltimo

+ Enviar Comentário



Visite: BR-Linux ·  VivaOLinux ·  Dicas-L