• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
 

FISL7 - Padrões Abertos e Software Livre para Vídeoconferência

on

  • 2,086 views

Palestra no FISL7 - Padrões Abertos e Software Livre para Vídeoconferência - Prof. Mauro Tapajós Santos

Palestra no FISL7 - Padrões Abertos e Software Livre para Vídeoconferência - Prof. Mauro Tapajós Santos

Statistics

Views

Total Views
2,086
Views on SlideShare
2,086
Embed Views
0

Actions

Likes
0
Downloads
33
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    FISL7 - Padrões Abertos e Software Livre para Vídeoconferência FISL7 - Padrões Abertos e Software Livre para Vídeoconferência Presentation Transcript

    • Padrões Abertos e Software Livre para o Serviço de Vídeoconferência FISL 7 - 19/04/2006 Prof. Msc Mauro Tapajós
    • Objetivo
      • Quais são os padrões abertos atuais usados no serviço de vídeoconferência sobre redes de dados e o estado atual de pesquisa nestes padrões? Esta palestra irá apresentar alguns dos SL já existentes para se implementar este tipo de serviço e alguns cenários já possíveis, encontrados na pesquisa na UCB.
    • Mini-Currículo
      • Professor da Universidade Católica de Brasília (UCB)
      • Coordernador Técnico do Projeto CESMIC
      • Aluno de pós-graduação en "Dirección de Sistemas de Información en Entornos de Software Libre" na Universidad Obierta de Catalunya (Barcelona)
      • Mestre em Telecomunicações e Redes pela UnB
      • Engenheiro Eletricista pela UnB
      • Trabalho com SL dede 1996 (várias empresas)
    • Serviço de Vídeoconferência
      • Comunicação humana
      • Sessão de comunicação em tempo real por vídeo e áudio entre dois ou mais pontos
      • Existem muitas situações onde cabe o serviço: reuniões, cursos, conferências, telemedicina, educação à distância-debates-palestras, etc
      • Dispersão geográfica
      • Necessita certa qualidade do serviço de rede
    • Objetivos Comuns
      • Ampliar o alcance de comunicação entre profissionais
      • Reduzir o gasto utilizados no deslocamento físico
      • Facilitar decisões que dependam de dois ou mais responsáveis
      • Realizar treinamento simultâneo entre grupos que estejam em locais distintos
    • Origem do Serviço
      • Interesse surge com o nascimento da TV
      • Primeiras VCFs baseadas na tecnologia de TV – ligação de sistemas de TV com cabos
      • NASA – links VHF/UHV com astronautas em órbita
      • Links satelitais – usados pelas emissoras de TV
      • A tecnologia dos PCs e evolução de CODECs e protocolos viabilizou o uso de VCF pelo público em geral
    • Histórico
      • 1964 – AT&T apresenta o Picture Phone ( Freeze frame e Slow motion)
      • 1973 – Pacotes de voz pela ARPANET
      • 1976 – NVP Network Voice Protocol
      • 1981 – PVP (vídeo sobre pacotes)
      • 1982 – CCITT - CODEC de vídeo H.120 (2 Mbps)
      • 1990 – CCITT - CODEC de vídeo H.261
      • 1990 – CCITT – Padrão H.320 para VCF sobre ISDN
      • 1992 – RTP
      • 1996 – IETF – RTPv2
      • 1996 – ITU-T CODEC H.263 (baixas velocidades)
      • 1996 – H.324 VCF sobre POTS
      • 1996 – H.323 v1 VCF sobre pacotes
      • 1998 – H.323 v2
      • 1999 – H.323 v3
      • 2000 – H.323 v4
      • 2003 - CODEC H.264
    • Norma H.200 do ITU-T
      • Framework for Recommendations for audiovisual services
      • Áudio conferência (somente áudio)
      • Teleseminário (áudio e vídeo unidirecionais de uma origem com retorno em áudio)
      • Conferência Audiográfica (áudio, documentos e imagens)
      • Conferência Audiodocumentacional (similar à audioconferência com transmissão de texto)
      • Freeze Frame Videoconferência (similar á conf. audiográfica com envio de snapshots dos participantes)
      • Videoconferência (similar à conf. audiográfica com vídeo)
    • Facilidades do Serviço
      • Quadro Branco
      • Troca de arquivos/msgs
      • Câmera secundária
      • Controle remoto da câmera
      • Modos multiponto:
        • Tela cheia ( full screen )
        • Continuos presence – impacto na banda necessária
    • Tipos de VCF
      • Quanto à plataforma:
        • Appliance Systems
        • Baseada em PC ( Desktop )
      • Quanto ao porte:
        • Sistemas de sala
        • Set Top
        • Desktops (CODECs implementados em software)
    • Salas de Vídeoconferência
      • Dimensionamento
      • Localização Geográfica
      • Iluminação
      • Acústica
      • Decoração
      • Layout
      • Mobiliário
      • Rack/Suporte
      • Infra-estrutura (cabeamento de rede, aterramento)
    • Preocupações Não-Técnicas
      • Conjunto de procedimentos necessários para facilitar a realização de reuniões, tais como:
      • Agendamento de conferência
      • Divulgação dos participantes
      • Etiqueta
      • Configuração do sistema para que a sessão possa ser realizada
      • Permitir, durante o serviço, facilidades para que os participantes possam trocar informações (apresentações, documentos, transferência de arquivos, etc.)
      • Ponto a ponto
      • Grupo x ponto
      • Grupo x grupo
      • Broadcast
      • Combinações
      • Participação Ativa e Passiva
      Cenários para VCF
      • Melhor exemplo – protocolos Internet:
        • Protocolos de rede: TCP/IP (aberto) X protocolos proprietários (Novell, Win, etc)
        • Serviço de Mail: RFC 822 (aberto) X X.400 (CCITT)
        • Protocolo de gerenciamento: SNMP (aberto) X CMIP (OSI)
      • Já existem vários padrões abertos para VCF (principalmente do ITU-T, ISO e IETF)
      Padrões Abertos
      • G.711 (A e micro) – 64 kbps
      • G.722 – SB-ADPCM - 48 a 64 kbps
      • G.722.1 – MLT – 24 a 32 kbps
      • G.722.2 – ACELP – 6,60 a 23,85 kbps
      • G.726 – ADPCM – 16 a 40 kbps (32 kbps)
      • G.727 – mesmo que G.726 com otimizações para PCME
      • G.728 – LD-CELP 16 kbps
      • G.729 – CS-ACELP 6,4 a 11,8 kbps (8 kbps) – Patentes!
      • GSM – 13 kbps
      • iLBC (RFC 3951) – de 13,3 a 15,2 kbps) – licença gratuita!
      • Speex – voz em baixas taxas (2 a 22,4 kbps)
      • MP3 não é um CODEC de telefonia! – apenas é usado para música em espera
      CODEC's de Voz para VCF
      • H.261 – 40 kbps a 2 Mpbs – chega a 288x352 – projetado para as linhas ISDN nx64 kbps (hoje considerado obsoleto)
      • H.262/MPEG2 Part-2
      • H.263 projetado para baixas taxas - já é considerado obsoleto diante de H.264
      • H.264/MPEG4 Part 10/AVC (Advanced Video Coding) -
      • Theora – livre
      CODEC's de Vídeo para VCF
      • Grupo de trabalho ISO
      • MPEG-1 - áudio/vídeo
        • MP3 (layer III) e VCD
        • 352x240 (NTSC 30 fps) e 352x288 (PAL 25 fps) 320x240 (PC)
        • 1,2 a 1,5 Mbps - Qualidade: VHS a 30 fps
      • MPEG-2 – áudio/vídeo de alta qualidade
        • DVD
        • Velocidades de 2 Mbps até 15 Mbps são suportadas
        • 720X480 (4:3) até 1920x1080 (16:9 HDTV)
      Padrões MPEG ( Moving Picture Experts Group )
      • MPEG-4 – áudio/vídeo para redes de banda limitada
        • Velocidades de 56 kbps até 2 Mbps
        • AAC (Apple iTunes, por exemplo)
        • Container de vários tipos de objetos de mídia sicronizados
        • Suporte a DRM!
      • MPEG-7 - Multimedia Content Description Interface
        • Metadados
      • MPEG-21 - Multimedia Framework
        • DRM
      Padrões MPEG ( Moving Picture Experts Group )
      • Multimídia sobre:
        • H.320 – ISDN
        • H.321, H.310 – Broadband ISDN
        • H.322 – comutação de pacotes, com QoS, Ethernet isócrona
        • H.323 - comutação de pacotes, sem QoS, principalmente sobre IP
        • H.324 - redes de circuitos comutados PSTN
      Padrões ITU-T H.xxx para VCF
    • Multimídia sobre Redes de Pacotes
      • Informações como voz e vídeo geram grandes quantidades de dados e são muito associadas à temporização da rede, daí surge a necessidade de haver algum tipo de controle sobre atrasos e velocidade
      • CODECs sofisticados exigem processamento e imbutem atrasos no fluxo de dados
      • “ IP is everywhere” - Universalização da plataforma
    • TCP/UDP como Protocolo de Transporte Multimídia
      • TCP
        • Protocolo ponto-a-ponto com conexão ( multicast!)
        • Atrasos intoleráveis na maior parte das aplicações de tempo-real
        • Não possui um mecanismo para anexar informação de tempo nos segmentos
      • UDP
        • Também não define os mecanismos de temporização citados acima
      • Apesar de certas funcionalidades poderem ser incluídas a nível de aplicação, existe um conjunto de funções que merecem ser implementadas num protocolo específico para tráfego de tempo-real
    • RTP - Real Time Protocol RFC 3550
      • É o protocolo adequado para transmitir multimídia digitalizada sobre uma rede IP
      • Tem funções de protocolo de transporte mas roda sobre UDP e pode trabalhar com multicasting
      • RTP não garante a entrega sincronizada dos pacotes, apenas provê informações que ajudam na reprodução do fluxo na recepção
      • Oferece suporte a:
        • Mixagens ( mixing ): combinação de múltiplos fluxos num único (necessidade de um ponto com funções de mixer )
        • Tradutores (translators)
    • Mixer RTP
      • Faz o relay de tráfego (fluxos) recebidos de um ou mais originadores, combina os fluxos recebidos e encaminha para um ou mais destinos
      • Por exemplo: combinação de tráfegos de voz numa conferência para transmissão por link de menor velocidade
    • Tradutores (Translators) RTP
      • Faz o relay de tráfego (fluxos) RTP recebidos para um ou mais destinos, após haver ou não transformado os dados do fluxo
      • Por exemplo: transformação de fluxo de vídeo de alta resolução num fluxo de baixa resolução, travessias através de firewalls ou encaminhamento unicast de tráfego multicast
    • RTP ( Real Time Protocol )
      • Integração direta com a aplicação – aceite por parte desta da entrega de segmentos com perdas
      • A própria aplicação pode reenviar dados ao ser sinalizada dos termos de QoS
      • A aplicação, então, define seus PDU’s (APU’s – Application Data Units )
      • Do mesmo modo RTP complementa UDP agregando funções (como sequenciamento) e trabalha num modo integrado entre camadas de protocolos
    • Cabeçalho RTP
      • Versão : 2 (atual)
      • P : padding. Usado quando a aplicação o requer
      • X : sinaliza o uso de cabeçalho de extensão
      • CC : número de geradores de fluxo
      • M : marker. Sua interpretação depende do tipo de payload . Normalmente sinaliza limites de um fluxo de dados, como o fim de um frame de vídeo.
      • Sequence num : números de sequência. Primeiro é randômico
      • Media timestamp : deve ser contínuo mas com granularidade adequada ao payload
      • Ptype: .codificação/tipo dos dados
      • Synchronization source identifier : origem do fluxo
      • Contributing source ID : cada campo deste tipo (podem ser vários) identifica cada um dos geradores de fluxo. Gerado por um mixer RTP.
    • Alguns Tipos de Payload RTP
    • Pilha RTP
      • Vários pacotes podem ter o mesmo timestamp caso os dados tenham sido gerados ao mesmo tempo (ex. Um frame de vídeo que ocupa vários pacotes)
      • Mídias diferentes devem ir por fluxos diferentes (por exemplo: o vídeo e seu áudio)
      RTP ( Real Time Protocol )
    • RTP ( Real Time Protocol )
      • Um número de sequência garante a ordem dos pacotes, a eliminação de duplicatas e a detecção de perdas
      • O timestamp permite a reprodução dos pacotes do fluxo no tempo correto em que o dado foi gerado
      • É parte obrigatória do RTP e utiliza uma porta imediatamente superior à porta UDP sendo usada pelo RTP
      RTCP ( Real Time Control Protocol )
    • RTCP
      • Oferece informações de controle para fontes de tráfego RTP:
        • Monitoramento da rede durante a sessão (aspectos de QoS e congestionamento)
        • Sinalização de controle fora-de-banda
        • Identificação adequada de fontes de fluxo
      • Mensagens RTCP são periodicamente enviadas pelos participantes
      • Existem vários tipos de mensagens para implementar as funcionalidades acima
    • Padrão H.323
      • H.323 é um padrão ITU-T e define um conjunto de protocolos para transmissão de tráfego multimídia sobre redes de pacotes e que podem trabalhar em conjunto oferecendo os serviços básicos para compor um sistema de telefonia IP funcional
      • O conjunto provê suporte à todos os aspectos de uma chamada como:
        • Registro de um terminal
        • Sinalização de controle de chamadas e serviços
        • Codificação dos dados em tempo real
        • Transmissão dos dados codificados
    • Padrão H.323
      • Oferece ainda suporte para aplicações de vídeo, compartilhamento de dados durante as sessões e as codificações/decodificações necessárias
      • Define como é a negociação de chamadas e os formatos das informações necessárias
      • Não define:
        • Codificação de endereços
        • Priorização de tráfego
        • Segurança
    • H.323
      • Entidades previstas
        • Terminais
        • Gateways
        • Gatekeepers
        • MCU’s - Multipoint Control Unit
      • Protocolos
        • H.225.0 – RAS ( registration, admission, status ) e sinalização de chamada ( call signalling )
        • Q.931 – Configuração de chamadas e terminação
        • H.245 – Controle de mídia / Sinalização de capacidades
        • T.120 – Compartilhamento de dados
        • RTP/RTCP – Transporte de mídia
    • Componentes de uma rede H.323
      • MCU ( Multipoint Control Unit ): suporta os servições de múltiplos usuários como conferências (endereçamentos unicast e multicast)
      Gateways : permitem a interconexão de terminais H.323 com outros dispositivos de áudio e traduzem a sinalização de um lado para o outro Gatekeepers executam as funções de servidor de diretórios (conversão de endereços) e supervidor do sistema (controle e gerenciamento das chamadas)
    • Gatekeeper
      • Funções:
        • Tradução de endereços
        • Controle de admissão
        • Controle de banda
        • Gerenciamento de zonas
        • Sinalização de controle de chamadas
        • Controle de chamadas
      • Descoberta do gatekeeper - a través de mensagens multicast (224.0.1.41 - UDP 1718)
      • Porta para registros e status: UDP/1719
      • Podem auxiliar a montagem de conferências multiponto com H.245 repassando as conexões com todos os participantes e depois passando o canal H.245 para uma MCU
      • Chamada ponto a ponto ≠ multiponto
      • Responsável por prover recursos para três ou mais entidades
      • Formado por duas entidades:
        • MC - Multipoint Controller - Obrigatório - prover controle para realização da conferência
        • MP - Multipoint Processor - Opcional - Distribui fluxos de vídeo e áudio para entidades
      MCU – Multipoint Control Unit
    • Pilha de Protocolos H.323
      • Codecs de áudio e vídeo comprimem e descomprimem fluxos multimídia
      • Fluxos multimídia são transportados por RTP/RTCP, rodando sobre UDP
      • A sinalizaçao é transportada confiávelmente sobre TCP
        • RAS - registration, admission, status
        • Q.931 – Configuração de chamadas e terminação
        • H.245 – Sinalização de capacidades
    • Telefonia IP – Protocolos H.323
    • Estabelecimento e Configuração de de Chamadas
      • Através de mensagens H.225 e Q.931/2 se estabelece a chamada, através de conexão na porta TCP/1720 ( call control )
      • H.225 també é usado para RAS ( registration, admission, status ) - comunicação com o gatekeeper
      • H.245 permite a o posterior acerto de canais lógicos, codecs e capacidades através da porta TCP indicada em mensagens de estabelecimento da chamada
      • H.245 é usado depois do estabelecimento da chamada
      • Existe uma facilidade de fast start para reduzir os passos na criação da chamada
    • Exemplo de Chamada H.323
    • SIP – Session Initiation Protocol – RFC 3261
      • Padrão IETF para um protocolo de aplicação (sinalização) que cobre somente a sinalização necessária para se iniciar, modificar, convidar outros (para participar) e terminar chamadas (sessões)
      • Não oferece toda a funcionalidade do H.323 – pretende ser parte da arquitetura IETF de suporte a aplicações multimídia
      • Baseado nos princípios aprendidos da comunidade Internet – independente de aplicação
    • SIP
      • Herdou muito do protocolo HTTP (como o modo textual ou códigos de erro, por exemplo)
      • + SIMPLES! Implementações mais baratas
      • UTF-8
      • DEVE suportar TCP e UDP (porta 5060)
      • PODE suportar outros transportes (como SCTP)
      • Expansível
      • Pode permitir serviços comuns das redes telefônicas ( follow-me , rede inteligente, etc)
    • SIP
      • Call setup
      • Negociação de funcionalidades e mídia
      • Gerenciamento de chamada e mudanças “on the fly”
      • Mapeamento de nomes
      • Localização de usuários
      • Redirecionamento de chamadas
    • Componentes de uma rede SIP
      • User agents Client – UAC – porção cliente localizada no terminal SIP
      • User Agent Server – UAS : encaminha um pedido de chamada e trata as respostas para o terminal chamador
        • Proxy Server – age como cliente/servidor tratando os pedidos e até reescrevendo as mensagens para o devido encaminhamento
        • Redirect server – redireciona chamadas (tratando adequadamente parâmetros como endereços). Não aceita nem inicia chamadas. Devolve as informações.
        • Registrar – servidor que permite que terminais SIP registrem sua presença
        • Location server – encontra destinos
    • Arquitetura SIP
    • Métodos SIP
      • Outros métodos foram definidos por outras RFC's
    • Pilha de Protocolos SIP
    • Chamadas SIP
      • Terminal chamador localiza servidor
      • Envio de request SIP via servidor
      • Terminal chamado responde
      • Resposta chega ao chamador
      • Chamador envia ACK
      • Endereços SIP: [email_address]
      • Nomes de servidores sugerido: sip.domínio (como é feito para os demais protocolos Internet. Ex. ftp.domínio )
    • Exemplo de Chamada SIP
    • SDP – Session Description Protocol – RFC 3264
      • Originalmente desenvolvido para descrever sessões multicast no MBone
      • Descreve informações de sessões multimídia:
        • Codificação da mídia
        • Números de porta
        • Endereços multicast
      • Não negocia parâmetros de mídias
      • Pode convidar pessoas ou até robôs (como um media storage server ) para uma conferência
      • Suas mensagens trafegam encapsuladas em mensagens SIP
    • Alguns Protocolos Relacionados
      • RFC 3489 - STUN Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)
      • RFC 2974 – SAP Session Announcement Protocol (anúncio de conferências e sessões multicast -ainda experimental)
      • H.350/RFC 3944 - Directory Services Architectures in Support of Multimedia Conferencing - Armazenamento de informações de conferências multimídia em serviços de diretório LDAP
      • SIPPING – aplicação de SIP em vários contextos de telefonia e multimídia
      • XCON – Protocolos para conferências centralizadas (preocupação com itens como autenticação, privacidade, permissão e combinação numa sessão)
      • SIMPLE – SIP em aplicações IMP ( messaging e presence )
      • AVT – Transporte de Áudio e Vídeo
      • MMUSIC - Multiparty Multimedia Session Control – trata SDP e demais protocolos
      Grupos de Trabalho IETF Relacionados
      • Alternativa criada pela comunidade Asterisk à SIP e H.323, mas não é um padrão reconhecido oficialmente
      • Codificação binária
      • Sinalização e mídia usam as mesmas portas (udp/4569) – fácil uso com NAT
      • Interrompe a chamada no caso de ausência da outra parte
      • O Asterisk suporta vídeo H.261 e H.263 através de canais IAX2 e SIP
      IAX – Inter Asterisk eXchange Protocol
      • Vídeos grandes via WEB
      • Aplicações interativas
      • Distribuições de vídeo em larga escala ( webcasts )
      • Melhor controle do que é visto e por quem
      • Pode ser usado para replicar sessões de VCF em tempo real para outros usuário
      Streaming
      • Protocolo de apresentação
      • Controla a entrega sob demanda de dados real-time de áudio e vídeo – mas não carrega tráfego de A/V!
      • Fontes destes dados podem ser registros ao vivo ou armazenados em mídias
      • Suporta entregas em múltiplas sessões, permite a escolha de canais de entrega como UDP, multicast UDP, TCP e mecanismos baseados no RTP
      • Adequado para distribuição de vídeo para a Internet e vídeo sob demanda
      RTSP – Real Time Streaming Protocol – RFC 2326
      • Chamadas / Sessões
        • Antes: somente voz
        • Hoje: Voz + Vídeo + Messaging + ...
      • VCF é mais um tipo de sessão como jogos em rede, messaging ou VoIP
      • Herda o “modelo telefone”
      VCF em Redes de Pacotes
      • Assunto complicado
      • Servidores que oferecem o serviço de VCF sofrerão assim como os demais
      • Registro/autenticação – contabilização
      • Privacidade nas conversações
      • Ainda não existe infraestrutura de administração para VCF
      Segurança em VCF sobre Redes de Pacotes
      • Protocolos de Sinalização – como H.323, SIP e IAX
      • Transporte de Mídia – normalmente RTP
      • Protocolos de Suporte (redirecionamentos/localização, QoS, etc) - DNS, SDP, LDAP, TRIP, RSVP, COPS, MEGACO, Diameter/Radius, etc
      Protocolos para VCF em Redes de Pacotes
      • Normalmente o estabelecimento da chamada e sua sinalização em geral é independente do fluxo de mídia que será gerado por ela
      • A portas usadas pelos vários protocolos são distintas, de forma que seja difícil a associação de uma chamada com o fluxo de mídia
      • Não há solução direta e simples
      • Para Linux: existe um patch SIP/RTP para o netfilter
      O problema com NAT
      • www.asterisk.org
      • www.gnugk.org
      • www.ekiga.org
      • www.gnomemeeting.org
      • www.voxgratia.org
      • www.openh323.org (antigo)
      Alguns Softwares Livres para VCF
      • yate.null.ro
      • VRVS ( Virtual Room Videoconferencing System) - www.vrvs.org
      • AccessGrid - www.accessgrid.org
      • OpenWengo - www.openwengo.com
      • Skype - www.skype.org
      • CuSeeMe - www.cuworld.com
      Alguns Serviços VCF na Internet
      • Sistema de VCF de baixo custo disponível via Internet criado pela CalTech e CERN
      • Limita banda nas VCF – 256 kbps
      • Usa ferramentas do Mbone (vic, rat, etc)
      VRVS – Virtual Room Videoconferencing System
      • Suporte clientes H.323, quickplayer e VNC
      • Refletor: servidor que serve de ponte do usuário com uma sala virtual
      • Serve como instrumento de divulgação e capacitação – inclusão social, redução do analfabetismo, formação profissional
      • Exige capacidade para ter qualidade - custo!
      • VCF já pode ser implementada mas com limitações sobre plataformas totalmente livres
      • Atenção aos CODECs a serem usados! Patentes!
      • FILME - http://uwtvproduction.org/convergence.html
      Observações Finais
    • Questões?
    • Site do Projeto CESMIC: www.cesmic.ucb.br Site Professor: www.ucb.br/prg/professores/maurot Stand FISL M06