Streaming com Theora Pablo Lorenzzoni

Slides:



Advertisements
Apresentações semelhantes
Felipe Ferreri Tonello
Advertisements

Serviço de Multimídia Software Livre Aplicado a Vídeos – VLC Evaldo Silva – UNICAMP/FCM Resumo A publicação de artigos multimídia.
ARQUITETURA WEB SERVICE TGM
1 SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS Rafael Nunes Folha Trabalho de Conclusão de Curso Orientador: Eduardo.
TECNOLOGIA DA INFORMAÇÃO PROF.: MARCO ANTÔNIO Escola Estadual Professor Gonçalves Couto Grupo: Brenda n° 03 Francyane n° 08 Glicéria n° 11 Emanuel n° 07.
SyncEasy – Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados Acadêmico: Bernardo Marquardt Müller.
#MusicMining Antoanne Pontes Introdução Muitas pessoas falam de uma grande frustração na vida por não saber tocar nenhum instrumento.
Apt-get e sources.list Um breve resumo prático. O que é o APT ?? Basicamente por ser um software livre qualquer pessoa pode pegar o código fonte do Linux.
Curso de extensão em Administração de redes com GNU/Linux Italo Valcy - Gestores da Rede Acadêmica de Computação Departamento de Ciência.
APLICATIVO PARA ATUALIZAÇÃO AUTOMÁTICA DE UM SISTEMA DE GESTÃO EMPRESARIAL Marlon Gracietti de Amorim Orientador: Prof. Cláudio Ratke.
Licenciamento em Software Livre Palestrante: Deivi Lopes Kuhn.
Desmistificando o Git Rodrigo Carvalho
EA976 – Engenharia de Software AULA 5 Desenvolvimento Orientado a Aspectos.
Recuperação de Arquitetura de software Servidores de aplicação J2EE Michelet del Carpio 22/9/ DSL.
Replicação de dados. “A replicação é um conjunto de tecnologias utilizadas para copiar e distribuir objetos e dados de um banco de dados para um outro.
OBJETIVOS DA OFICINA: 1. Apresentar de forma prática e ágil o uso de mapas colaborativos; 2. Treinar a criação de mapas virtuais; 3. Pensar as mapas colaborativos.
DNS Domain Name System. O que é o DNS ?  O DNS ( D omain N ame S ystem - Servidor de Nomes de Domínios) é um sistema de gerenciamento de nomes hierárquicos.
Streaming com Theora Pablo Lorenzzoni
Trabalho De Tecnologia Nomes: Davi Régis, Paulo Vitor, João Victor Silva e Matheus Assis. Números: 04, 34, 15, 29. Turma: 1.1. Professor: Marcos.
FLISOL Maceió, 24 de Abril de 2010 Jonh Wendell -
UTILIZAÇÃO DE OBJETOS DE APRENDIZAGEM SCORM COM A REDE SOCIAL ORKUT Leonardo Rafael Morastoni Orientador: Mauro Marcelo Mattos.
HORA DO CONHECER TSS Felipe Gutz Rafael Leithold.
Daniel Lenharo 06 de Maio de 2017
Mídias sociais.
INTRODUÇÃO Ligações inter- redes.
Fundamentos da Inteligência de Negócios.
Protocolo SMTP e POP O que é SMTP?
Projetos Cleber Matos.
Domínios, Redes, Arquitetura da Web, Linguágens de Marcação
Tecnologias para automação
Tutorial do Meu EBSCOhost
Comunicação Aumentativa
PHP Linguagens e Técnicas de Programação
Administração e serviços de redes
Redes Industriais Alarmes
Luiz A M Palazzo Junho de 2015
Agregando serviço Multimídia em redes com Mikrotik IPTV, como isso pode alavancar o seu negócio!!! DAVID MARCONY – CATVBRASIL
Departamento de Tecnologia da Informação
Soluções de alta disponibilidade em banco de dados
Tema 2 UTILIZAÇÃO DE FERRAMENTAS DIGITAIS EM SALAS DE AULA (#ecoimooc5,#artefacto1) UC Educação Aberta a Distância Elisabete Caseiro – –
IPS. IPS Histórico A infra-estrutura sobre a qual a internet cresceu não foi projetada com segurança como um requisito fundamental.
Soquetes (1) SOCKET Uma interface local, criada por aplicações, ponto final de comunicação no qual os processos de aplicação podem tanto enviar quanto.
Sistemas de Redes de Filas
SNORT O que é O SNORT é uma ferramenta NIDS desenvolvido por Martin Roesch "open-source" bastante popular por sua flexibilidade nas configurações de regras.
Administração de Banco de Dados
Nataniel Vieira Endereçamento IP Nataniel Vieira
Redes: Camada de Aplicação, pt. I Prof. Rafael Vieira
Mídias Digitais Uma abordagem sobre as possibilidades de aplicar mídias em benefício do ensino.
AVALIAÇÃO DA CAPACIDADE DO PROCESSO
com VirtualHostingContrib
Modelagem de Sistemas I Aula 1 – Introdução à UML
responsabilidades dessas camadas?
Introdução a Redes v5.1 Capítulo 6: Camada de Rede.
Introdução a Redes v5.1 Capítulo 7: Endereçamento IP.
ANDROID.
LAMP – Linux Apache MySql e PHP
“A mãe das outras linguagens”
Programação Estruturada Aula 1 Prof. Jorge Barreto Julho 2018.
TCP/IP CRD Filipe Pacheco.
Otimizando performance da rede corporativa.
Soluções Inteligentes para ONGs Esportivas
SISTEMAS DISTRIBUIDOS
SISTEMAS DISTRIBUIDOS
Testes – Usando docker-compose para simular o ambiente de produção
Apresentação dos Softwares REP Fábio Rocha
Zabbix Automatizando Atividades Rotineiras 1
Do PostgreSQL ao data lake
Processando 40 milhões de mensagens com alto desempenho em tempo real
Mobilidade de IP. Mobilidade de IP v4 Em termos mais técnicos, o IPv4 é uma sequência de 32 bits (ou quatro conjuntos de 8 bits). Os 8 bits podem variar.
Transcrição da apresentação:

Streaming com Theora Pablo Lorenzzoni

Roteiro ● Apresentação e Histórico da TVSL (Intervalo?) Demos e/ou Hands-On ● Flumotion básico ● GStreamer básico ● Flumotion + GStreamer ● Ruby + GStreamer básico ● Ruby + GStreamer app

Streaming com Theora - TVSL Pablo Lorenzzoni

Conteúdo ● Produção – Theora versus os outros – GStreamer – Flumotion ● Transmissão – Shout2 e IceCast2 – Detalhes de rede, latência ● Replicação ● Estatísticas

Produção: Theora 1/2 ● 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).

Produção: Theora 2/2 ● Patentes: a On2 (empresa criadora das primeiras versões) concedeu licença irrevogável e gratuita sobre as patentes. ● Patentes “submersas”.

Produção: Gstreamer 1/2 ● 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

Produção: Gstreamer 2/2

Produção: Flumotion 1/2 ● 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 descentralizada. ● Custeada pela Fluendo.

Produção: Flumotion 2/2

Flumotion x Transmissão 1/2 ● A arquitetura do Flumotion (Manager / Worker / Admin) permite a descentralização dos processos. ● No entanto não permite a decentralização do broadcast. ● Bom se você tem muita banda e UM servidor.

Flumotion x Transmissão 2/2 ● Ruim se você tem pouca banda em VÁRIOS servidores. ● (nas últimas versões isso não é completamente verdade).

Problema da TVSL POUCOS servidores e POUCA banda (exceto na época do FISL)

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

Transmissão: IceCast2 1/2 ● 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.

Transmissão: IceCast2 2/2 ● Atualizado para suportar Theora. ● Pode ser facilmente encadeado, cascateado ou replicado.

Transmissão: Infra ● Na rede local, não podemos ter latência alguma. ● Na comunicação com o servidor IceCast2, perdas de pacotes altas (~15%) ou alta latência vão causar morte do mount_point.

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

Solução TVSL 1/2 ● 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.

Solução TVSL 2/2 ● Inicialmente utilizávamos o branch do Karl Heyes pela capacidade de distribuição (302). ● Hoje ainda mais simples: IceRedir

TVSL IceCast2 Central LAMP + IceRedir Replicador 1 Replicador 2 Replicador 3 Replicador N Clientes Produtor 1 Produtor 2 Produtor 3 Produtor 4 Produtor 5 Produtor 6

TVSL IceCast2 Central LAMP + IceRedir Replicador 1 Replicador 2 Replicador 3 Replicador N Clientes (1) Quero Stream XXX.ogg Produtor 1 Produtor 2 Produtor 3 Produtor 4 Produtor 5 Produtor 6

TVSL IceCast2 Central LAMP + IceRedir Replicador 1 Replicador 2 Replicador 3 Replicador N Clientes (1) Quero Stream XXX.ogg (2) OK. Use o Replicador 2 Produtor 1 Produtor 2 Produtor 3 Produtor 4 Produtor 5 Produtor 6

TVSL IceCast2 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

Replicação ● Processo simples de comunicação entre os IceCasts. ● Na realidade, um IceCast2 “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).

Coleta de 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.

Histórico de Estatísticas ● 2008 (fisl9.0): – Visitas a TV Software Livre: – Upload / Download:70 Gb / 179 Gb ● 2007 (fisl8.0): – Visitas a TV Software Livre: – Upload / Download:26 Gb / 68 Gb ● 2006 (fisl7.0): – Metodologia diferente (utilizávamos números de IPs diferentes). Com o método atual, ± 800.

Futuro ● Consolidação das ferramentas. ● Consolidação dos parceiros. ● Estudo de novos codecs: Dirac / Schroedinger. ● RTSP. ● MultiCast / IPv6 ?

Obrigado! Pablo Lorenzzoni

Roteiro ● Apresentação e Histórico da TVSL (Intervalo?) Demos e/ou Hands-On ● Flumotion básico ● GStreamer básico ● Flumotion + GStreamer ● Ruby + GStreamer básico ● Ruby + GStreamer app