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

Embed Size (px)

DESCRIPTION

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

Citation preview

  • 1. Padres Abertos e Software Livre para o Servio de Vdeoconferncia FISL 7 - 19/04/2006 Prof. Msc Mauro Tapajs

2. 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.

3. Mini-Currculo

  • Professor da Universidade Catlica de Braslia (UCB)

4. Coordernador Tcnico do Projeto CESMIC 5. Aluno de ps-graduao en "Direccin de Sistemas de Informacin en Entornos de Software Libre" na Universidad Obierta de Catalunya (Barcelona) 6. Mestre em Telecomunicaes e Redes pela UnB 7. Engenheiro Eletricista pela UnB 8. Trabalho com SL dede 1996 (vrias empresas) 9. Servio de Vdeoconferncia

  • Comunicao humana

10. Sesso de comunicao em tempo real por vdeo e udio entre dois ou mais pontos 11. Existem muitas situaes onde cabe o servio:reunies, cursos, conferncias, telemedicina, educao distncia-debates-palestras, etc 12. Disperso geogrfica 13. Necessita certa qualidade do servio de rede 14. Objetivos Comuns

  • Ampliar oalcancede comunicao entre profissionais

15. Reduzir ogastoutilizados no deslocamento fsico 16. Facilitardecisesque dependam de dois ou mais responsveis 17. Realizartreinamentosimultneo entre grupos que estejam em locais distintos 18. Origem do Servio

  • Interesse surge com o nascimento da TV

19. Primeiras VCFs baseadas na tecnologia de TV ligao de sistemas de TV com cabos 20. NASA links VHF/UHV com astronautas em rbita 21. Links satelitais usados pelas emissoras de TV 22. A tecnologia dos PCs e evoluo de CODECs e protocolos viabilizou o uso de VCF pelo pblico em geral 23. Histrico

  • 1964 AT&T apresenta oPicture Phone( Freeze frameeSlow motion)

24. 1973 Pacotes de voz pela ARPANET 25. 1976 NVPNetwork Voice Protocol 26. 1981 PVP (vdeo sobre pacotes) 27. 1982 CCITT - CODEC de vdeo H.120 (2 Mbps) 28. 1990 CCITT - CODEC de vdeo H.261 29. 1990 CCITT Padro H.320 para VCF sobre ISDN 30. 1992 RTP 31. 1996 IETF RTPv2 32. 1996 ITU-T CODEC H.263 (baixas velocidades) 33. 1996 H.324 VCF sobre POTS 34. 1996 H.323 v1 VCF sobre pacotes 35. 1998 H.323 v2 36. 1999 H.323 v3 37. 2000 H.323 v4 38. 2003 - CODEC H.264 39. Norma H.200 do ITU-T

  • Framework for Recommendations for audiovisual services

40. udio conferncia (somente udio) 41. Teleseminrio (udio e vdeo unidirecionais de uma origem com retorno em udio)

  • Conferncia Audiogrfica (udio, documentos e imagens)

42. Conferncia Audiodocumentacional (similar audioconferncia com transmisso de texto) 43. Freeze FrameVideoconferncia (similar conf. audiogrfica com envio de snapshots dos participantes) 44. Videoconferncia (similar conf. audiogrfica com vdeo) 45. Facilidades do Servio

  • Quadro Branco

46. Troca de arquivos/msgs 47. Cmera secundria 48. Controle remoto da cmera 49. Modos multiponto:

  • Tela cheia ( full screen )

50. Continuos presence impacto na banda necessria 51. Tipos de VCF

  • Quanto plataforma:
  • Appliance Systems

52. Baseada em PC ( Desktop ) Quanto ao porte:

  • Sistemas de sala

53. Set Top 54. Desktops (CODECs implementados em software) 55. Salas de Vdeoconferncia

  • Dimensionamento

56. Localizao Geogrfica 57. Iluminao 58. Acstica

  • Decorao

59. Layout 60. Mobilirio 61. Rack/Suporte 62. Infra-estrutura (cabeamento de rede, aterramento) 63. Preocupaes No-Tcnicas

  • Conjunto de procedimentos necessrios para facilitar a realizao de reunies, tais como:
  • Agendamento de conferncia

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

  • Ponto a ponto

69. Grupo x ponto 70. Grupo x grupo 71. Broadcast 72. Combinaes 73. Participao Ativa e Passiva Cenrios para VCF 74.

  • Melhor exemplo protocolos Internet:
  • Protocolos de rede: TCP/IP (aberto) X protocolos proprietrios (Novell, Win, etc)

75. Servio de Mail: RFC 822 (aberto) X X.400 (CCITT) 76. Protocolo de gerenciamento: SNMP (aberto) X CMIP (OSI) J existem vrios padres abertos para VCF (principalmente do ITU-T, ISO e IETF) Padres Abertos 77.

  • G.711 (A e micro) 64 kbps

78. G.722 SB-ADPCM - 48 a 64 kbps 79. G.722.1 MLT 24 a 32 kbps 80. G.722.2 ACELP 6,60 a 23,85 kbps 81. G.726 ADPCM 16 a 40 kbps (32 kbps) 82. G.727 mesmo que G.726 com otimizaes para PCME 83. G.728 LD-CELP 16 kbps 84. G.729 CS-ACELP 6,4 a 11,8 kbps (8 kbps) Patentes! 85. GSM 13 kbps 86. iLBC (RFC 3951) de 13,3 a 15,2 kbps) licena gratuita! 87. Speex voz em baixas taxas (2 a 22,4 kbps) 88. MP3 no um CODEC de telefonia! apenas usado para msica em espera CODEC's de Voz para VCF 89.

  • H.261 40 kbps a 2 Mpbs chega a 288x352 projetado para as linhas ISDN nx64 kbps (hoje considerado obsoleto)

90. H.262/MPEG2 Part-2 91. H.263 projetado para baixas taxas - j considerado obsoleto diante de H.264 92. H.264/MPEG4 Part 10/AVC (Advanced Video Coding) - 93. Theora livre CODEC's de Vdeo para VCF 94.

  • Grupo de trabalho ISO

95. MPEG-1- udio/vdeo

  • MP3 (layer III) e VCD

96. 352x240 (NTSC 30 fps) e 352x288 (PAL 25 fps) 320x240 (PC) 97. 1,2 a 1,5 Mbps - Qualidade: VHS a 30 fps MPEG-2 udio/vdeo de alta qualidade

  • DVD

98. Velocidades de 2 Mbps at 15 Mbps so suportadas 99. 720X480 (4:3) at 1920x1080 (16:9 HDTV) Padres MPEG ( Moving Picture Experts Group ) 100.

  • MPEG-4 udio/vdeo para redes de banda limitada
  • Velocidades de 56 kbps at 2 Mbps

101. AAC (Apple iTunes, por exemplo) 102. Containerde vrios tipos de objetos de mdia sicronizados 103. Suporte a DRM! MPEG-7-Multimedia Content Description Interface

  • Metadados

MPEG-21-Multimedia Framework

  • DRM

Padres MPEG ( Moving Picture Experts Group ) 104.

  • Multimdia sobre:
  • H.320 ISDN

105. H.321, H.310 Broadband ISDN 106. H.322 comutao de pacotes, com QoS, Ethernet iscrona 107. H.323 - comutao de pacotes, sem QoS, principalmente sobre IP 108. H.324 - redes de circuitos comutados PSTN Padres ITU-T H.xxx para VCF 109. 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

110. CODECs sofisticados exigem processamento e imbutem atrasos no fluxo de dados 111. IP is everywhere -Universalizao da plataforma 112. TCP/UDP como Protocolo de Transporte Multimdia

  • TCP
  • Protocolo ponto-a-ponto com conexo ( multicast!)

113. Atrasos intolerveis na maior parte das aplicaes de tempo-real 114. 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 115. RTP -Real Time Protocol RFC 3550

  • o protocolo adequado para transmitir multimdia digitalizada sobre uma rede IP

116. Tem funes de protocolo de transporte mas roda sobre UDP e pode trabalhar commulticasting 117. RTP no garante a entrega sincronizada dos pacotes, apenas prov informaes que ajudam na reproduo do fluxo na recepo 118. Oferece suporte a:

    • Mixagens ( mixing ): combinao de mltiplos fluxos num nico (necessidade de um ponto com funes demixer )
  • 119. Tradutores(translators)

120. MixerRTP

  • Faz o relay de trfego (fluxos) recebidos de um ou mais originadores, combina os fluxos recebidos e encaminha para um ou mais destinos

121. Por exemplo: combinao de trfegos de voz numa conferncia para transmisso por link de menor velocidade 122. 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

123. 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 124. RTP ( Real Time Protocol )

  • Integrao direta com a aplicao aceite por parte desta da entrega de segmentos com perdas

125. A prpria aplicao pode reenviar dados ao ser sinalizada dos termos de QoS 126. A aplicao, ento, define seus PDUs (APUs Application Data Units ) 127. Do mesmo modo RTP complementa UDP agregando funes (como sequenciamento) e trabalha num modo integrado entre camadas de protocolos 128. Cabealho RTP

  • Verso : 2 (atual)

129. P :padding.Usado quando a aplicao o requer 130. X : sinaliza o uso de cabealho de extenso 131. CC : nmero de geradores de fluxo 132. M :marker.Sua interpretao depende do tipo depayload . Normalmente sinaliza limites de um fluxo de dados, como o fim de um frame de vdeo. 133. Sequence num : nmeros de sequncia.Primeiro randmico 134. Media timestamp : deve ser contnuo mas com granularidade adequada ao payload 135. Ptype: .codificao/tipo dos dados 136. Synchronization source identifier : origem do fluxo 137. Contributing source ID : cada campo deste tipo (podem ser vrios) identifica cada um dos geradores de fluxo. Gerado por um mixer RTP. 138. Alguns Tipos dePayloadRTP 139. Pilha RTP 140.

  • Vrios pacotes podem ter o mesmotimestampcaso os dados tenham sido gerados ao mesmo tempo (ex. Um frame de vdeo que ocupa vrios pacotes)

141. Mdias diferentes devem ir por fluxos diferentes (por exemplo: o vdeo e seu udio) RTP ( Real Time Protocol ) 142. RTP ( Real Time Protocol )

  • Um nmero de sequncia garante a ordem dos pacotes, a eliminao de duplicatas e a deteco de perdas

143. Otimestamppermite a reproduo dos pacotes do fluxo no tempo correto em que o dado foi gerado 144.

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

RTCP ( Real Time Control Protocol ) 145. RTCP

  • Oferece informaes de controle para fontes de trfego RTP:
    • Monitoramento da rede durante a sesso (aspectos de QoS e congestionamento)
  • 146. Sinalizao de controle fora-de-banda

147. Identificao adequada de fontes de fluxo

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

148. 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

149. O conjunto prov suporte todos os aspectos de uma chamada como:

    • Registro de um terminal
  • 150. Sinalizao de controle de chamadas e servios

151. Codificao dos dados em tempo real 152. Transmisso dos dados codificados 153. Padro H.323

  • Oferece ainda suporte para aplicaes de vdeo, compartilhamento de dados durante as sesses e ascodificaes/decodificaes necessrias

154. Define como a negociao de chamadas e os formatos das informaes necessrias 155. No define:

    • Codificao de endereos
  • 156. Priorizao de trfego

157. Segurana 158. H.323

  • Entidades previstas
  • Terminais

159. Gateways 160. Gatekeepers 161. MCUs - Multipoint Control Unit Protocolos

  • H.225.0 RAS ( registration, admission, status ) e sinalizao de chamada ( call signalling )

162. Q.931 Configurao de chamadas e terminao 163. H.245 Controle de mdia / Sinalizao de capacidades 164. T.120 Compartilhamento de dados 165. RTP/RTCP Transporte de mdia 166. Componentes de uma rede H.323

  • MCU ( Multipoint Control Unit ):suporta os servies de mltiplos usurios como conferncias (endereamentosunicaste multicast)

Gateways : permitem a interconexo de terminais H.323 com outros dispositivos de udio e traduzem a sinalizao de um lado para o outro Gatekeepersexecutam as funes de servidor de diretrios (converso de endereos) e supervidor do sistema (controle e gerenciamento das chamadas) 167. Gatekeeper

  • Funes:
    • Traduo de endereos
  • 168. Controle de admisso

169. Controle de banda 170. Gerenciamento de zonas 171. Sinalizao de controle de chamadas 172. Controle de chamadas

  • Descoberta dogatekeeper - a travs de mensagens multicast (224.0.1.41 - UDP 1718)

173. Porta para registros e status: UDP/1719 174. 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 175.

  • Chamada ponto a pontomultiponto

176. Responsvel por prover recursos para trs ou mais entidades 177. Formado por duas entidades:

  • MC -Multipoint Controller -Obrigatrio - prover controle para realizao da conferncia

178. MP -Multipoint Processor -Opcional - Distribui fluxos de vdeo e udio para entidadesMCU Multipoint Control Unit 179. Pilha de Protocolos H.323

  • Codecs de udio e vdeo comprimem e descomprimem fluxos multimdia

180. Fluxos multimdia so transportados por RTP/RTCP, rodando sobre UDP 181. A sinalizaao transportada confivelmente sobre TCP

  • RAS -registration, admission, status

182. Q.931 Configurao de chamadas e terminao 183. H.245 Sinalizao de capacidades 184. Telefonia IP Protocolos H.323 185. 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 )

186. H.225 tamb usado para RAS ( registration, admission, status ) - comunicao com ogatekeeper 187. H.245 permite a o posterior acerto de canais lgicos, codecs e capacidades atravs da porta TCP indicada em mensagens de estabelecimento da chamada 188. H.245 usado depois do estabelecimento da chamada 189. Existe uma facilidade defast startpara reduzir os passos na criao da chamada 190. Exemplo de Chamada H.323 191. 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)

192. No oferece toda a funcionalidade do H.323 pretende ser parte da arquitetura IETF de suporte a aplicaes multimdia 193. Baseado nos princpios aprendidos da comunidade Internet independente de aplicao 194. SIP

  • Herdou muito do protocolo HTTP (como o modo textual ou cdigos de erro, por exemplo)

195. + SIMPLES! Implementaes mais baratas 196. UTF-8 197. DEVE suportar TCP e UDP (porta 5060) 198. PODE suportar outros transportes (como SCTP) 199. Expansvel 200. Pode permitir servios comuns das redes telefnicas ( follow-me , rede inteligente, etc) 201. SIP

  • Call setup

202. Negociao de funcionalidades e mdia 203. Gerenciamento de chamada e mudanas on the fly 204. Mapeamento de nomes 205. Localizao de usurios 206. Redirecionamento de chamadas 207. Componentes de uma rede SIP

  • User agents Client UAC poro cliente localizada no terminal SIP

208. 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
  • 209. Redirect server redireciona chamadas (tratando adequadamente parmetros como endereos). No aceita nem inicia chamadas. Devolve as informaes.

210. Registrar servidor que permite que terminais SIPregistrem sua presena 211. Location server encontra destinos 212. Arquitetura SIP 213. Mtodos SIP

  • Outros mtodos foram definidos por outras RFC's

214. Pilha de Protocolos SIP 215. Chamadas SIP

  • Terminal chamador localiza servidor

216. Envio derequestSIP via servidor 217. Terminal chamado responde 218. Resposta chega ao chamador 219. Chamador envia ACK

  • Endereos SIP:[email_address]

220. Nomes de servidores sugerido:sip.domnio(como feito para os demais protocolos Internet. Ex.ftp.domnio ) 221. Exemplo de Chamada SIP 222. SDP Session Description Protocol RFC 3264

  • Originalmente desenvolvido para descrever sesses multicast no MBone

223. Descreve informaes de sesses multimdia:

  • Codificao da mdia

224. Nmeros de porta 225. Endereos multicast No negocia parmetros de mdias 226. Pode convidar pessoas ou at robs (como ummedia storage server ) para uma conferncia 227. Suas mensagens trafegam encapsuladas em mensagens SIP 228. Alguns Protocolos Relacionados

  • RFC 3489 - STUNSimple Traversal of User Datagram Protocol (UDP) Through Network Address Translators(NATs)

229. RFC 2974 SAPSession Announcement Protocol(anncio de conferncias e sesses multicast -ainda experimental) 230. H.350/RFC 3944 -Directory Services Architectures in Support of Multimedia Conferencing- Armazenamento de informaes de conferncias multimdia em servios de diretrio LDAP 231.

  • SIPPING aplicao de SIP em vrios contextos de telefonia e multimdia

232. XCON Protocolos para conferncias centralizadas (preocupao com itens como autenticao, privacidade, permisso e combinao numa sesso) 233. SIMPLE SIP em aplicaes IMP ( messagingepresence ) 234. AVT Transporte de udio e Vdeo 235. MMUSIC -Multiparty Multimedia Session Control trata SDP e demais protocolos Grupos de Trabalho IETF Relacionados 236.

  • Alternativa criada pela comunidadeAsterisk SIP e H.323, mas no um padro reconhecido oficialmente

237. Codificao binria 238. Sinalizao e mdia usam as mesmas portas (udp/4569) fcil uso com NAT 239. Interrompe a chamada no caso de ausncia da outra parte 240. O Asterisk suporta vdeo H.261 e H.263 atravs de canais IAX2 e SIP IAX Inter Asterisk eXchange Protocol 241.

  • Vdeos grandes via WEB

242. Aplicaes interativas 243. Distribuies de vdeo em larga escala ( webcasts ) 244. Melhor controle do que visto e por quem 245. Pode ser usado para replicar sesses de VCF em tempo real para outros usurio Streaming 246.

  • Protocolo de apresentao

247. Controla a entrega sob demanda de dados real-time de udio e vdeo mas no carrega trfego de A/V! 248. Fontes destes dados podem ser registros ao vivo ou armazenados em mdias 249. Suporta entregas em mltiplas sesses, permite a escolha de canais de entrega como UDP, multicast UDP, TCP emecanismos baseados no RTP 250. Adequado para distribuio de vdeo para a Internet e vdeo sob demanda RTSP Real Time Streaming Protocol RFC 2326 251.

  • Chamadas / Sesses
  • Antes: somente voz

252. Hoje: Voz + Vdeo +Messaging+ ... VCF mais um tipo de sesso como jogos em rede, messaging ou VoIP 253. Herda o modelo telefone VCF em Redes de Pacotes 254.

  • Assunto complicado

255. Servidores que oferecem o servio de VCF sofrero assim como os demais 256. Registro/autenticao contabilizao 257. Privacidade nas conversaes 258. Ainda no existe infraestrutura de administrao para VCF Segurana em VCF sobre Redes de Pacotes 259.

  • Protocolos de Sinalizao como H.323, SIP e IAX

260. Transporte de Mdia normalmente RTP 261. Protocolos de Suporte (redirecionamentos/localizao, QoS, etc) - DNS, SDP, LDAP, TRIP, RSVP, COPS, MEGACO, Diameter/Radius, etc Protocolos para VCF em Redes de Pacotes 262.

  • Normalmente o estabelecimento da chamada e sua sinalizao em geral independente do fluxo de mdia que ser gerado por ela

263. A portas usadas pelos vrios protocolos so distintas, de forma que seja difcil a associao de uma chamada com o fluxo de mdia 264. No h soluo direta e simples 265. Para Linux: existe um patch SIP/RTP para o netfilter O problema com NAT 266.

  • www.asterisk.org
  • www.gnugk.org
  • www.ekiga.org

267. www.gnomemeeting.org

  • www.voxgratia.org

268. www.openh323.org(antigo)Alguns Softwares Livres para VCF

  • yate.null.ro

269.

  • VRVS ( Virtual Room Videoconferencing System)- www.vrvs.org

270. AccessGrid - www.accessgrid.org 271. OpenWengo - www.openwengo.com 272. Skype - www.skype.org 273. CuSeeMe - www.cuworld.com Alguns Servios VCF na Internet 274.

  • Sistema de VCF de baixo custo disponvel via Internet criado pela CalTech e CERN

275. Limita banda nas VCF 256 kbps 276. Usa ferramentas do Mbone (vic, rat, etc) VRVS Virtual Room Videoconferencing System

  • Suporte clientes H.323, quickplayer e VNC

277. Refletor: servidor que serve de ponte do usurio com uma sala virtual 278.

  • Serve como instrumento de divulgao e capacitao incluso social, reduo do analfabetismo, formao profissional

279. Exige capacidade para ter qualidade - custo! 280. VCF j pode ser implementada mas com limitaes sobre plataformas totalmente livres 281. Ateno aos CODECs a serem usados! Patentes! 282. FILME - http://uwtvproduction.org/convergence.html Observaes Finais 283. Questes? 284. Site do Projeto CESMIC:www.cesmic.ucb.br Site Professor:www.ucb.br/prg/professores/maurot Stand FISL M06