Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouRoberto Natan Miranda Barreto Alterado mais de 7 anos atrás
1
Streaming com Theora Pablo Lorenzzoni pablo@softwarelivre.org http://tv.softwarelivre.org/
2
Conteúdo ● Produção – Theora versus os outros – Gstreamer – Flumotion ● Transmissão – Shout2 e Icecast2 – Detalhes de rede, latência ● Replicação ● Estatísticas
3
Produção: Theora ● Qualidade comparável a MPEG4 (na realidade, feito para competir com ele). ● Especificação: em domínio público. ● Implementação: licença do tipo BSD (permite inclusão em produtos comerciais). ● Patentes: a On2 (empresa criadora das primeiras versões) concedeu licença irrevogável e gratuita sobre as patentes. ● Patentes “ocultas”.
4
Produção: Gstreamer ● Biblioteca de elementos de multimídia que se comunicam. ● Arquitetura baseada em plugins. ● Permite a construção de um ou mais fluxos de elementos (pipelines). ● Escrita em C (velocidade). ● Licenciada sob a LGPL
5
Produção: Gstreamer
6
Produção: Flumotion ● Solução completa de streaming baseada no gstreamer. ● Escrita em Python. ● Alto nível, com componentes que agregam vários elementos gstreamer. ● GUI intuitiva (mais ou menos). ● Arquitetura decentralizada. ● Custeada pela Fluendo.
7
Produção: Flumotion
8
Flumotion x Transmissão ● A arquitetura do Flumotion (Manager / Worker / Admin) permite a decentralização dos processos. ● No entanto não permite a decentralização do broadcast. ● Bom se você tem muita banda e UM servidor. ● Ruim se você tem pouca banda em VÁRIOS servidores. ● (nas últimas versões isso não é completamente verdade).
9
Problema da TVSL POUCOS servidores e POUCA banda (exceto na época do FISL)
10
Transmissão: Shout2 ● Biblioteca muito antiga (estável). ● Inicialmente para construção de clientes de fonte (source clients) para um produto proprietário chamado Shoutcast. ● Atualizada para suportar Icecast2 (a resposta Open Source ao Shoutcast). ● Utilizada no elemento shout2send do gstreamer
11
Transmissão: Icecast2 ● Fácil de utilizar. Na maioria dos casos somente pequenas configurações precisam ser feitas. ● Baseado em um único binário. Pode ser compilado estático e distribuído (diferente do flumotion). ● Confiável. Existem servidores com uptime de anos. ● Atualizado para suportar Theora. ● Pode ser fácilmente encadeado, cascateado ou replicado.
12
Flumotion e Shout2 ● Bug 239 ● Criado componente para enviar vídeo produzido pelo Flumotion para um servidor Icecast2. ● Agora incorporado ao Flumotion desde a versão 0.5.1
13
Solução TVSL ● Servidores doados. ● É bom não abusar da boa vontade (não íamos pedir que alguém configurasse um flumotion para fazer replicação). ● Icecast2 central com replicadores nos diversos servidores. ● Inicialmente utilizávamos o branch do Karl Heyes pela capacidade de distribuição (302). ● Hoje ainda mais simples: IceRedir
14
TVSL Icecast Central LAMP + IceRedir Replicador 1 Replicador 2 Replicador 3 Replicador N Clientes (1) Quero Stream XXX.ogg (2) OK. Use o Replicador 2 (3) Quero Stream XXX.ogg Produtor 1 Produtor 2 Produtor 3 Produtor 4 Produtor 5 Produtor 6
15
Replicação ● Processo simples de comunicação entre os Icecasts. ● Na realidade, um Icecast “slave” monta os mesmos streams do “master”, mas ao invés de recebê-los de um produtor, recebe do “master”. ● Possibilidade de fazer por stream (não precisa replicar todos).
16
Estatísticas ● Os logs do Icecast2 têm o mesmo formato do Apache. ● Qualquer ferramenta de análise de logs do Apache pode analisar também logs do Icecast2. ● Usamos AWStats com opção de streaming.
17
Estatísticas: Histórico ● 2008 (fisl9.0): – Visitas a TV Software Livre: 3.175 – Upload / Download:70 Gb / 179 Gb ● 2007 (fisl8.0): – Visitas a TV Software Livre: 1.212 – Upload / Download:26 Gb / 68 Gb ● 2006 (fisl7.0): – Metodologia diferente. Traduzindo para os mesmos números, aproximadamente 800.
18
Futuro ● Consolidação das ferramentas. ● Consolidação dos parceiros. ● Estudo de novos codecs: Dirac.
19
Obrigado!
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.