Você está na página 1de 67

Padres Abertos e Software Livre para o Servio de Vdeoconferncia

FISL 7 - 19/04/2006

Prof. Msc Mauro Tapajs

Objetivo
Quais so os padres abertos atuais usados no servio de vdeoconferncia sobre redes de dados e o estado atual de pesquisa nestes padres? Esta palestra ir apresentar alguns dos SL j existentes para se implementar este tipo de servio e alguns cenrios j possveis, encontrados na pesquisa na UCB.

Mini-Currculo
Professor da Universidade Catlica de Braslia (UCB) Coordernador Tcnico do Projeto CESMIC Aluno de ps-graduao en "Direccin de Sistemas de Informacin en Entornos de Software Libre" na Universidad Obierta de Catalunya (Barcelona) Mestre em Telecomunicaes e Redes pela UnB Engenheiro Eletricista pela UnB Trabalho com SL dede 1996 (vrias empresas)

Servio de Vdeoconferncia
Comunicao humana Sesso de comunicao em tempo real por vdeo e udio entre dois ou mais pontos Existem muitas situaes onde cabe o servio: reunies, cursos, conferncias, telemedicina, educao distncia-debates-palestras, etc Disperso geogrfica Necessita certa qualidade do servio de rede

Objetivos Comuns
Ampliar o alcance de comunicao entre profissionais Reduzir o gasto utilizados no deslocamento fsico Facilitar decises que dependam de dois ou mais responsveis Realizar treinamento simultneo entre grupos que estejam em locais distintos

Origem do Servio
Interesse surge com o nascimento da TV Primeiras VCFs baseadas na tecnologia de TV ligao 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 evoluo de CODECs e protocolos viabilizou o uso de VCF pelo pblico em geral

Histrico
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 (vdeo sobre pacotes) 1982 CCITT - CODEC de vdeo H.120 (2 Mbps) 1990 CCITT - CODEC de vdeo H.261 1990 CCITT Padro 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 conferncia (somente udio) Teleseminrio (udio e vdeo unidirecionais de uma origem com retorno em udio) Conferncia Audiogrfica (udio, documentos e imagens) Conferncia Audiodocumentacional (similar audioconferncia com transmisso de texto) Freeze Frame Videoconferncia (similar conf. audiogrfica com envio de snapshots dos participantes) Videoconferncia (similar conf. audiogrfica com vdeo)

Facilidades do Servio
Quadro Branco Troca de arquivos/msgs Cmera secundria Controle remoto da cmera Modos multiponto: Tela cheia (full screen) Continuos presence impacto na banda necessria

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 Vdeoconferncia
Dimensionamento Localizao Geogrfica Iluminao Acstica

Decorao Layout Mobilirio Rack/Suporte Infra-estrutura (cabeamento de rede, aterramento)

Preocupaes No-Tcnicas
Conjunto de procedimentos necessrios para facilitar a realizao de reunies, tais como:

Agendamento de conferncia Divulgao dos participantes Etiqueta Configurao do sistema para que a sesso possa ser realizada Permitir, durante o servio, facilidades para que os participantes possam trocar informaes (apresentaes, documentos, transferncia de arquivos, etc.)

Cenrios para VCF


Ponto a ponto Grupo x ponto Grupo x grupo Broadcast Combinaes Participao Ativa e Passiva

Padres Abertos
Melhor exemplo protocolos Internet: Protocolos de rede: TCP/IP (aberto) X protocolos proprietrios (Novell, Win, etc) Servio de Mail: RFC 822 (aberto) X X.400 (CCITT) Protocolo de gerenciamento: SNMP (aberto) X CMIP (OSI) J existem vrios padres abertos para VCF (principalmente do ITU-T, ISO e IETF)

CODEC's de Voz para VCF


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 otimizaes 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) licena gratuita! Speex voz em baixas taxas (2 a 22,4 kbps) MP3 no um CODEC de telefonia! apenas usado para msica em espera

CODEC's de Vdeo 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

Padres MPEG (Moving Picture Experts Group)


Grupo de trabalho ISO MPEG-1 - udio/vdeo 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/vdeo de alta qualidade DVD Velocidades de 2 Mbps at 15 Mbps so suportadas 720X480 (4:3) at 1920x1080 (16:9 HDTV)

Padres MPEG (Moving Picture Experts Group)


MPEG-4 udio/vdeo para redes de banda limitada Velocidades de 56 kbps at 2 Mbps AAC (Apple iTunes, por exemplo) Container de vrios tipos de objetos de mdia sicronizados Suporte a DRM! MPEG-7 - Multimedia Content Description Interface Metadados MPEG-21 - Multimedia Framework DRM

Padres ITU-T H.xxx para VCF


Multimdia sobre:
H.320 ISDN H.321, H.310 Broadband ISDN H.322 comutao de pacotes, com QoS, Ethernet iscrona H.323 - comutao de pacotes, sem QoS, principalmente sobre IP H.324 - redes de circuitos comutados PSTN

Multimdia sobre Redes de Pacotes


Informaes como voz e vdeo geram grandes quantidades de dados e so muito associadas temporizao 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 - Universalizao da plataforma

TCP/UDP como Protocolo de Transporte Multimdia


TCP Protocolo ponto-a-ponto com conexo (multicast!) Atrasos intolerveis na maior parte das aplicaes de tempo-real No possui um mecanismo para anexar informao de tempo nos segmentos UDP Tambm no define os mecanismos de temporizao citados acima

Apesar de certas funcionalidades poderem ser includas a nvel de aplicao, existe um conjunto de funes que merecem ser implementadas num protocolo especfico para trfego de tempo-real

RTP - Real Time Protocol RFC 3550


o protocolo adequado para transmitir multimdia digitalizada sobre uma rede IP Tem funes de protocolo de transporte mas roda sobre UDP e pode trabalhar com multicasting RTP no garante a entrega sincronizada dos pacotes, apenas prov informaes que ajudam na reproduo do fluxo na recepo Oferece suporte a:

Mixagens (mixing): combinao de mltiplos fluxos num nico (necessidade de um ponto com funes de mixer)

Tradutores (translators)

Mixer RTP

Faz o relay de trfego (fluxos) recebidos de um ou mais originadores, combina os fluxos recebidos e encaminha para um ou mais destinos Por exemplo: combinao de trfegos de voz numa conferncia para transmisso por link de menor velocidade

Tradutores (Translators) RTP

Faz o relay de trfego (fluxos) RTP recebidos para um ou mais destinos, aps haver ou no transformado os dados do fluxo Por exemplo: transformao de fluxo de vdeo de alta resoluo num fluxo de baixa resoluo, travessias atravs de firewalls ou encaminhamento unicast de trfego multicast

RTP (Real Time Protocol)


Integrao direta com a aplicao aceite por parte desta da entrega de segmentos com perdas A prpria aplicao pode reenviar dados ao ser sinalizada dos termos de QoS A aplicao, ento, define seus PDUs (APUs Application Data Units) Do mesmo modo RTP complementa UDP agregando funes (como sequenciamento) e trabalha num modo integrado entre camadas de protocolos

Cabealho RTP
Verso: 2 (atual) P: padding. Usado quando a aplicao o requer X: sinaliza o uso de cabealho de extenso CC: nmero de geradores de fluxo M: marker. Sua interpretao depende do tipo de payload. Normalmente sinaliza limites de um fluxo de dados, como o fim de um frame de vdeo. Sequence num: nmeros de sequncia. Primeiro randmico Media timestamp: deve ser contnuo mas com granularidade adequada ao payload Ptype:.codificao/tipo dos dados Synchronization source identifier: origem do fluxo Contributing source ID: cada campo deste tipo (podem ser vrios) identifica cada um dos geradores de fluxo. Gerado por um mixer RTP.

Alguns Tipos de Payload RTP

Pilha RTP

RTP (Real Time Protocol)


Vrios pacotes podem ter o mesmo timestamp caso os dados tenham sido gerados ao mesmo tempo (ex. Um frame de vdeo que ocupa vrios pacotes) Mdias diferentes devem ir por fluxos diferentes (por

RTP (Real Time Protocol)


Um nmero de sequncia garante a ordem dos pacotes, a eliminao de duplicatas e a deteco de perdas O timestamp permite a reproduo dos pacotes do fluxo no tempo correto em que o dado foi gerado

RTCP (Real Time Control Protocol)

parte obrigatria do RTP e utiliza uma porta imediatamente superior porta UDP sendo usada pelo RTP

RTCP
Oferece informaes de controle para fontes de trfego RTP:

Monitoramento da rede durante a sesso (aspectos de QoS e congestionamento) Sinalizao de controle fora-de-banda Identificao adequada de fontes de fluxo

Mensagens RTCP so periodicamente enviadas pelos participantes Existem vrios tipos de mensagens para implementar as funcionalidades acima

Padro H.323
H.323 um padro ITU-T e define um conjunto de protocolos para transmisso de trfego multimdia sobre redes de pacotes e que podem trabalhar em conjunto oferecendo os servios bsicos para compor um sistema de telefonia IP funcional O conjunto prov suporte todos os aspectos de uma chamada como:

Registro de um terminal Sinalizao de controle de chamadas e servios Codificao dos dados em tempo real Transmisso dos dados codificados

Padro H.323
Oferece ainda suporte para aplicaes de vdeo, compartilhamento de dados durante as sesses e as codificaes/decodificaes necessrias Define como a negociao de chamadas e os formatos das informaes necessrias No define:

Codificao de endereos Priorizao de trfego Segurana

H.323
Entidades previstas
Terminais Gateways Gatekeepers MCUs -Multipoint Control Unit

Protocolos
H.225.0 RAS (registration, admission, status) e sinalizao de chamada (call signalling) Q.931 Configurao de chamadas e terminao H.245 Controle de mdia / Sinalizao de capacidades T.120 Compartilhamento de dados

Gatekeepers executam as funes de servidor de diretrios (converso de endereos) e supervidor do sistema (controle e gerenciamento das chamadas)

Componentes de uma rede H.323


Gateways: permitem a interconexo de terminais H.323 com outros dispositivos de udio e traduzem a sinalizao de um lado para o outro

MCU (Multipoint Control Unit): suporta os servies de mltiplos usurios como conferncias (endereamentos unicast e multicast)

Gatekeeper
Funes:

Traduo de endereos Controle de admisso Controle de banda Gerenciamento de zonas Sinalizao de controle de chamadas Controle de chamadas

Descoberta do gatekeeper - atravs de mensagens multicast (224.0.1.41 - UDP 1718) Porta para registros e status: UDP/1719 Podem auxiliar a montagem de conferncias multiponto com H.245 repassando as conexes com todos os participantes e depois passando o canal H.245 para uma MCU

MCU Multipoint Control Unit


Chamada ponto a ponto multiponto Responsvel por prover recursos para trs ou mais entidades Formado por duas entidades: MC - Multipoint Controller Obrigatrio - prover controle para realizao da conferncia MP - Multipoint Processor Opcional - Distribui fluxos de vdeo e udio para

Pilha de Protocolos H.323


Codecs de udio e vdeo comprimem e descomprimem fluxos multimdia Fluxos multimdia so transportados por RTP/RTCP, rodando sobre UDP A sinalizaao transportada confivelmente sobre TCP
RAS - registration, admission, status Q.931 Configurao de chamadas e terminao H.245 Sinalizao de capacidades

Telefonia IP Protocolos H.323

Estabelecimento e Configurao de de Chamadas


Atravs de mensagens H.225 e Q.931/2 se estabelece a chamada, atravs de conexo na porta TCP/1720 (call control) H.225 tamb usado para RAS (registration, admission, status) - comunicao com o gatekeeper H.245 permite a o posterior acerto de canais lgicos, codecs e capacidades atravs 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 criao da chamada

Exemplo de Chamada H.323

SIP Session Initiation Protocol RFC 3261


Padro IETF para um protocolo de aplicao (sinalizao) que cobre somente a sinalizao necessria para se iniciar, modificar, convidar outros (para participar) e terminar chamadas (sesses) No oferece toda a funcionalidade do H.323 pretende ser parte da arquitetura IETF de suporte a aplicaes multimdia Baseado nos princpios aprendidos da comunidade Internet independente de aplicao

SIP
Herdou muito do protocolo HTTP (como o modo textual ou cdigos de erro, por exemplo) + SIMPLES! Implementaes mais baratas UTF-8 DEVE suportar TCP e UDP (porta 5060) PODE suportar outros transportes (como SCTP) Expansvel Pode permitir servios comuns das redes telefnicas (follow-me, rede inteligente, etc)

SIP
Call setup Negociao de funcionalidades e mdia Gerenciamento de chamada e mudanas on the fly Mapeamento de nomes Localizao de usurios Redirecionamento de chamadas

Componentes de uma rede SIP


User agents Client UAC poro 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 parmetros como endereos). No aceita nem inicia chamadas. Devolve as informaes. Registrar servidor que permite que terminais SIP registrem sua presena

Arquitetura SIP

Mtodos SIP

Outros mtodos foram definidos por outras RFC's

Pilha de Protocolos SIP

Chamadas SIP
1. Terminal chamador localiza servidor 2. Envio de request SIP via servidor 3. Terminal chamado responde 4. Resposta chega ao chamador 5. Chamador envia ACK Endereos SIP: username@hostname.domain Nomes de servidores sugerido: sip.domnio (como feito para os demais protocolos Internet. Ex. ftp.domnio)

Exemplo de Chamada SIP

SDP Session Description Protocol RFC 3264


Originalmente desenvolvido para descrever sesses multicast no MBone Descreve informaes de sesses multimdia:
Codificao da mdia Nmeros de porta Endereos multicast

No negocia parmetros de mdias Pode convidar pessoas ou at robs (como um media storage server) para uma conferncia 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 (anncio de conferncias e sesses multicast -ainda experimental) H.350/RFC 3944 - Directory Services Architectures in Support of Multimedia Conferencing Armazenamento de informaes de conferncias multimdia em servios de diretrio LDAP

Grupos de Trabalho IETF Relacionados


SIPPING aplicao de SIP em vrios contextos de telefonia e multimdia XCON Protocolos para conferncias centralizadas (preocupao com itens como autenticao, privacidade, permisso e combinao numa sesso) SIMPLE SIP em aplicaes IMP (messaging e presence) AVT Transporte de udio e Vdeo MMUSIC - Multiparty Multimedia Session Control trata SDP e demais protocolos

IAX Inter Asterisk eXchange Protocol


Alternativa criada pela comunidade Asterisk SIP e H.323, mas no um padro reconhecido oficialmente Codificao binria Sinalizao e mdia usam as mesmas portas (udp/4569) fcil uso com NAT Interrompe a chamada no caso de ausncia da outra parte O Asterisk suporta vdeo H.261 e H.263 atravs de canais IAX2 e SIP

Streaming
Vdeos grandes via WEB Aplicaes interativas Distribuies de vdeo em larga escala (webcasts) Melhor controle do que visto e por quem

Pode ser usado para replicar sesses de VCF em tempo real para outros usurio

RTSP Real Time Streaming Protocol RFC 2326


Protocolo de apresentao Controla a entrega sob demanda de dados real-time de udio e vdeo mas no carrega trfego de A/V! Fontes destes dados podem ser registros ao vivo ou armazenados em mdias Suporta entregas em mltiplas sesses, permite a escolha de canais de entrega como UDP, multicast UDP, TCP e mecanismos baseados no RTP Adequado para distribuio de vdeo para a Internet e vdeo sob demanda

VCF em Redes de Pacotes


Chamadas / Sesses Antes: somente voz Hoje: Voz + Vdeo + Messaging + ... VCF mais um tipo de sesso como jogos em rede, messaging ou VoIP Herda o modelo telefone

Segurana em VCF sobre Redes de Pacotes


Assunto complicado Servidores que oferecem o servio de VCF sofrero assim como os demais Registro/autenticao contabilizao Privacidade nas conversaes Ainda no existe infraestrutura de administrao para VCF

Protocolos para VCF em Redes de Pacotes


Protocolos de Sinalizao como H.323, SIP e IAX Transporte de Mdia normalmente RTP Protocolos de Suporte (redirecionamentos/localizao, QoS, etc) - DNS, SDP, LDAP, TRIP, RSVP, COPS, MEGACO, Diameter/Radius, etc

O problema com NAT


Normalmente o estabelecimento da chamada e sua sinalizao em geral independente do fluxo de mdia que ser gerado por ela A portas usadas pelos vrios protocolos so distintas, de forma que seja difcil a associao de uma chamada com o fluxo de mdia No h soluo direta e simples Para Linux: existe um patch SIP/RTP para o netfilter

Alguns Softwares Livres para VCF

www.gnugk. org

www.voxgratia.org www.openh323.org (antigo)

www.ekiga.org www.gnomemeeting.org yate.null.r o www.asterisk.o rg

Alguns Servios VCF na Internet


VRVS (Virtual Room Videoconferencing System) www.vrvs.org AccessGrid - www.accessgrid.org OpenWengo - www.openwengo.com Skype - www.skype.org CuSeeMe - www.cuworld.com

VRVS Virtual Room Videoconferencing System


Sistema de VCF de baixo custo disponvel via Internet criado pela CalTech e CERN Limita banda nas VCF 256 kbps Usa ferramentas do Mbone (vic, rat, etc) Suporte clientes H.323, quickplayer e VNC Refletor: servidor que serve de ponte do usurio com uma sala virtual

Observaes Finais
Serve como instrumento de divulgao e capacitao incluso social, reduo do analfabetismo, formao profissional Exige capacidade para ter qualidade - custo! VCF j pode ser implementada mas com limitaes sobre plataformas totalmente livres Ateno aos CODECs a serem usados! Patentes! FILME - http://uwtvproduction.org/convergence.html

Questes?

Stand FISL M06

Site do Projeto CESMIC: Site Professor:

www.cesmic.ucb.br

www.ucb.br/prg/professores/maurot