NewsGeneration: um serviço oferecido pela RNP desde 1997


ISSN 1518-5974
Boletim bimestral sobre tecnologia de redes
produzido e publicado pela  RNP – Rede Nacional de Ensino e Pesquisa
25 de julho de 2001 | volume 5, número 4

volta à página inicial de NewsGeneration

Nesta edição:

NewsGeneration:



Especificação e implementação do DynaVideo VoD

Pedro J. A. de Lima <>
Guido Lemos de Souza Filho <>
Virgínia C. C. de Paula <>

DIMAp - CCET - UFRN
Universidade Federal de Rio Grande do Norte

Resumo
1. Introdução
2. Especificação UML do DynaVideo
3. Projeto e Implementação
4. Conclusão
Referências bibliográficas

Resumo

Um sistema de vídeo sob demanda (VoD - Video on Demand) é um sistema onde um servidor envia a um cliente vídeo sob demanda, em tempo real, sobre uma infra-estrutura de rede de comunicação. Este trabalho foi realizado no contexto do projeto Natalnet , cujo principal objetivo foi realizar testes em aplicações multimídia como videoconferência, vídeo sob demanda e ensino a distância. Dentre as aplicações alvo do projeto, destaca-se a necessidade de disponibilizar o acervo de vídeos da TVU (TV Universitária da UFRN) sob demanda para usuários conectados à rede NatalNet. Esta demanda motivou o desenvolvimento de um sistema VoD que foi denominado DynaVideo (Dynamic Video Distribution Service). O projeto e implementação do DynaVideo seguiu as etapas usuais da engenharia de software: pesquisa e testes de outros sistemas existentes para definição dos requisitos; modelagem do sistema em UML e implementação. O protótipo do sistema foi implementado em Java. Atualmente, estamos avaliando seu desempenho.

^

1. Introdução

No contexto do Projeto Natalnet, foi identificada a necessidade de se utilizar um sistema de vídeo sob demanda para disponibilizar o acervo de vídeo da TVU para os integrantes do NatalNet. A partir deste ponto havia duas opções: comprar ou desenvolver um sistema. Optou-se por desenvolver, antes de mais nada porque no projeto não dispúnhamos de recursos suficientes para comprar um sistema pronto com suporte para vídeos MPEG. Além disso, identificou-se no projeto pessoal e infra-estrutura adequados.

Um sistema de vídeo sob demanda consiste, em linhas gerais, de um conjunto de equipamentos e de software que permitem ao usuário, por intermédio de uma interface instalada em um equipamento terminal (aparelho de televisão ou computador pessoal, por exemplo), enviar comandos a um equipamento servidor de vídeo, localizado nas instalações de uma empresa provedora do serviço, para estabelecer a programação que deseja assistir. Considerando esta definição, foram definidos os seguintes requisitos:

Foram consideradas ainda as seguintes características técnicas:

^

2. Especificação UML do DynaVideo

Baseado nos requisitos citados na introdução, o sistema foi modelado em UML. UML se utiliza de diagramas para expressar as várias visões que o sistema possui e para atender todas as etapas da engenharia de software.

A Figura 1 apresenta o diagrama de classes do DynaVideo. Este diagrama apresenta a arquitetura de software do sistema, mostrando uma visão estrutural (estática), através da descrição de suas classes e dos relacionamentos entre as classes.

diagrama de classes DynaVideo

Figura 1 - Diagrama de Classes do Sistema DynaVideo

Após concluída a etapa de especificação do sistema, partimos para a implementação de um protótipo com o objetivo de validar a especificação realizada.

^

3. Projeto e Implementação

O projeto do sistema adequou a modelagem ao ambiente escolhido para implementação da primeira versão do sistema: a plataforma Java. Java é uma linguagem de programação orientada a objetos que possui várias APIs (Application Programming Interface) que oferecem suporte a diferentes tarefas, tais como:

Assim, a opção por Java nos forneceu a infra-estrutura necessária para a implementação do sistema. Vale salientar que utilizamos também HTML para construção das interfaces da aplicação.

Os componentes do sistema foram implementados segundo a seguinte seqüência. Inicialmente, foi projetada e desenvolvida sua interface web. Essa interface foi construída com o uso de páginas HTML. O segundo passo foi implementar, usando servlets, o subsistema de busca de vídeos. A seguir foi implementado, com base na API JMF (Java Media Framework), o transmissor de vídeo. Durante o desenvolvimento, implementamos duas versões do cliente: uma como aplicação Java e outra como applet.

É válido ressaltar que a implementação foi bastante trabalhosa. A principal dificuldade encontrada foi a API JMF, pois a implementação de referência ainda é muito instável. Apesar da implementação ter sido concluída recentemente, os testes iniciais já mostram seu principal problema: o desempenho do cliente. Como ele é executado como um applet no browser da máquina do usuário, a qualidade do vídeo decodificado fica aquém do esperado.

A Figura 2 apresenta os módulos do DynaVideo que foram implementados.

diagrama de componentes DynaVideo

Figura 2 - Diagrama de componentes do sistema DynaVideo

^

4. Conclusão

Do trabalho realizado, destacamos as seguintes contribuições:

O trabalho já realizado abre várias perspectivas de trabalhos futuros, dentre os quais destacam-se:

^

Referências bibliográficas

[1] RIBEIRO, Berthier A. Vídeo sob Demanda no Lar: Ficção ou Realidade? Departamento de Ciência da Computação, UFMG. 01/outrubro/1999.
< http://www.vod.dcc.ufmg.br/doc/jornal.html >

[2] CECÍLIO, Edmundo L. & RODRIGUES, Rogério F. Vídeo Sob Demanda. Relatório Técnico TM 10, Laboratório Telemídia, Depto. de Informática, PUC-Rio. Outubro /1996. (60p.)

[3] STRATTON, Angela. Implementation of a Video on Demand MPEG Client-Server Model and ATM Networks. Tampere University of Technology, Filândia. 01/outubro/1999.
< http://www.cs.tut.fi:80/tlt/stuff/vod/VoDOverview/vod.html >

[4] ABRAM-PROFETA , Emmanuel L. e Shin , Kang G. Providing Unrestricted VCR Functions in Multicast Video-on-Demand Servers. IEEE International Conference on Multimedia Computing and Systems.
< http://dlib.computer.org/conferen/icmcs/8557/pdf/85570066.pdf >

[5] VIDEOCHARGER, IBM DB2 Digital Library. VideoCharger Server Key Features. Manuais de instalação. 27/01/2000.
< http://www-4.ibm.com/software/data/videocharger/vcserverkey.html >

[6] REALNETWORKS. Realserver Administration Guide RealSystem G2. Manual do Administrador. 13/11/1998.
< http://service.real.com/help/library/guides/g2/realsrvr.htm >

[7] Booch, Gary; Jacobson, Ivar e Rumbagh, James. The Unified Modeling Language User Guide. Rational Rose Coorporation. Ed. Addison-Wesley. Outubro/1998.

[8] SOUZA, Guido Lemos de. Projeto NatalNet. Projeto de pesquisa. Departamento de Informática e Matemática Aplicada - UFRN. 1997.

[9] GHEZZI, Carlo, JAZAYERI, Mehdi, & MANDRIOLI, Dino. Fundamentals of Software Engineering. Prentice-Hall International Editions. 1991.

^

NewsGeneration, um serviço oferecido pela RNP – Rede Nacional de Ensino e Pesquisa
Copyright © RNP, 1997 – 2004