11.07.2015 Views

inVídeo - DigitUMa - Universidade da Madeira

inVídeo - DigitUMa - Universidade da Madeira

inVídeo - DigitUMa - Universidade da Madeira

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ResumoA utilização de vídeo e áudio sobre a Internet tem ganho nos últimos anos um interessecrescente. Na ver<strong>da</strong>de, o interesse não é recente, mas os limites tecnológicos de variadíssimasordens impediam o desenvolvimento e a utilização alarga<strong>da</strong> de aplicações com media ricos. Osavanços nas tecnologias relaciona<strong>da</strong>s com, por exemplo, a compressão, as redes e as ferramentasmultimédia possibilitaram o desenvolvimento e o funcionamento, de uma forma alarga<strong>da</strong>, desistemas multimédia.O trabalho apresentado nesta dissertação descreve a especificação e a implementação de umsistema de formação à distância, designado inVídeo, que utiliza o vídeo como elemento central. Osistema tem como objectivo proporcionar formação por intermédio de uma aplicação que permitea visualização paralela de um vídeo com imagens ou animações, acompanha<strong>da</strong> com outros <strong>da</strong>dos,como texto e acesso a ficheiros que podem ser descarregados. O enquadramento para estaaplicação surgiu <strong>da</strong>s necessi<strong>da</strong>des de formação contínua de um centro hospitalar, to<strong>da</strong>via aaplicação foi desenvolvi<strong>da</strong> para poder ser utiliza<strong>da</strong> noutras instituições.A especificação passou pela descrição do problema e sua modelação utilizando um métodopara o desenvolvimento de aplicações interactivas, o WISDOM. A implementação descreve osistema desenvolvido, a justificação <strong>da</strong>s opções tecnológicas e os resultados de um inquérito feitoaos utilizadores do sistema.O desenvolvimento do sistema levou ao estudo e, em alguns casos, à utilização de umconjunto de tecnologias distintas. Os estudos iniciais abor<strong>da</strong>ram as tecnologias que possibilitam autilização do vídeo sobre a Internet e algumas <strong>da</strong>s suas condicionantes. Seguiram-se a composição,sincronização e interactivi<strong>da</strong>de multimédia, e por fim o uso de meta<strong>da</strong>dos para conteúdoseducacionais.A resposta <strong>da</strong><strong>da</strong> pelos utilizadores durante a utilização do sistema foi bastante satisfatória erevelou um grande interesse no uso do vídeo sobre a Internet. A construção de aplicações paraInternet utilizando media exigentes deixou de ser a tarefa complexa que era há alguns anos, istodevido aos avanços tecnológicos. To<strong>da</strong>via o desenvolvimento ain<strong>da</strong> necessita de muita ponderaçãoe do enquadramento de muitos factores relacionados com a codificação dos media e com aheterogenei<strong>da</strong>de <strong>da</strong>s redes, dos utilizadores e dos equipamentos.inVídeo: uma aplicação de vídeo interactivo sobre a Interneti


AbstractUsing audio and video over the Internet has become increasingly popular in the last years.Actually, the interest has not been recent, but several technological limitations avoided a broaderusage of rich media applications. The advances in the technologies related to, for example,compression, networking and multimedia tools, allowed the development and the use ofmultimedia systems by a larger number of persons.The work presented in this thesis describes the specification and the implementation of adistance training system, inVídeo, which uses the video as central element. The main purpose ofthe system is to provide training with an application that presents a video in parallel with animage or animation. The scene is complemented with other elements, as texts, and with the accessto additional files for downloading. This system is a result of a need of training detected in amedical centre, although the usage of this system in other institutions is possible.The specification was made with the description of the system and its modulation, using amethod to develop interactive applications. The implementation describes the system developed,justifies the several technological choices and presents the result of an inquiry given to systemusers.The development of the system led us to the study and, in some cases, to differenttechnology choices. The initial studies were about the technologies that allow the usage of videoover the Internet and its limitations. The next study was the multimedia composition,synchronization and interactivity, and at last the use of meta<strong>da</strong>ta for educational contents.The response given by system users was very positive and demonstrated the interest invideo over the Internet. The development of applications for the Internet using demanding mediano longer is the complex task that was a few years ago, thanks to the technological advances.Though, the development of this kind of applications still needs lots of perception in numerousfactors related to media coding and network, users and terminal heterogeneity.inVídeo: uma aplicação de vídeo interactivo sobre a Internetii


RésuméL’utilisation de la vidéo et de l’audio sur l’Internet gagne de plus en plus d’intérêt, au longdes dernières années. En fait, l’intérêt n’est pas récent, mais jusqu’à présent les limitestechnologiques les plus variées ont empêché le développement et l’utilisation élargie desapplications avec les media riches. Les innovations technologiques, <strong>da</strong>ns les domaines de lacompression, des réseaux et des outils multimédias, ont rendu possible le développement et lefonctionnement des systèmes multimédias en générale.Le travail présenté <strong>da</strong>ns cette dissertation décrit la spécification et l’implémentation d’unsystème, nommé inVídeo, qui utilise la vidéo comme l’élément central. Le système a commeobjectif proportionner une formation avec l’aide d’une application qui permet la visualisationparallèle d’une vidéo avec des images ou des animations, accompagnée d’autres données, commele texte et l’accès aux fichiers qui peuvent être déchargés. L’encadrement pour cette applicationapparaît avec les besoins d’une formation continue d’un centre hospitalier, cepen<strong>da</strong>nt l’applicationa été aussi développée de manière à être utilisée par d’autres institutions.La spécification consiste à décrire le problème et son modelage en utilisant une méthodepour le développement des applications interactives, le WISDOM. L’implémentation décrit lesystème développé, la justification des options technologiques et les résultats d’un questionnaireréalisé aux utilisateurs du système.Le développement du système a conduit à l’étude et, en cas spécifiques, à l’utilisation d’unensemble de différentes technologies. Les études initiales ont abordé les technologies qui donnentla possibilité d’utiliser la vidéo sur l’Internet et quelques-unes de ses limitations. Ensuiteapparaissent la composition, la synchronisation, et l’interactivité multimédia et finalement l’usagedes métadonnées pour les contenus éducatifs.La réponse présentée par les utilisateurs pen<strong>da</strong>nt l’utilisation du système a été trèssatisfaisante et a démontré un grand intérêt par l’usage de la vidéo sur l’Internet. La constructiondes applications pour l’Internet, en utilisant des médias exigeants, n’est plus la tâche complexe quiétait auparavant, car les évolutions technologiques ont permis la diminution de ces difficultés.Néanmoins le développement doit encore être bien pondéré et dépend de l’encadrement deplusieurs facteurs en rapport avec la codification des media et avec l’hétérogénéité des réseaux,des utilisateurs et des équipements.inVídeo: uma aplicação de vídeo interactivo sobre a Internetiii


AgradecimentosAgradeço ao Prof. Eurico Carrapatoso por ter aceite a orientação desta dissertação e a pelaforma atenta e participa<strong>da</strong> como a fez, mostrando grande disponibili<strong>da</strong>de e deixando sugestões ecríticas, as quais considerei interessantes e pertinentes, em todos os momentos do trabalho.Agradeço à direcção do Departamento de Matemática e Engenharia <strong>da</strong> <strong>Universi<strong>da</strong>de</strong> <strong>da</strong><strong>Madeira</strong>, na pessoa do Prof. José Carmo, pelo constante interesse e apoio a vários níveis duranteestes meses de trabalho. Agradecimento que estendo a todos os colegas do departamento pelo bomambiente de discussão e reflexão que proporcionaram.Ao Dr. Manuel Pereira e a to<strong>da</strong> a sua equipa no Centro Hospitalar do Funchal agradeço otempo cedido e as opiniões relevantes que muito contribuíram para a especificação de um sistemamais completo e adequado.Ao Prof. Carlos Oliveira agradeço as sugestões que muito apoiaram a realização destetrabalho.Agradeço ao Prof. Nuno Nunes, Eng. Pedro Valente, Eng. Pedro Campos e Eng. DuarteCosta os esclarecimentos, as sugestões e as opiniões que deram no âmbito <strong>da</strong> especificação dosistema.Um agradecimento à instituição Centro de Ciência e Tecnologia <strong>da</strong> <strong>Madeira</strong> (CITMA) oapoio <strong>da</strong>do sob a forma de uma bolsa individual de formação.Agradeço à Eng.ª Lina Brito e aos alunos de Engenharia de Redes e Dados por se teremdisponibilizado para aju<strong>da</strong>r na criação dos conteúdos para teste. Agradeço também a eles e a umrestante grupo de pessoas a disponibili<strong>da</strong>de que tiveram para testar o sistema inVídeo, deixandoopiniões e críticas construtivas.À Dr.ª Carol Marques, à Dr.ª Elisabete Silva e ao Sr. Fernando Letra agradeço o tempo quetiveram para me apoiar na re<strong>da</strong>cção deste trabalho.Ao Sr. Nelson Vasconcelos agradeço a amizade e a aju<strong>da</strong> presta<strong>da</strong> durante estes dois anos demestrado.Desejo ain<strong>da</strong> deixar um agradecimento especial aos meus tios, Luísa Alves e José Gonçalves,por me terem recebido tão bem e muito aju<strong>da</strong>do nas minhas constantes deslocações ao Porto.inVídeo: uma aplicação de vídeo interactivo sobre a Internetiv


Índice4.3.3.3 Recursos ................................................................................................................................... 544.3.3.4 Ficheiros ................................................................................................................................... 554.3.4 Perfis de pacotes de conteúdos .................................................................................................. 554.3.5 Meta<strong>da</strong>dos .................................................................................................................................... 574.4 Sequência e navegação ..................................................................................................................... 584.4.1 Sequência ...................................................................................................................................... 584.4.1.1 Árvore de activi<strong>da</strong>des ............................................................................................................ 594.4.1.2 Clusters ..................................................................................................................................... 594.4.1.3 Sub-manifestos ........................................................................................................................ 604.4.1.4 Activi<strong>da</strong>de de ensino ............................................................................................................. 614.4.1.5 Tentativa .................................................................................................................................. 614.4.1.6 Sessão de sequência ............................................................................................................... 624.4.1.7 Monitorização do estado <strong>da</strong> activi<strong>da</strong>de .............................................................................. 624.4.1.8 Objectivos de ensino .............................................................................................................. 624.4.2 Navegação .................................................................................................................................... 634.5 Ambiente de execução ..................................................................................................................... 644.6 Conclusão........................................................................................................................................... 655. Especificação do sistema inVídeo ............................................................................................................ 665.1 Introdução .......................................................................................................................................... 675.2 O método WISDOM ......................................................................................................................... 675.3 Descrição ............................................................................................................................................ 695.4 Casos de utilização ........................................................................................................................... 715.5 Diagramas de activi<strong>da</strong>des ............................................................................................................... 725.6 Diagrama de análise ......................................................................................................................... 745.7 Arquitectura conceptual do sistema .............................................................................................. 765.8 Modelo de desenho .......................................................................................................................... 775.9 Modelo de apresentação .................................................................................................................. 795.10 Refinamento dos espaços de interacção ........................................................................................ 795.11 Conclusão........................................................................................................................................... 826. Implementação do sistema inVídeo ........................................................................................................ 836.1 Opções tecnológicas ......................................................................................................................... 846.1.1 Ferramentas e linguagens ........................................................................................................... 846.1.1.1 Opções ...................................................................................................................................... 846.1.1.2 Ferramentas e linguagens escolhi<strong>da</strong>s .................................................................................. 856.1.2 Norma para a importação e exportação ................................................................................... 876.2 Apresentação do sistema ................................................................................................................. 886.2.1 Diagrama de componentes......................................................................................................... 896.2.2 Ecrãs <strong>da</strong> aplicação cliente ........................................................................................................... 906.2.2.1 Ecrã de acesso ......................................................................................................................... 906.2.2.2 Ecrã dos cursos ....................................................................................................................... 916.2.2.3 Ecrã dos módulos e <strong>da</strong>s sessões ........................................................................................... 926.2.2.4 Ecrã <strong>da</strong> lição ............................................................................................................................ 936.2.3 Excertos do código ...................................................................................................................... 956.2.3.1 Implementação <strong>da</strong> sincronização ......................................................................................... 956.2.3.2 Implementação <strong>da</strong>s comunicações ....................................................................................... 966.2.3.3 Implementação dos controlos ............................................................................................... 976.3 Utilização <strong>da</strong> aplicação .................................................................................................................... 986.3.1 Utilizadores e características técnicas ....................................................................................... 99inVídeo: uma aplicação de vídeo interactivo sobre a Internetvii


Índice6.3.2 Apreciação <strong>da</strong> utilização <strong>da</strong> aplicação .................................................................................... 1006.3.3 Análise aos resultados do inquérito........................................................................................ 1016.4 Conclusão......................................................................................................................................... 1027. Conclusões ................................................................................................................................................ 1037.1 Conclusões ....................................................................................................................................... 1047.2 Desenvolvimentos futuros ............................................................................................................ 107Referências .................................................................................................................................................... 109Bibliografia ................................................................................................................................................... 112Anexo A – Documento SMIL ..................................................................................................................... 113Anexo B – Manifesto SCORM .................................................................................................................... 115Anexo C – Resultados do inquérito .......................................................................................................... 120inVídeo: uma aplicação de vídeo interactivo sobre a Internetviii


Lista de FigurasFigura 2-1 Componentes de um sistema de streaming ............................................................................... 9Figura 2-2 Exemplo de unicast e multicast .................................................................................................. 10Figura 2-3 Arquitectura para o streaming de vídeo ................................................................................... 15Figura 2-4 Pilha protocolar do streaming .................................................................................................... 19Figura 2-5 Sinalização feita pelo RSVP ....................................................................................................... 23Figura 2-6 Âmbito dos serviços integrados e serviços diferenciados .................................................... 25Figura 3-1 Exemplo de temporização ......................................................................................................... 31Figura 3-3 Estrutura lógica de uma cena .................................................................................................... 40Figura 3-3 eXtensible MPEG-4 Textual Format (XMT)................................................................................ 42Figura 4-1 Organização geral do SCORM .................................................................................................. 48Figura 4-2 Exemplos de objectos simples ................................................................................................... 49Figura 4-3 Exemplo de um conteúdo partilhável (SCO).......................................................................... 50Figura 4-4 Exemplo de organização de conteúdos ................................................................................... 51Figura 4-5 Diagrama conceptual do pacote de conteúdos ....................................................................... 52Figura 4-6 Componentes de um manifesto ................................................................................................ 52Figura 4-7 Terminologia para a hierarquia de conteúdos ....................................................................... 54Figura 4-8 Recursos de um manifesto ........................................................................................................ 55Figura 4-9 Exemplo de um SCO representado como um elemento ................................... 55Figura 4-10 Exemplo de um pacote de agregação de conteúdo.............................................................. 56Figura 4-11 Exemplo de uma árvore de activi<strong>da</strong>des ................................................................................ 59Figura 4-12 Exemplo de cluster ................................................................................................................... 59Figura 4-13 Conversão de um manifesto com sub-manifestos em árvore de activi<strong>da</strong>des .................. 60Figura 4-14 Exemplo de uma activi<strong>da</strong>de de ensino .................................................................................. 61Figura 4-15 Ambiente de execução conceptual do SCORM .................................................................... 64Figura 5-1 Processo WISDOM [Nunes 01b] ............................................................................................... 68Figura 5-2 Organização dos modelos do WISDOM [Nunes 01b] ........................................................... 68Figura 5-3 Extensões WISDOM para o modelo de interacção ................................................................ 69Figura 5-4 Casos de utilização <strong>da</strong> aplicação .............................................................................................. 71Figura 5-5 Diagrama de activi<strong>da</strong>de de 'Realizar Sessão' .......................................................................... 73Figura 5-6 Diagrama de activi<strong>da</strong>des de ‘Criar Sessão’ ............................................................................. 74Figura 5-7 Diagrama de análise do caso de utilização ‘Realizar Sessão’ ............................................... 75Figura 5-8 Arquitectura conceptual do sistema ........................................................................................ 77Figura 5-9 Diagrama de classes ................................................................................................................... 78inVídeo: uma aplicação de vídeo interactivo sobre a Internetix


Lista de FigurasFigura 5-10 Diagrama de apresentação do aluno ..................................................................................... 79Figura 5-11 Componentes abstractos canónicos ....................................................................................... 80Figura 5-12 Refinamento do espaço de interacção ‘Realizar Lição’ ....................................................... 80Figura 5-13 Refinamento do espaço de interacção ‘Criar Lição’ ............................................................. 81Figura 6-1 Diagrama de componentes do sistema inVídeo ..................................................................... 89Figura 6-2 Ecrã de acesso à aplicação ......................................................................................................... 90Figura 6-3 Ecrã com a lista de cursos .......................................................................................................... 91Figura 6-4 Ecrã <strong>da</strong> lista de módulos e <strong>da</strong>s sessões .................................................................................... 92Figura 6-5 Ecrã <strong>da</strong> realização de uma lição ................................................................................................ 93Figura 6-6 Conhecimentos dos utilizadores e características dos computadores e acessos ............. 100Figura 6-7 Gráfico com os valores obtidos por ca<strong>da</strong> componente ........................................................ 101Figura A-1 Cena SMIL ................................................................................................................................ 113Figura B-1 Representação gráfica de um manifesto ............................................................................... 115inVídeo: uma aplicação de vídeo interactivo sobre a Internetx


Lista de TabelasTabela 4-1 Eventos de navegação e sua descrição .................................................................................... 63Tabela 6-1 Comparação de servidores de streaming ................................................................................. 85inVídeo: uma aplicação de vídeo interactivo sobre a Internetxi


AcrónimosADLADRIANEADSLAICCAPIASPCAMCBIDCMIDIFFSERVECMAFECFGSHTMLHTTPIEEEIETFIMSINTSERVIPITSLOMLMSLTSCMPEGPCMPDAPHPQoSRDISRTCPRTERTMPRTPRTSPRSVPSCOSCORMAdvanced Distributed LearningAlliance of Remote Instructional Authoring & Distribution Networks for EuropeAsymmetric Digital Subscriber LineAviation Industry CBT CommitteeApplication Program InterfaceActive Server PagesContent Aggregation ModelComputer Based InstructionDublin Core Meta<strong>da</strong>ta InitiativeDifferentiated ServicesEuropean Computer Manufacturers AssociationForward Error CorrectionFine Granularity ScalabilityHypertext Markup LanguageHypertext Transfer ProtocolInstitute of Electrical and Electronics EngineersInternet Engineering Task ForceIMS Global Learning Consortium, Inc.Integrated ServicesInternet ProtocolIntelligent Tutoring SystemsLearning Object Meta<strong>da</strong>taLearning Management SystemLearning Technology Stan<strong>da</strong>rds CommitteeMotion Picture Experts GroupPulse Code ModulationPersonal Digital AssistantPHP Hypertext Pre-processorQuality of ServiceRede Digital com Integração de ServiçosReal Time Transport Control ProtocolRun Time EnvironmentReal Time Messaging ProtocolReal Time Transport ProtocolReal Time Streaming ProtocolResource Reservation ProtocolSharable Content ObjectSharable Content Object Reference ModelinVídeo: uma aplicação de vídeo interactivo sobre a Internetxii


AcrónimosSLASMILSNSOSQLSSTCPUDPUMaUMLURIURLVRMLX3DXMLXMTW3CWISDOMService Level AgreementSynchronized Multimedia Integration LanguageSequência e NavegaçãoSistema OperativoSimple Query LanguageSequência SimplesTransmission Control ProtocolUser Datagram Protocol<strong>Universi<strong>da</strong>de</strong> <strong>da</strong> <strong>Madeira</strong>Unified Modelling LanguageUniversal Resource IdentifierUniversal Resource LocatorVirtual Reality Modeling LanguageeXtensible 3DeXtensible Markup LanguageeXtensible MPEG-4 Textual FormatWorld Wide Web ConsortiumWhitewater Interactive System Development with Object ModelsinVídeo: uma aplicação de vídeo interactivo sobre a Internetxiii


1. IntroduçãoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 1


Introdução1.1 MotivaçãoA utilização <strong>da</strong> Internet, desde o seu aparecimento, tem-se reinventado e recriadocontinuamente. Tomando como exemplo a sua aplicação mais conheci<strong>da</strong>, a web, cria<strong>da</strong> por TimBerners-Lee em 1990, integrava inicialmente apenas texto e imagem. Rapi<strong>da</strong>mente foramintegrados outros media, como a animação, o áudio e o vídeo, devido a um interesse crescente dosutilizadores e como forma de cativar novos utilizadores. A animação é introduzi<strong>da</strong> nas maisvaria<strong>da</strong>s aplicações, mas o áudio e o vídeo necessitaram de mais tempo para poderem serutilizados, devido a serem muito maiores em tamanho relativamente aos outros media e àsmúltiplas redes que constituem a Internet não terem sido projecta<strong>da</strong>s para media contínuos.Apenas nos últimos anos, devido às melhorias nas tecnologias de comunicação e compressão e aoaumento <strong>da</strong>s capaci<strong>da</strong>des de processamento e armazenamento, a criação de aplicações multimédiaricas sobre a Internet se tornou viável e atractiva para os criadores de conteúdos. Este facto nãosignifica que o desenvolvimento de aplicações com áudio e vídeo não tenha existido. Apenassurgiam para implementações específicas e para um conjunto de utilizadores conhecido e limitado.A criação de conteúdos para visualização nos navegadores web de um qualquer utilizadorsempre seguiu o princípio do mínimo denominador comum, que visa garantir o acesso dosutilizadores à quase totali<strong>da</strong>de dos conteúdos presentes na Internet. E considerou-se o acessotelefónico, tipicamente tendo uma largura de ban<strong>da</strong> máxima próxima dos 56 Kbps, como essemínimo denominador comum. A produção de conteúdos seguindo esta regra permitiu quenenhum utilizador se sentisse tecnologicamente posto de lado no acesso à grande maioria <strong>da</strong>informação existente, mas também limitou a possibili<strong>da</strong>de de existirem aplicações mais ricas einteressantes. Unicamente os conteúdos sem exigências de taxas de transmissão e de garantias deatraso, isto é, os media que não são utilizados em tempo real, como o texto e a imagem, foramusados exaustivamente na produção de informação para a web.A utilização de áudio e do vídeo apenas se tornaram viáveis com o surgimento de algumastecnologias e com a sua crescente adopção pelos utilizadores. As tecnologias de rede de ban<strong>da</strong>larga e a grande capaci<strong>da</strong>de de processamento e armazenamento existentes nos computadorespessoais actuais foram as razões tecnológicas mais fortes para o incremento <strong>da</strong> utilização de mediaricos.A utilização do áudio e do vídeo sobre a Internet tem tido um crescimento considerável nosúltimos anos. Já são muitas as empresas, principalmente as relaciona<strong>da</strong>s com a produção deconteúdos, sejam informativos, documentais ou de entretenimento, que não abdicam do recurso aestes meios. Temos como exemplo os resumos dos filmes e blocos de notícias. O interesse nacriação de aplicações criativas e apelativas utilizando o áudio e o vídeo é assim ca<strong>da</strong> vez maior.Os <strong>da</strong>dos de áudio e vídeo podem ser obtidos de duas formas distintas. A primeira, que écomo aceder a qualquer ficheiro na Internet, designa-se por modo download (modo que ain<strong>da</strong> sepode subdividir em normal e progressivo, este último permitindo descarregar o ficheiro e emparalelo visualizar os <strong>da</strong>dos já presentes no terminal do cliente). A segun<strong>da</strong> é o modo streaming,inVídeo: uma aplicação de vídeo interactivo sobre a Internet 2


Introduçãoca<strong>da</strong> vez mais usado, recorrendo a um servidor especializado, designado por servidor destreaming. Os <strong>da</strong>dos enviados por este servidor são codificados para formatos específicos eenviados para o cliente sobre protocolos especificamente definidos para o transporte de <strong>da</strong>dos emtempo real. Estas duas formas de disponibilizar conteúdos são bastantes diferentes e apresentam,ca<strong>da</strong> uma delas, vantagens e desvantagens. Destacam-se as seguintes vantagens: a simplici<strong>da</strong>depor parte do download, visto que não necessita de nenhum servidor específico, e a flexibili<strong>da</strong>de porparte do streaming, que permite a audição e/ou visualização quase imediata de qualquer parte doconteúdo.A definição de cenas multimédia, que contempla a composição, sincronização e interacção,também tem tido desenvolvimentos nos últimos anos. O aparecimento de normas para ca<strong>da</strong> mediaé demorado e envolve diversas disputas. O surgimento de uma norma que agregue os diferentesmedia, os sincronize e permita a sua interacção ain<strong>da</strong> tem sido mais difícil e complexo, com aconsequência de neste momento não existir nenhuma norma amplamente segui<strong>da</strong>. Têm aparecidovárias normas, umas proprietárias e outras públicas, mas nenhuma tem atingido umaimplementação e aceitação alarga<strong>da</strong>s. Por parte de ca<strong>da</strong> criador de ferramentas para produção eapresentação de conteúdos tem existido uma filosofia de defesa dos seus formatos, mantendo umaincompatibili<strong>da</strong>de com outros produtos. Apesar disso, algumas normas públicas já começam a teralguma maturi<strong>da</strong>de e apresentam-se como opções credíveis para os vários intervenientes. Osautores e produtores visam a eficiência do seu trabalho procurando gerar conteúdos que possamter uma base de utilização mais alarga<strong>da</strong>. Os distribuidores procuram fornecer serviços dequali<strong>da</strong>de, mas a complexi<strong>da</strong>de e o grande número de normas e formatos surgem comodificul<strong>da</strong>des para atingir esse fim. E os clientes querem simplici<strong>da</strong>de no acesso aos conteúdosmultimédia, por intermédio de uma aplicação única que permita aceder a diferentes conteúdos.As normas públicas, ca<strong>da</strong> vez mais aperfeiçoa<strong>da</strong>s, não descuram as funcionali<strong>da</strong>des quepermitem uma experiência mais rica aos utilizadores. A visualização simples já não é a mais valianos produtos actuais, o caminho mais utilizado é a interactivi<strong>da</strong>de. Os utilizadores de hoje nãoquerem apenas receber, de forma passiva, a informação que alguém criou para eles, ao invés,procuram a possibili<strong>da</strong>de de ter uma atitude activa perante essa informação. A interacção poderápassar por alterar a sequência de visualização, optar por determinados elementos e ter acesso acomplementos de informação.Uma preocupação existente no mundo multimédia, e isto deve-se a um crescente aumento naprodução de conteúdos, é a sua organização e referência, para acesso simplificado e futurasreutilizações. A necessi<strong>da</strong>de de rapi<strong>da</strong>mente se obterem conteúdos específicos não seria satisfeitase não existisse uma forma bem defini<strong>da</strong> e clara de os descrever e armazenar. A produção deconteúdos multimédia, em relação a conteúdos mais simples como apenas texto, ou texto eimagem, é bastante mais demora<strong>da</strong>, complexa e dispendiosa. A reutilização, uma funcionali<strong>da</strong>deca<strong>da</strong> vez mais exigi<strong>da</strong> devido aos ganhos de produtivi<strong>da</strong>de que traz, apenas é possível se houveruma forma simples de referir e referenciar os conteúdos já produzidos. Os meta<strong>da</strong>dos, método deassociar informação varia<strong>da</strong> aos <strong>da</strong>dos, possibilitam efectuar sobre os <strong>da</strong>dos acções de pesquisa edescoberta para novas utilizações. Além destas preocupações é também <strong>da</strong><strong>da</strong> atenção àinVídeo: uma aplicação de vídeo interactivo sobre a Internet 3


Introduçãoreutilização dos conteúdos em diferentes ambientes e plataformas, como forma de optimizar a suautilização.O áudio e vídeo sobre a Internet, na sua vertente de streaming, têm já muitas e diversaspossibili<strong>da</strong>des de aplicação como Rádio Web, Vídeo a Pedido, Ensino à Distância,Videoconferência, Cinema Digital, Câmaras de Streaming e outras ain<strong>da</strong> emergentes comoStreaming Móvel e de Alta Definição. Se as utilizações já existem, a sua difusão e aceitação sãoain<strong>da</strong> reduzi<strong>da</strong>s, isto devido às limitações tecnológicas já referi<strong>da</strong>s e ain<strong>da</strong> presentes em muitoscasos. Onde estas limitações já foram ultrapassa<strong>da</strong>s, a existência de aplicações adequa<strong>da</strong>s eatraentes ain<strong>da</strong> é em pequeno número e com funcionali<strong>da</strong>de reduzi<strong>da</strong>. De futuro espera-se osurgimento de aplicações que cativem e impulsionem a utilização do áudio e vídeo sobre aInternet.1.2 ObjectivosO objectivo principal desta dissertação era o desenvolvimento de uma aplicação paraformação/educação num ambiente multimédia, privilegiando o vídeo como meio central e tendoain<strong>da</strong> presente uma componente de interacção. A aplicação deveria organizar os conteúdos emcursos e a apresentação do vídeo seria acompanha<strong>da</strong> com outros media, como imagem e texto. Parao sistema a construir estavam ain<strong>da</strong> previstas outras funcionali<strong>da</strong>des como: importação eexportação de conteúdos, acesso a informação complementar e integração de formas decomunicação síncrona e assíncrona entre os utilizadores.Para conseguir atingir este objectivo, julgou-se que seria importante desenvolver estudossobre: utilização do vídeo na Internet; algumas normas de composição, sincronização einteractivi<strong>da</strong>de multimédia; e o uso de meta<strong>da</strong>dos para os conteúdos educacionais. O estudo dovídeo sobre a Internet passava pela análise <strong>da</strong>s tecnologias de suporte e pelos modos de poder serdisponibilizado. Na temática <strong>da</strong> composição, sincronização e interactivi<strong>da</strong>de sobre vídeo seriamestu<strong>da</strong><strong>da</strong>s algumas normas mais comuns e utiliza<strong>da</strong>s nos media players e nos navegadores. Nosmeta<strong>da</strong>dos seria abor<strong>da</strong><strong>da</strong> uma especificação vocaciona<strong>da</strong> para a organização e reutilização deconteúdos educacionais em ambientes distribuídos.Para o desenvolvimento <strong>da</strong> aplicação estavam previstas a sua especificação e implementação.Na especificação deveria ser usado um método para o desenvolvimento de software centrado nosutilizadores e guiado por casos de utilização essenciais. Para a implementação deveriam serinicialmente avalia<strong>da</strong>s várias opções para ferramentas e linguagens para a codificação efuncionamento do sistema. Seguir-se-ia a implementação dos componentes essenciais para vali<strong>da</strong>ra solução proposta.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 4


Introdução1.3 OrganizaçãoEsta dissertação encontra-se organiza<strong>da</strong> em sete capítulos, estando no capítulo 1,“Introdução”, a enumeração e a descrição dos temas que irão ser abor<strong>da</strong>dos nesta dissertação.No capítulo 2, “Vídeo sobre a Internet”, são abor<strong>da</strong>dos os modos de transmissão, ascondicionantes que limitam a utilização do vídeo sobre a Internet, os componentes de umaarquitectura de vídeo, os protocolos para <strong>da</strong>dos em tempo real e duas arquitecturas para aimplementação de quali<strong>da</strong>de de serviço centra<strong>da</strong> na rede.O capítulo 3, “Composição, sincronização e interactivi<strong>da</strong>de multimédia”, apresenta duasnormas públicas, o SMIL e o MPEG-4, para a composição, sincronização e interactivi<strong>da</strong>de em cenasmultimédia.O capítulo 4, “Meta<strong>da</strong>dos – Modelo de Referência de Conteúdos Reutilizáveis”, descreveuma norma que permite a reutilização de conteúdos educacionais em ambientes distribuídos, oSCORM.O desenvolvimento <strong>da</strong> aplicação é descrito nos capítulos 5 e 6, respectivamente,“Especificação do sistema inVídeo” e “Implementação do sistema inVídeo”. No capítulo 5 émodelado o sistema usando o método WISDOM. Destacam-se os casos de utilização, o diagramade análise, o refinamento dos espaços de interacção e a arquitectura global do sistema. No capítulo7 são descritas as opções de implementação, a nível <strong>da</strong>s ferramentas e <strong>da</strong>s tecnologias escolhi<strong>da</strong>s;são apresentados alguns ecrãs e excertos de código desenvolvido; e analisados alguns resultados,baseados num inquérito, sobre a aplicação desenvolvi<strong>da</strong>.O capítulo 7 apresenta as conclusões desta dissertação bem como algumas propostas detrabalho futuro a desenvolver.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 5


2. Vídeo sobre a InternetO capítulo actual debruça-se sobre alguns aspectosrelacionados com a utilização do vídeo sobre a Internet.Inicialmente é feita uma comparação entre os diferentes modosde transmissão do vídeo, onde se enumeram as vantagens edesvantagens de ca<strong>da</strong> um.De segui<strong>da</strong> são referidos os elementos que condicionam aquali<strong>da</strong>de de serviço no uso do vídeo sobre a Internet e os avançostecnológicos que vieram a facilitar o seu uso.O capítulo continua com a apresentação de uma arquitecturapara o streaming de vídeo e com a descrição dos seus principaiscomponentes.Surgem também os principais protocolos usados na Internetpara a transmissão de <strong>da</strong>dos em tempo real.No final são apresenta<strong>da</strong>s duas arquitecturas para aimplementação <strong>da</strong> quali<strong>da</strong>de de serviço centra<strong>da</strong> nas redes.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 6


Vídeo sobre a Internet2.1 IntroduçãoA utilização de vídeo sobre a Internet já existe há alguns anos, mas sempre com um númerode utilizações bastante reduzido se comparado com o crescimento <strong>da</strong> Internet em termos denúmero de utilizadores e quanti<strong>da</strong>de de informação. Esta pouca utilização deve-se, basicamente, aduas categorias de problemas: a produção e a distribuição. Na produção temos todo um processocomplexo e exigente em termos tecnológicos (captura, edição e conversão do vídeo). Nadistribuição temos a heterogenei<strong>da</strong>de <strong>da</strong>s redes (diferentes larguras de ban<strong>da</strong>, tempos e variaçõesno atraso e per<strong>da</strong>s) e dos terminais (diferentes capaci<strong>da</strong>des de processamento e armazenamento)que dificultam uma utilização mais alarga<strong>da</strong> do vídeo sobre a Internet.A produção de vídeo digital tem um ciclo onde se inclui a captura, a edição e a conversão.Na captura é necessário equipamento, que para a criação de vídeo de boa quali<strong>da</strong>de, dispendioso ede manuseamento complexo. A edição exige aplicações muito específicas, também dispendiosas ecujo tempo de aprendizagem e a<strong>da</strong>ptação é extenso. A conversão exige equipamento com grandescapaci<strong>da</strong>des de processamento e armazenamento.A produção de vídeo digital está fora do âmbito desta dissertação, mas <strong>da</strong><strong>da</strong> a suaimportância foi deixado este apontamento no parágrafo anterior.Os elementos que serão apresentados neste capítulo prendem-se com os aspectos quesurgem depois <strong>da</strong> produção como: os modos de distribuição, os principais condicionantes, oscomponentes de uma arquitectura para o serviço de streaming, os protocolos mais usados earquitecturas para a implementação de quali<strong>da</strong>de de serviço centra<strong>da</strong> nas redes.2.2 Modos de distribuiçãoA distribuição de vídeo na Internet, actualmente, pode ser feita de duas formas distintas: viadownload, utilizando um qualquer servidor de documentos web; e por streaming, onde é utilizadoum servidor especializado.2.2.1 DownloadO modo download dá ao vídeo o mesmo tipo de tratamento <strong>da</strong>do aos restantes documentosobtidos via web. O utilizador tem de esperar pela chega<strong>da</strong> completa do ficheiro ao seu computadore apenas nessa altura poderá visualizar o vídeo. As ligações lentas e os ficheiros normalmentegrandes obrigavam a períodos de descarregamento longos e assim esta forma de entrega do vídeonunca cativou, por razões óbvias, a grande maioria de utilizadores <strong>da</strong> Internet.Um método que permitiu melhorar o download foi o download progressivo. Este método, queutiliza uma codificação específica, permite aos utilizadores visualizar o vídeo durante o processode download, ou seja, os <strong>da</strong>dos já descarregados podem ser descodificados e apresentados aoutilizador.A melhoria obti<strong>da</strong> pelo método do download progressivo não permitiu ultrapassar uminVídeo: uma aplicação de vídeo interactivo sobre a Internet 7


Vídeo sobre a Internetconjunto de limitações na utilização do vídeo. Por um lado não permitia a implementação de umagama de serviços, do qual é exemplo a emissão de eventos em tempo real; e por outro adificul<strong>da</strong>de em garantir os direitos do autor do vídeo, uma vez que o vídeo era sempredescarregado para o computador do utilizador, possibilitando a cópia do ficheiro e a obtenção deuma cópia fidedigna do vídeo.O novo método que surgiu para ultrapassar estas e outras limitações foi o streaming de vídeo,recorrendo a servidores especializados. Este método permitiu um conjunto de novos serviços sobreo vídeo, melhoria na eficiência <strong>da</strong> entrega e uma nova abor<strong>da</strong>gem à resolução dos problemasrelacionados com os direitos de autor.Os problemas na obtenção do vídeo pelo método de download (simples ou progressivo) nãosão diferentes dos problemas de outros quaisquer ficheiros <strong>da</strong> web. Como o tema desta dissertaçãose foca apenas nas questões relaciona<strong>da</strong>s com o vídeo não foi relevante explorar este caminho.Assim, este capítulo será dedicado às tecnologias relaciona<strong>da</strong>s com o streaming, não deixando dehaver pontos onde a discussão e a resolução de um problema ou limitação no vídeo por streamingnão possa ser usado no download.2.2.2 StreamingO termo streaming, resultante de stream, pode-se traduzir como geração do fluxo (deinformação). O streaming de vídeo é um método de distribuição que, contrariamente ao download,não necessita de obter o ficheiro por completo para permitir a sua visualização. O cliente pode, aomesmo tempo, visualizar o primeiro pacote de vídeo, descomprimir o segundo e receber o terceiro[Liu 99].Além desta vantagem, que já existia no download progressivo, o streaming não deixa nenhumacópia dos <strong>da</strong>dos no cliente, ou seja, as cenas após serem apresenta<strong>da</strong>s são apaga<strong>da</strong>s, não impondograndes requisitos de espaço de armazenamento do lado do cliente. A este facto também podemosassociar uma outra vantagem que é dificultar a cópia dos vídeos e assim proteger melhor osdireitos do seu autor 1 .Outras grandes vantagens do streaming relativamente ao download são: permitir a emissão deeventos em tempo (quase) real, e melhoria na interactivi<strong>da</strong>de com o vídeo. Sobre o ponto <strong>da</strong>interactivi<strong>da</strong>de com o vídeo, o método de streaming permite “saltar” rapi<strong>da</strong>mente para ummomento específico do vídeo, possibilitando uma visualização não linear. Com o downloadprogressivo se quisermos assistir aos segundos finais de um filme teremos sempre de esperar quetodo o ficheiro seja descarregado.O streaming para acontecer necessita do lado do servidor de uma aplicação específica quedisponibilize o vídeo com as características referi<strong>da</strong>s, designa<strong>da</strong> servidor de streaming. Do lado docliente necessita de uma aplicação que apresente o vídeo, designa<strong>da</strong> player. A figura 2-1 apresentaas relações entre os componentes de um serviço de streaming. Os três componentes são: a1Esta vantagem apenas dificulta, mas não impede por completo a cópia. Os programas clientes (os designados players)impedem a gravação local do vídeo, visto não terem essa funcionali<strong>da</strong>de implementa<strong>da</strong>. Mas não impedem queutilizadores mais avançados, usando programas específicos, possam obter uma cópia integral e ilegal de qualquervídeo disponibilizado por um servidor de streaming.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 8


Vídeo sobre a Internetcodificação, o cliente e o servidor.A codificação usa formatos (estrutura do ficheiro de vídeo codificado) que o servidor destreaming entende e pode disponibilizar. Entre a codificação e o cliente terão de existir,respectivamente, codificadores e descodificadores (este par de termos é designado de formacorrente como codecs, <strong>da</strong> abreviação do inglês COder/DECoder) compatíveis. Finalmente, a entregados vídeos por parte do servidor ao cliente deverá ser basea<strong>da</strong> em protocolos (apresentados algunsna secção 2.5 ) conhecidos por ambos.CoDecsCompatíveisCodificaçãoCliente(players)FormatosCompatíveisProtocolosCompatíveisServidor deStreamingFigura 2-1 Componentes de um sistema de streamingA utilização de um servidor especializado traz várias vantagens [Adobe 03]:− uso mais eficiente <strong>da</strong> largura de ban<strong>da</strong> disponível: de forma manual pelo cliente ouautomática pelo servidor, pode ser escolhi<strong>da</strong> a versão do vídeo mais adequa<strong>da</strong> a umacerta largura de ban<strong>da</strong>;− vídeo de melhor quali<strong>da</strong>de para o cliente: no seguimento <strong>da</strong> vantagem anterior, aquali<strong>da</strong>de de visualização é melhor devido à escolha adequa<strong>da</strong> <strong>da</strong> largura de ban<strong>da</strong> queevitará variações na quali<strong>da</strong>de do vídeo recebido;− suporte para um grande número de utilizadores: o servidor está melhor preparado paraatender a grandes quanti<strong>da</strong>des de pedidos de vídeos;− opções de entrega varia<strong>da</strong>s: os vídeos podem ser enviados via multicast e/ou unicast(apresentado na secção seguinte);− protecção dos direitos de autor sobre o conteúdo: pelas razões já referi<strong>da</strong>s no início destasecção.2.2.2.1 Unicast e multicastO servidor de streaming pode servir os fluxos de vídeo de duas formas: unicast e multicast. Nounicast é estabeleci<strong>da</strong> uma ligação ponto a ponto entre o servidor e um cliente, no caso no multicasté estabeleci<strong>da</strong> uma ligação entre o servidor e vários clientes.A figura 2-2 exemplifica os fluxos de informação em ambiente unicast (i) e multicast (ii). Nesteexemplo e para o unicast temos quatro fluxos de 75 Kbps do servidor para os clientes, necessitandoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 9


Vídeo sobre a Internetportando de uma ligação ao servidor de 300 Kbps. No caso do multicast temos apenas um fluxo desaí<strong>da</strong> do servidor com 75 Kbps até ao router (que terá de ter obrigatoriamente capaci<strong>da</strong>des para omulticast) que se distribui para os diversos clientes. Este exemplo é muito simples mas jádemonstra algumas <strong>da</strong>s vantagens e desvantagens de ca<strong>da</strong> modo.A vantagem do unicast é, basicamente, a possibili<strong>da</strong>de de interacção com o servidor, vistoque para ca<strong>da</strong> cliente haverá uma ligação. Sendo as ligações independentes umas <strong>da</strong>s outras,permite a ca<strong>da</strong> cliente escolher a sua sequência de visualização (excepto emissões em tempo real).As desvantagens são: o processamento que impõe ao servidor, uma vez que ca<strong>da</strong> ligação é geri<strong>da</strong>independentemente mesmo que várias ligações transportem exactamente os mesmos <strong>da</strong>dos; e osrequisitos de rede que relativamente ao modo multicast são maiores.75 KbpsClienteClienteServidor deStreaming75 Kbps75 Kbps75 KbpsClienteClienteServidor deStreaming75 KbpsRouterMulticast75 Kbps75 Kbps75 Kbps75 KbpsClienteClienteClientei) Unicast ii) MulticastClienteFigura 2-2 Exemplo de unicast e multicastAs vantagens do multicast são impor ao servidor uma carga menos pesa<strong>da</strong> e diminuir osrequisitos de rede, pois apenas existe um fluxo de <strong>da</strong>dos (neste exemplo). A grande desvantagem éa impossibili<strong>da</strong>de de interactivi<strong>da</strong>de. Mas existe outra limitação, enquanto o unicast não impõefuncionali<strong>da</strong>des especiais na rede, o multicast necessita de equipamentos activos (routers e switchs)que suportem essa função, aumentando os custos de um serviço de streaming que queira usar omulticast.O unicast não é melhor que o multicast ou vice-versa. Para ca<strong>da</strong> situação de streaming existeuma forma mais adequa<strong>da</strong> que outra. O serviço designado por Vídeo a Pedido (um cliente poderáassistir a um filme na hora que pretender) apenas poderá funcionar com unicast. Mas um serviçonoticioso em tempo real interno a uma empresa já poderá usar o multicast, e desta forma nãosobrecarregar a sua rede, independentemente do número de utilizadores que estejam a assistir.O unicast é mais flexível por permitir mais serviços, mas é mais exigente em termos delargura de ban<strong>da</strong> e de carga sobre o servidor. O multicast é mais eficiente, em termos <strong>da</strong> rede e doservidor, mas a gama de serviços que permite é mais reduzi<strong>da</strong>.2.3 CondicionalismosAs dificul<strong>da</strong>des <strong>da</strong> distribuição de vídeo sobre a Internet podem ser resumi<strong>da</strong>s na questão deo vídeo ser um media exigente num meio que não aceita exigências. A Internet permite a troca dequalquer tipo de ficheiro, mas não possibilita a definição de um tempo preciso ou aproximadoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 10


Vídeo sobre a Internetpara essa troca. Para a maioria dos serviços sobre a Internet, como e-mail ou páginas web, os atrasosque acontecem não produzem problemas graves. Já os media em tempo real têm que ser entreguescom um atraso pequeno e com poucas per<strong>da</strong>s, senão o risco <strong>da</strong> sua apresentação baixar umpatamar mínimo de quali<strong>da</strong>de pode aumentar.De segui<strong>da</strong> serão apresenta<strong>da</strong>s as dificul<strong>da</strong>des no uso do vídeo e para aquelas relaciona<strong>da</strong>scom a quali<strong>da</strong>de de serviço (QoS) serão apresenta<strong>da</strong>s duas técnicas de resolução.2.3.1 Enumeração <strong>da</strong>s dificul<strong>da</strong>desAs dificul<strong>da</strong>des no uso do vídeo são cinco. As primeiras três - largura de ban<strong>da</strong>, atraso,per<strong>da</strong>s – relacionam-se com a problemática <strong>da</strong> QoS e as últimas duas - heterogenei<strong>da</strong>de esegurança – também relevam, respectivamente, algumas questões <strong>da</strong> problemática <strong>da</strong> entrega dovídeo a tempo e com quali<strong>da</strong>de, e <strong>da</strong> questão <strong>da</strong> garantia dos direitos dos autores.2.3.1.1 Largura de ban<strong>da</strong>A transmissão de vídeo em tempo real sobre a Internet necessita de uma largura de ban<strong>da</strong>mínima para poder ser executa<strong>da</strong>. Mesmo considerando a transmissão de um vídeo com umaquali<strong>da</strong>de mínima, serão usados 28 Kbps [Wu 01b]. Mas não temos na Internet actual apossibili<strong>da</strong>de de reservar uma largura de ban<strong>da</strong>, mesmo tão baixa.As limitações dos equipamentos activos, como routers e switchs, no que diz respeito aocontrolo de congestão, leva a que um pico de tráfego pode causar a per<strong>da</strong> do fluxo de <strong>da</strong>dos ecomprometer a entrega do vídeo em tempo real com quali<strong>da</strong>de.2.3.1.2 AtrasoA transmissão de informação textual e de imagens não impõe qualquer requisito no atraso,isto é, se chegar num determinado momento ou alguns segundos mais tarde, esse facto nãorepresenta nenhum problema grave. O mesmo não se passa com os <strong>da</strong>dos em tempo real, como ovídeo. O atraso na entrega dos <strong>da</strong>dos de um vídeo não pode ser acentuado, nem inconstante. Os<strong>da</strong>dos têm de chegar ao terminal do utilizador a tempo de serem descodificados e apresentados.Um atraso pode provocar quebras na apresentação e se um pacote chegar também fora desequência, já não será útil.O atraso não levanta apenas o problema <strong>da</strong> sua dimensão, mas também o de ser ou nãoconstante. Se o atraso for acentuado, mas também constante, o cliente e o servidor poderão ajustarsena comunicação dos <strong>da</strong>dos, com um atraso inicial, e a restante transmissão poderá funcionarbem. Se o atraso encurtar demasiado pode colocar problemas no cliente devido ao possívelenchimento do buffer e consequente per<strong>da</strong> de pacotes.Mais uma vez a Internet, como rede best-effort (rede que funciona <strong>da</strong> melhor forma possível),não permite que se defina o atraso, podendo este ser variável dentro de uma transmissão de<strong>da</strong>dos.2.3.1.3 Per<strong>da</strong>sA per<strong>da</strong> de pacotes pode comprometer a boa visualização de uma sequência de vídeo. OsinVídeo: uma aplicação de vídeo interactivo sobre a Internet 11


Vídeo sobre a Internetolhos humanos são tolerantes a pequenas falhas, mas abaixo de um certo nível a quali<strong>da</strong>de <strong>da</strong>apresentação fica comprometi<strong>da</strong>. As aplicações de vídeo impõem requisitos sobre a per<strong>da</strong> depacotes, na forma de uma percentagem máxima, para garantir uma quali<strong>da</strong>de visual aceitável.A Internet também não pode garantir esse nível de per<strong>da</strong>s. Num período de grandecongestão as per<strong>da</strong>s poderão aumentar muito e causar a degra<strong>da</strong>ção do vídeo.2.3.1.4 Heterogenei<strong>da</strong>deO problema <strong>da</strong> heterogenei<strong>da</strong>de refere-se aos múltiplos e diferentes sistemas que existempara transporte e recepção do vídeo. Então a heterogenei<strong>da</strong>de pode-se dividir em dois tipos: derede e de receptor.A heterogenei<strong>da</strong>de de rede refere-se às sub-redes existentes na Internet que têmcaracterísticas diversas como largura de ban<strong>da</strong>, processamento, políticas de controlo de congestão,entre outras. Esta diferença leva a que utilizadores diferentes tenham valores distintos para oatraso e para as per<strong>da</strong>s.A heterogenei<strong>da</strong>de dos receptores refere-se às características dos receptores, como porexemplo, diferentes requisitos de quali<strong>da</strong>de e capaci<strong>da</strong>des de processamento.As abor<strong>da</strong>gens para resolver as questões <strong>da</strong> heterogenei<strong>da</strong>de são duas, uma centra<strong>da</strong> narede, outra nos sistemas finais (cliente e servidor).A abor<strong>da</strong>gem centra<strong>da</strong> na rede exige que os routers e switchs na rede suportem QoS, de formaa garantir uma <strong>da</strong><strong>da</strong> largura de ban<strong>da</strong>, um atraso limitado e poucas per<strong>da</strong>s, e assim possibilitar ofuncionamento de aplicações com vídeo [Wu 01b]. Dois exemplos desta técnica são os serviçosintegrados e os serviços diferenciados, ambos apresentados na secção 2.6 .A abor<strong>da</strong>gem centra<strong>da</strong> nos sistemas cliente e servidor, isto é, os sistemas em ca<strong>da</strong> um doslados <strong>da</strong> transmissão do vídeo, não coloca nenhum requisito na rede. Abor<strong>da</strong> o problema com ouso de técnicas de controlo de congestão e de controlo de erro, de forma a maximizar a quali<strong>da</strong>dedo vídeo sem qualquer envolvimento por parte <strong>da</strong> rede. Os métodos de resolução usados nestaabor<strong>da</strong>gem são apresentados na secção 2.3.2 .2.3.1.5 SegurançaAs dificul<strong>da</strong>des referi<strong>da</strong>s até ao momento prendem-se com a quali<strong>da</strong>de do vídeo. Mas aentrega do vídeo com quali<strong>da</strong>de não encerra a questão <strong>da</strong> transmissão de vídeo sobre a Internet.A segurança de um vídeo digital, seja para ser usado na Internet ou não, passa pelosseguintes pontos [Lin 01]:− acesso condicional: os sistemas de acesso condicional definem e reforçam um modelo deacesso. Este modelo é um conjunto de regras entre o fornecedor e o cliente no acesso aosmedia contínuos;− autenticação: é o processo no qual a identi<strong>da</strong>de do emissor, do receptor, e a integri<strong>da</strong>dedo vídeo podem ser verifica<strong>da</strong>s;− controlo de cópias: envolve a identificação de vídeos protegidos, a definição de condiçõespara cópias legais e assegura que o vídeo seja acedido apenas através de terminaisinVídeo: uma aplicação de vídeo interactivo sobre a Internet 12


Vídeo sobre a Internetespecíficos;− seguir o conteúdo: é a integração de informação de identificação no vídeo, ou seja, nocaso do streaming é criar uma versão única para ca<strong>da</strong> receptor ou grupo de receptores quepermita a sua identificação em utilizações posteriores.As ferramentas existentes para implementar a segurança num vídeo são várias. O uso deapenas uma não assegura a protecção do vídeo; to<strong>da</strong>via a utilização combina<strong>da</strong> de várias criasistemas mais ou menos completos. As ferramentas são:− criptografia: a vantagem do uso de cifras é impedir a visualização dos vídeos, excepto aosreceptores com a chave para inverter a cifra. O maior problema do uso <strong>da</strong> criptografia estána questão <strong>da</strong> protecção <strong>da</strong> chave;− assinaturas digitais: conjunto de códigos que visam a autenticação de conteúdos digitais;− marca de água: é um sinal embebido no vídeo que não compromete a sua quali<strong>da</strong>de e queserve para o transporte <strong>da</strong> informação sobre os direitos de autor, a autenticação e para oseguimento do vídeo. A cópia de vídeo digital protegi<strong>da</strong> com marca de água tambémcopia a marca de água introduzi<strong>da</strong>.2.3.2 Métodos de resoluçãoAs dificul<strong>da</strong>des levanta<strong>da</strong>s pelos aspectos <strong>da</strong> QoS – largura de ban<strong>da</strong>, atraso e per<strong>da</strong>s –podem ser minora<strong>da</strong>s por uma abor<strong>da</strong>gem centra<strong>da</strong> na rede e por uma outra abor<strong>da</strong>gem centra<strong>da</strong>nos sistemas finais (cliente e servidor). Os métodos apresentados de segui<strong>da</strong> apresentam técnicasusa<strong>da</strong>s nesta última abor<strong>da</strong>gem. A abor<strong>da</strong>gem centra<strong>da</strong> na rede é feita na secção 2.6 .2.3.2.1 Controlo de congestãoO controlo de congestão visa reduzir a per<strong>da</strong> e o atraso dos pacotes de vídeo em tempo real.As per<strong>da</strong>s e os atrasos excessivos fazem baixar consideravelmente a quali<strong>da</strong>de <strong>da</strong> visualização dovídeo e são causados pela congestão <strong>da</strong> rede. Os mecanismos para o controlo <strong>da</strong> congestão são osseguintes [Wu 01b]:− controlo <strong>da</strong> taxa de transmissão: é um método que tenta minimizar a congestão na rede eos pacotes perdidos igualando a taxa de transmissão do vídeo à largura de ban<strong>da</strong>disponível na rede. Sem este método, os <strong>da</strong>dos enviados acima <strong>da</strong>s capaci<strong>da</strong>des <strong>da</strong> redeserão descartados por esta. Pode ser implementado em três esquemas: baseado noemissor, baseado no receptor e híbrido (junção de ambos);− codificação do vídeo com taxa a<strong>da</strong>ptável: o envio de fluxos de vídeo pelo servidor na taxaencontra<strong>da</strong> pelo algoritmo de controlo <strong>da</strong> taxa de transmissão, implica que a codificaçãodo vídeo tenha de ser feita de tal forma que permita o envio de diferentes fluxos comdiferentes taxas de transmissão. A codificação feita desta forma deverá procurarinVídeo: uma aplicação de vídeo interactivo sobre a Internet 13


Vídeo sobre a Internetmaximizar a quali<strong>da</strong>de <strong>da</strong> visualização em ca<strong>da</strong> uma <strong>da</strong>s taxas a usar (taxas que poderãoser fixas ou dinâmicas dependendo do grau de congestão <strong>da</strong> rede);− mol<strong>da</strong>gem <strong>da</strong> taxa de transmissão: esta é uma técnica para a<strong>da</strong>ptar os fluxos de vídeocomprimido às taxas de transmissão pretendi<strong>da</strong>s. Esta técnica não interfere com acodificação, logo, pode ser usa<strong>da</strong> em qualquer esquema <strong>da</strong> codificação de vídeo e paravídeo ao vivo ou armazenado. Existem duas aproximações para a mol<strong>da</strong>gem <strong>da</strong> taxa detransmissão: uma na perspectiva de transporte (um mecanismo representativo destaperspectiva é o descartar selectivo de frames pelo servidor) e outra na perspectiva <strong>da</strong>compressão (um mecanismo representativo desta perspectiva é a mol<strong>da</strong>gem dinâmica <strong>da</strong>taxa de transmissão).Apesar <strong>da</strong>s técnicas para controlo <strong>da</strong> congestão, a per<strong>da</strong> de pacotes é inevitável na Internet epode trazer per<strong>da</strong>s de quali<strong>da</strong>de consideráveis. O controlo de congestão é usado com outrosmecanismos, como o controlo de erros que será apresentado na secção seguinte.2.3.2.2 Controlo de errosA per<strong>da</strong> de pacotes de um certo tipo de <strong>da</strong>dos, como o texto, é inaceitável, mas o atraso étolerável. Podem ser usados mecanismos para a correcção de erros ou então o pacote é reenviadopara ultrapassar o erro. Para o vídeo em tempo real, a degra<strong>da</strong>ção <strong>da</strong> quali<strong>da</strong>de, se for pequena, éaceitável, mas o atraso tem que ser limitado. A diferença nas consequências dos erros nestesdiferentes media irá implicar que os mecanismos de controlo de erro para aplicações de vídeo sejamdiferentes <strong>da</strong>queles usados nos media discretos, como o texto.Os mecanismos de controlo de erro para aplicações de vídeo são [Wu 01b]:− forward error correction (FEC): o princípio do FEC é adicionar alguma informaçãoredun<strong>da</strong>nte num fluxo de <strong>da</strong>dos de forma a permitir que o vídeo original possa serreconstruído no caso de surgir per<strong>da</strong> de pacotes;− reenvio: a repetição <strong>da</strong> transmissão de pacotes não é, normalmente, uma técnica muitousa<strong>da</strong> para os <strong>da</strong>dos em tempo real. O tempo de reenvio de um pacote é, basicamente, umatraso grande na sua entrega. Mas se acontecer que o tempo de reenvio de um pacote sejainferior ao atraso máximo permitido, então o uso desta técnica será possível;− resiliência a erros: li<strong>da</strong> com a per<strong>da</strong> de pacotes, mas na perspectiva <strong>da</strong> compressão.Contrariamente ao FEC que corrige erros a nível do transporte ou per<strong>da</strong>s de pacotes, estemétodo tenta corrigir o vídeo de maneira que a quali<strong>da</strong>de <strong>da</strong> imagem não se degrademuito. Abor<strong>da</strong> principalmente as questões relaciona<strong>da</strong>s com o evitar <strong>da</strong> propagação doerro e limitar o âmbito do erro;− encobrimento do erro: uma última técnica, para quando existe a per<strong>da</strong> de pacotes, éreconstruir o vídeo recorrendo à interpolação espacial e temporal de forma a manter aapresentação agradável aos olhos humanos (que são tolerantes a algumas distorções doinVídeo: uma aplicação de vídeo interactivo sobre a Internet 14


Vídeo sobre a Internetvídeo).2.4 Arquitectura de um serviço de streamingUm sistema que implemente o serviço de streaming de vídeo engloba vários elementos, tendoca<strong>da</strong> qual diferentes funcionali<strong>da</strong>des e objectivos.Servidor de StreamingDescodificaçãodo VídeoCliente/ReceptorSincronizaçãodos MediaDescodificaçãodo ÁudioCaptura deVídeoCompressãodo VídeoArmazenamentoVídeoComprimidoControlo deQoSControlo deQoSCaptura deÁudioCompressãodo ÁudioÁudioComprimidoProtocolos deTransporteProtocolos deTransporteInternet(Serviços de distribuição de Media Contínuos)Figura 2-3 Arquitectura para o streaming de vídeoA figura 2-3 mostra a arquitectura defini<strong>da</strong> por [Wu 01a], enquadrando os seguinteselementos: compressão de vídeo, controlo <strong>da</strong> quali<strong>da</strong>de de serviço, serviços de distribuição demedia contínuos, servidores de streaming, mecanismos de sincronização de media, e protocolos parao streaming de media.Nas subsecções 2.4.1 , 2.4.2 , 2.4.3 e 2.4.4 , desta secção serão apresentados alguns doselementos. Os restantes, como o controlo <strong>da</strong> QoS e protocolos de transporte, são tratados emsecções próprias, respectivamente, na 2.3 e na 2.5 .2.4.1 Compressão de vídeoO vídeo digital sem qualquer tipo de compressão implica ficheiros de grande dimensão. Paraultrapassar este problema de armazenamento e, principalmente, a nível <strong>da</strong> transmissão é usa<strong>da</strong> acompressão. A compressão é dividi<strong>da</strong> em dois tipos: sem per<strong>da</strong>s e com per<strong>da</strong>s.A compressão sem per<strong>da</strong>s permite que o ficheiro comprimido seja recuperado integralmenteapós a descompressão. A compressão sem per<strong>da</strong>s apresenta taxas de compressão pequenas emantém, portanto, o problema dos ficheiros de vídeo serem ain<strong>da</strong> de dimensão considerável.A compressão com per<strong>da</strong>s já não possibilita a recuperação fiel dos <strong>da</strong>dos originais. Numficheiro de texto ou num ficheiro executável este facto é grave, pois corta informação relevante e,assim, corrompe os <strong>da</strong>dos. A compressão com per<strong>da</strong>s para os <strong>da</strong>dos de media contínuos é feita paraque estes se apresentem com ou sem per<strong>da</strong>s perceptíveis. As taxas de compressão com este métodojá são bastante maiores que a compressão sem per<strong>da</strong>s e estas taxas podem ser ajusta<strong>da</strong>s de forma aobter um vídeo com a quali<strong>da</strong>de ou com a taxa pretendi<strong>da</strong>.Os esquemas de compressão de vídeo podem ser classificados em duas categorias: nãoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 15


Vídeo sobre a Internetescaláveis e escaláveis. A compressão de vídeo não escalável cria, a partir do vídeodescomprimido, um ficheiro comprimido a uma <strong>da</strong><strong>da</strong> taxa. A compressão de vídeo escalávelproduz um vídeo que pode ser transmitido a diferentes taxas. O princípio deste esquema está emcriar um fluxo base que possa ser descodificado de forma independente e depois ir criando outrosfluxos que vão trazendo melhorias ao fluxo base. Os fluxos não base não podem ser descodificadosde forma independente, necessitando sempre de estarem acompanhados do fluxo de base. O fluxobase fornece o vídeo de pior quali<strong>da</strong>de e o uso adicional de todos os restantes fluxos permite ter ovídeo com a melhor quali<strong>da</strong>de.A escalabili<strong>da</strong>de pode ser de quali<strong>da</strong>de (SNR - Signal-to-Noise ratio), temporal e espacial. Doponto de vista temporal, a escalabili<strong>da</strong>de passa por alterar o ritmo dos frames, e do ponto de vistaespacial passa por ajustar o tamanho <strong>da</strong> imagem. Além de mecanismos que combinam os tipos deescalabili<strong>da</strong>de referidos, existe outro, que surge com a norma MPEG-4, que é a escalabili<strong>da</strong>de deeleva<strong>da</strong> granulari<strong>da</strong>de (FGS de fine granularity scalability, onde o vídeo codificado consiste de umacama<strong>da</strong> de base e uma cama<strong>da</strong> de melhoria, e onde esta última pode ser limita<strong>da</strong> de formaarbitrária de forma a encaixar o vídeo na largura de ban<strong>da</strong> disponível [Koshy 02]). O FGS procuraresolver os problemas de heterogenei<strong>da</strong>de do streaming por via de uma maior flexibili<strong>da</strong>de àsdiferenças encontra<strong>da</strong>s nas redes e nos clientes.2.4.2 Serviços de distribuição de media contínuosOs serviços de distribuição de media contínuos são implementados por cima do protocolo IPe visam melhorar a eficiência do streaming de <strong>da</strong>dos sobre a Internet. Estes serviços incluem afiltragem na rede, o multicast a nível <strong>da</strong> aplicação e a replicação de conteúdos [Wu 01a].A filtragem na rede é uma técnica de controlo de congestão que procura maximizar aquali<strong>da</strong>de do vídeo durante um período de congestão na rede. Os filtros estão situados na rede ecomunicam com o cliente e com o servidor. O filtro recebe os pedidos do cliente, que reencaminhapara o servidor, e a<strong>da</strong>pta o fluxo de <strong>da</strong>dos gerado pelo servidor. A comunicação é feita porintermédio de dois canais virtuais: um para controlo, bidireccional; e um para os <strong>da</strong>dos,unidireccional.O multicast a nível <strong>da</strong> aplicação, conceptualmente semelhante ao multicast IP, visa aimplementação de ligações de um para muitos, o que permite eficiência na utilização <strong>da</strong> largura deban<strong>da</strong>. A cama<strong>da</strong> onde essa ligação se situa é a diferença entre os dois tipos de multicast referidos.O multicast a nível <strong>da</strong> aplicação permite aos vários intervenientes no fornecimento de conteúdos aconstrução de um serviço de multicast sobre a Internet e assim criar as suas próprias redesmulticast, que podem ser liga<strong>da</strong>s a outras redes semelhantes.A replicação de conteúdos, como o próprio nome indica, é a existência de cópias dosconteúdos, mais próximas dos clientes. A criação destas cópias visa: diminuir a necessi<strong>da</strong>de delargura de ban<strong>da</strong> na rede; reduzir a carga dos servidores de streaming; minimizar o tempo de início<strong>da</strong> apresentação para o cliente; e aumentar a disponibili<strong>da</strong>de. As formas de implementar areplicação de conteúdos passam pelo uso de caches e pela duplicação <strong>da</strong> informação.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 16


Vídeo sobre a Internet2.4.3 Servidores de streamingOs servidores de streaming são um componente muito importante. Para obter um serviço dequali<strong>da</strong>de os servidores têm de processar os pedidos e os fluxos de media contínuos com restriçõesaperta<strong>da</strong>s de tempo, para evitar uma degra<strong>da</strong>ção <strong>da</strong> quali<strong>da</strong>de <strong>da</strong> visualização, e têm de suportaras operações de controlo interactivo, como pausa/avanço, e avanço e retrocesso rápido.Um servidor de streaming é constituído pelos seguintes componentes: comunicador, sistemaoperativo e armazenamento. Estes dois últimos são tratados, respectivamente, nas secções 2.4.3.1e0. O comunicador envolve a cama<strong>da</strong> de aplicação e os protocolos de transporte, e refere-se a todoo processo de comunicação entre o servidor e o cliente. Este componente é tratado nas secções 2.3e 2.5 .2.4.3.1 Sistema operativoO sistema operativo (SO) para um servidor de streaming é diferente de um SO comum, umavez que necessita de responder a requisitos do tratamento de <strong>da</strong>dos em tempo real. A gestão dosprocessos, dos recursos e dos ficheiros têm abor<strong>da</strong>gens específicas.A gestão dos processos refere-se ao uso do recurso principal, o processador. A gestão é oagen<strong>da</strong>mento de ca<strong>da</strong> processo criado, mediante um conjunto de políticas que têm por objectivo autilização eficiente do servidor. São usa<strong>da</strong>s técnicas de agen<strong>da</strong>mento em tempo real e osalgoritmos principais são o earliest deadline first e o rate-monotonic scheduling.A gestão dos recursos envolve a definição do uso dos recursos do sistema. Esses recursos sãoo processador, a memória e os dispositivos de armazenamento. A gestão envolve o controlo deadmissão e a atribuição de recursos. Em ambos os casos são usados algoritmos determinísticos eestatísticos para realizar a gestão.A gestão dos ficheiros é o conjunto de funções para controlo e acesso à escrita e leitura dosficheiros. As abor<strong>da</strong>gens para optimizar a gestão dos ficheiros são duas. A primeira é guar<strong>da</strong>r osficheiros de media contínuos como se fossem <strong>da</strong>dos discretos, mas recorrendo ao uso de algoritmosespecíficos para a sua gestão e pelo aumento na capaci<strong>da</strong>de dos buffers para evitar atrasos. Asegun<strong>da</strong> é organizar os ficheiros de <strong>da</strong>dos contínuos em vectores de discos rígidos, isto é, dividiros ficheiros por diversos discos e assim diminuir os tempos de acesso (tema revisto na secçãoseguinte).2.4.3.2 ArmazenamentoOs requisitos de armazenamento e de envio de media contínuos também são diferentes desistemas de armazenamento de <strong>da</strong>dos comuns. Os problemas para o armazenamento são:− obter grandes taxas de transferência: este problema pode ser minorado através <strong>da</strong>divisão do ficheiro por vários discos rígidos permitindo o acesso paralelo (diferente <strong>da</strong>replicação dos ficheiros, que é um método onde existem múltiplas cópias de um ficheiro eque permite, também, obter taxas de transferência maiores, mas com um aumento docusto);− capaci<strong>da</strong>de do armazenamento: que neste caso é um problema indirecto de custo, queinVídeo: uma aplicação de vídeo interactivo sobre a Internet 17


Vídeo sobre a Internetpode ser diminuído através do uso de memória terciária (como as tapes) e <strong>da</strong>hierarquização <strong>da</strong> informação, mantendo apenas nos discos os <strong>da</strong>dos mais pedidos.Existem outras abor<strong>da</strong>gens basea<strong>da</strong>s na distribuição dos <strong>da</strong>dos como as arquitecturasStorage Area Network e Network Attached Storage [Wu 01a].2.4.4 Mecanismos de sincronização de mediaA sincronização é o mecanismo que visa manter as relações temporais dentro de um fluxo ouentre vários fluxos de <strong>da</strong>dos. O envio de fluxos do servidor para o cliente tem ao longo docaminho muitos componentes (como pode ser verificado na figura 2-3). Ca<strong>da</strong> um tem um certoobjectivo e tem de realizar uma tarefa específica introduzindo, inevitavelmente, algum atraso.Alguns destes atrasos (como o introduzido pela rede) são aleatórios e inevitáveis e torna-senecessário recorrer a métodos de sincronização.Existem três níveis de sincronização: intra-stream, inter-stream e inter-object.A sincronização intra-stream refere-se à sincronização dentro de um fluxo de <strong>da</strong>dos. Estasincronização visa garantir uma continui<strong>da</strong>de temporal lógica na apresentação desse fluxo. Auni<strong>da</strong>de considera<strong>da</strong> a este nível é o frame (de áudio ou vídeo).A sincronização inter-stream refere-se à sincronização entre vários fluxos de <strong>da</strong>dos, ou seja, àrelação entre diferentes fluxos de <strong>da</strong>dos. A este nível a uni<strong>da</strong>de é o fluxo de <strong>da</strong>dos, como um fluxode vídeo ou um fluxo de áudio.A sincronização inter-object integra fluxos de <strong>da</strong>dos dependentes no tempo com <strong>da</strong>dosindependentes no tempo. A uni<strong>da</strong>de neste nível é o objecto, que pode ser um vídeo, uma imagem,um texto, ou outro.Os métodos de sincronização são especificações basea<strong>da</strong>s em: intervalos, gravação do tempo(time-stamping), controlo de fluxo e eventos [Wu 01a].2.5 ProtocolosOs protocolos envolvidos no streaming de vídeo são métodos desenhados e normalizadospara a comunicação entre os clientes e os servidores. Os serviços que os protocolos de streamingprovidenciam são endereçamento, transporte e controlo de sessão, o que permite classificar osprotocolos em três categorias [Wu 01a]:− protocolo de rede: é usado o protocolo Internet Protocol (IP), que fornece os serviçosbásicos de rede como o endereçamento;− protocolos de transporte: fornecem funções de transporte de rede extremo a extremo paraaplicações de streaming. Nesta cama<strong>da</strong> os protocolos existentes são: o User DatagramProtocol (UDP) e o Transmission Control Protocol (TCP) num nível mais baixo destacama<strong>da</strong>; e o Real Time Transport Protocol (RTP) e Real Time Transport Control Protocol(RTCP), num nível mais alto desta cama<strong>da</strong>;− protocolo para o controlo <strong>da</strong> sessão: define as mensagens e os procedimentos para oinVídeo: uma aplicação de vídeo interactivo sobre a Internet 18


Vídeo sobre a Internetcontrolo <strong>da</strong> entrega de <strong>da</strong>dos multimédia durante uma sessão. Um protocolo com essascaracterísticas é o Real Time Streaming Protocol (RTSP).A figura 2-4 apresenta a relação entre os diversos protocolos e várias áreas específicas. Os<strong>da</strong>dos são colocados em pacotes e enviados pelo RTP. Estes pacotes levam informação detemporização, de sincronização e de sequência.Pilha ProtocolarDadosControloVídeo/ÁudioComprimidoCama<strong>da</strong> RTPCama<strong>da</strong> RTCPCama<strong>da</strong> RTSP/SIPCama<strong>da</strong> UDP/TCPCama<strong>da</strong> IPInternetFigura 2-4 Pilha protocolar do streamingOs pacotes são passados para a cama<strong>da</strong> UDP/TCP e desta, por sua vez, para a cama<strong>da</strong> IP.Após a transmissão sobre a Internet, no cliente o processo inverte-se com os mesmos elementos.Na área do controlo, os pacotes RTCP e RTSP são multiplexados na cama<strong>da</strong> UDP/TCP, movidospara a cama<strong>da</strong> IP e transmitidos sobre a Internet.Os protocolos descritos de segui<strong>da</strong> são aqueles mais directamente relacionados com otransporte e controlo de <strong>da</strong>dos em tempo real. As secções 2.5.1 , 2.5.2 e 2.5.3 , apresentam asprincipais características, respectivamente, dos protocolos RTP, RTCP e RTSP.2.5.1 RTPO RTP é um protocolo definido para o transporte de <strong>da</strong>dos em tempo real, como o vídeo e oáudio. Os serviços fornecidos pelo RTP são a reconstrução temporal, detecção de per<strong>da</strong>s,segurança e identificação de conteúdo. Inicialmente o RTP foi desenhado para o multicast de <strong>da</strong>dosem tempo real, mas também é possível a sua utilização no modo unicast. O uso deste protocolo,como foi referido, é essencialmente para o transporte de <strong>da</strong>dos e, paralelamente, é usado outroprotocolo para o controlo, o RTCP (descrito na secção 2.5.2 ).2.5.1.1 FuncionamentoO RTP, como protocolo de transporte para <strong>da</strong>dos em tempo real, necessita de eficiência e porisso usa essencialmente o UDP. O UDP é mais eficiente que o TCP, mas tem algumas desvantagensrelevantes, como não garantir a entrega de todos os pacotes, nem a entrega dos pacotes nasequência correcta. Mas o RTP pode ser usado sobre o TCP, garantido assim a entrega de todos ospacotes, mas dificilmente mantendo uma apresentação sem quebras. A tolerância dos humanos nainVídeo: uma aplicação de vídeo interactivo sobre a Internet 19


Vídeo sobre a Internetvisualização/audição de <strong>da</strong>dos em tempo real é maior quando há per<strong>da</strong>s de quali<strong>da</strong>de,comparativamente a quando há atrasos ou interrupções.O RTP não garante quali<strong>da</strong>de de serviço ou a entrega correcta dos pacotes mas fornece asseguintes funções de suporte sobre os pacotes: a marcação temporal, a sequência, a identificaçãodo tipo de carga e a identificação <strong>da</strong> fonte. Estas funções são implementa<strong>da</strong>s através de informaçãocoloca<strong>da</strong> no cabeçalho do pacote RTP.A marcação temporal (expressão traduzi<strong>da</strong> do termo inglês timestamping) é uma informaçãofun<strong>da</strong>mental nos <strong>da</strong>dos em tempo real. Todos os pacotes são marcados com o instante em que oprimeiro octeto do pacote foi amostrado. Quando recebidos os pacotes, por intermédio <strong>da</strong>marcação feita no envio, é possível reconstruir correctamente, em termos temporais, o vídeo ou oáudio originais. Outra função importante <strong>da</strong> marcação temporal é possibilitar a sincronização entrediferentes fluxos de <strong>da</strong>dos. Apesar do RTP providenciar estas funções, a reconstrução do fluxo e asincronização é <strong>da</strong> responsabili<strong>da</strong>de <strong>da</strong> aplicação.A numeração sequencial dos pacotes também é feita pelo RTP e permite a ordenação dospacotes no cliente. Esta funcionali<strong>da</strong>de é necessária devido ao facto do UDP não garantir achega<strong>da</strong> dos pacotes na sequência em que foram gerados. Como ca<strong>da</strong> pacote poderá tomarcaminhos diferentes a chega<strong>da</strong> ao destino poderá ocorrer numa ordem distinta ao do envio. Aordenação dos pacotes poderia ser executa<strong>da</strong> através <strong>da</strong> marcação temporal, mas existem casos emque tal não é suficiente, como por exemplo, um frame de vídeo que necessite de mais que umpacote para ser transmitido (terá nos diversos pacotes a mesma marca temporal), logo, é necessárioum método adicional para ordenar os pacotes, que é a numeração. A numeração também permitea detecção dos pacotes perdidos.Outra funcionali<strong>da</strong>de do RTP é identificar o tipo de carga (tradução do termo inglês payload).Esta funcionali<strong>da</strong>de serve para identificar, relativamente aos <strong>da</strong>dos transmitidos, o formato e osmétodos que foram usados para a sua codificação e compressão. Através desta informação aaplicação cliente sabe como interpretar e apresentar os <strong>da</strong>dos recebidos. Na norma estão jádefinidos alguns tipos de carga como vídeo e áudio MPEG–1/2, PCM e H.261, entre outros.A identificação <strong>da</strong> fonte permite que a aplicação conheça a origem dos <strong>da</strong>dos que está areceber e possa identificar diferentes fontes. A identificação é feita por intermédio de um campo nocabeçalho do pacote que se designa Synchronization Source Identifier.2.5.2 RTCPO RTCP é o protocolo de controlo desenhado para funcionar em conjunção com o RTP.Numa sessão RTP, os participantes enviam periodicamente pacotes a informar a quali<strong>da</strong>de dos<strong>da</strong>dos entregues e informação sobre a associação à sessão [Liu 99]. Os tipos de pacotes definidospelo RFC 1889 para o RTPC são os seguintes: receiver report, sender report, source description items,bye, e application specific functions.Os receiver reports são gerados pelos participantes que não são emissores activos numasessão. Contêm informação sobre a quali<strong>da</strong>de <strong>da</strong> recepção dos <strong>da</strong>dos, nomea<strong>da</strong>mente, o pacotecom o número mais elevado recebido, o número de pacotes perdidos, a diferença entre a chega<strong>da</strong>inVídeo: uma aplicação de vídeo interactivo sobre a Internet 20


Vídeo sobre a Internetde pacotes, e as marcações temporais (para cálculo do atraso entre o emissor e receptor).Os sender reports são gerados por emissores activos. Além <strong>da</strong> mesma informação que osreceiver reports, estes contêm uma secção onde existe informação sobre o emissor, nomea<strong>da</strong>mente:<strong>da</strong>dos para a sincronização inter-media, contadores de pacotes cumulativos e quanti<strong>da</strong>de de bytesenviados.Os source description items contêm informação que descreve as fontes. O bye indica o fim <strong>da</strong>participação. As application specific functions servem para fins experimentais, com objectivo deapoiar o desenvolvimento de novas aplicações e funcionali<strong>da</strong>des.O RTCP, através destes pacotes de controlo de informação, providencia os seguintesserviços:− monitorização <strong>da</strong> QoS e controlo de congestão: funções principais do RTCP quefornecem retorno de informação a uma aplicação sobre a quali<strong>da</strong>de <strong>da</strong> distribuição dos<strong>da</strong>dos. Esta informação é útil para emissores, receptores e outras enti<strong>da</strong>des com funçõesde monitorização. O emissor pode ajustar a transmissão basea<strong>da</strong> no relatório do receptor.Os receptores podem determinar se uma certa congestão é local, regional ou global. Osgestores de rede podem avaliar o desempenho <strong>da</strong> rede em distribuição multicast;− identificação <strong>da</strong> fonte: os pacotes de <strong>da</strong>dos do RTP são identificados por números de 32bits gerados aleatoriamente, forma de identificação que não é adequa<strong>da</strong> para os humanos.Os pacotes RTCP source description items contêm informação textual, designa<strong>da</strong> nomescanónicos. Servem como identificadores globais entre os participantes <strong>da</strong> sessão. Os <strong>da</strong>dosque podem existir são nome, telefone, e-mail e outra informação;− sincronização inter-media: os sender reports do RTCP contêm indicações do tempo real e<strong>da</strong> marcação temporal RTP correspondente. É usa<strong>da</strong> para a sincronização entre váriosmedia, como por exemplo o áudio e vídeo (sincronização do movimento dos lábios com osom);− informação de controlo escalonável: os pacotes RTCP são enviados periodicamente entreparticipantes. Com o aumento do número de participantes, é necessário existir umequilíbrio entre ter informação de controlo actualiza<strong>da</strong> e limitar o tráfego de <strong>da</strong>dos decontrolo. De forma a permitir um escalonamento para grandes grupos de multicast, oRTCP tem de evitar que o tráfego de controlo ocupe muitos recursos de rede. O RTPlimita o tráfego de controlo para um máximo de 5% de todo o tráfego <strong>da</strong> sessão. Esteajuste é realizado alterando a taxa de geração de relatório mediante o número departicipantes.2.5.3 RTSPO RTSP é um protocolo para o controlo de sessão de streaming sobre a Internet. Fornecefuncionali<strong>da</strong>des do tipo “vídeo doméstico” (avanço, pausa, recuo e avanço rápido eposicionamento absoluto) para fluxos de áudio e vídeo. Os <strong>da</strong>dos de streaming passíveis de envioinVídeo: uma aplicação de vídeo interactivo sobre a Internet 21


Vídeo sobre a Internetpodem ser uma emissão “ao vivo” ou um ficheiro armazenado.É um protocolo <strong>da</strong> cama<strong>da</strong> <strong>da</strong> aplicação e foi desenhado para operar com protocolos decama<strong>da</strong>s mais baixas como o RTP e RSVP (ver secção 2.6.1.2 ) de forma a obter um serviço destreaming integrado sobre a Internet. Permite a escolha do canal de envio a utilizar (UDP, multicastUDP e TCP) e os mecanismos de entrega baseados no RTP. Funciona tanto em multicast como emunicast.O RTSP estabelece e controla fluxos de áudio e vídeo entre os servidores e os clientes. Umservidor permite serviços de visualização ou gravação de fluxos de media enquanto os clientesfazem pedidos de <strong>da</strong>dos ao servidor. As operações do RTSP são as seguintes:− obtenção de <strong>da</strong>dos do servidor: o cliente pode obter a descrição de uma apresentação epedir ao servidor para iniciar uma sessão para o envio dos <strong>da</strong>dos;− adicionar media a uma apresentação que já existe: o servidor ou o cliente podem-senotificar sobre um qualquer media adicional que fique disponível.No RTSP, as apresentações e os media são identificados por um URL. A apresentação e asproprie<strong>da</strong>des do media são defini<strong>da</strong>s num ficheiro de descrição <strong>da</strong> apresentação, que pode incluircodificação, linguagem, RTSP URL, endereço de destino, porta e outros parâmetros. Este ficheiropode ser obtido por http, e-mail, ou de outras formas.O RTSP mantém sessões para a troca de <strong>da</strong>dos multimédia e o seu estado, permitindo ain<strong>da</strong>correlacionar os pedidos RTSP de uma sessão. No RTSP a emissão de pedidos pode tanto surgirpor parte do cliente, como por parte do servidor.2.6 QoS centra<strong>da</strong> na redeA abor<strong>da</strong>gem <strong>da</strong> QoS centra<strong>da</strong> nos sistemas cliente/servidor foi explora<strong>da</strong> na secção 2.3.2 . Asecção actual apresenta dois métodos para a implementação <strong>da</strong> QoS, mas baseado nas redes.A Internet e o protocolo IP suportam uma varie<strong>da</strong>de ca<strong>da</strong> vez maior de aplicações. Além <strong>da</strong>saplicações tradicionais, como o e-mail e a transferência de ficheiros, temos hoje também asaplicações com <strong>da</strong>dos em tempo real, cujos requisitos sobre a rede são muito maiores e variados.Como nem a Internet nem o IP foram, inicialmente, projectados para li<strong>da</strong>r com o tráfego geradopor estas aplicações, desenvolveram-se várias técnicas para envolver a rede e para melhorar osprotocolos de maneira a cumprir com as novas necessi<strong>da</strong>des.Esta secção abor<strong>da</strong> os principais conceitos de duas arquitecturas que tentam resolver a faltade garantias <strong>da</strong> actual Internet a nível <strong>da</strong> QoS. Esses métodos são os serviços integrados, baseadona reserva de recursos (secção 2.6.1 ), e os serviços diferenciados, baseado na marcação dos pacotesde acordo com classes de serviços predeterminados (secção 2.6.2 ) [Santos 99].2.6.1 Serviços integradosOs serviços integrados caracterizam-se por fazerem a reserva de recursos na rede e visamestabelecer uma QoS extremo a extremo. Antes de se iniciar a troca de <strong>da</strong>dos, o emissor e receptortêm de fazer a alocação de recursos na rede que os liga. Os recursos reservados são a largura deinVídeo: uma aplicação de vídeo interactivo sobre a Internet 22


Vídeo sobre a Internetban<strong>da</strong> e tempo que deverá ser manti<strong>da</strong> a ligação.Os serviços integrados estão a ser desenvolvidos por um grupo de trabalho do IETF, oINTSERV (serviços integrados), e neste foram identificados quatro componentes chave para umaarquitectura de serviços integrados para a Internet [Osso 99]: nível de serviço, interface de serviço,controlo de admissão e mecanismos de agen<strong>da</strong>mento dentro <strong>da</strong> rede.2.6.1.1 Nível de serviçoA definição passa por incluir to<strong>da</strong> a semântica do serviço: como é que os pacotes devem sertratados dentro <strong>da</strong> rede, a forma <strong>da</strong> aplicação injectar tráfego na rede e o método de policiamentodo serviço. Esta semântica terá de ser conheci<strong>da</strong> pelos routers e aplicações.Foram definidos dois níveis de serviços: carga controla<strong>da</strong> e garantido.O nível carga controla<strong>da</strong> é, em termos de quali<strong>da</strong>de de serviço, semelhante à actual Internet,ou seja, uma rede best-effort.O nível garantido visa possibilitar a entrega de um fluxo de <strong>da</strong>dos com garantias no ritmo detransmissão e no atraso.2.6.1.2 Interface do serviçoA interface de serviço são um conjunto de parâmetros trocados entre a aplicação e a rede deforma a invocar uma <strong>da</strong><strong>da</strong> quali<strong>da</strong>de de serviço dentro de um determinado nível de serviço, ouseja, é necessário um protocolo de sinalização e a definição de alguns parâmetros.Figura 2-5 Sinalização feita pelo RSVPO protocolo usado é o ReSource reserVation Protocol (RSVP). O pedido de reserva consistenum FlowSpec, que identifica as características do tráfego e o nível de serviço necessário. Oprocedimento de reserva (figura 2-5) é o seguinte: o emissor envia uma mensagem PATHanunciando os requisitos de QoS <strong>da</strong> sessão para o receptor.Todos os routers RSVP que reencaminham esta mensagem guar<strong>da</strong>m informação sobre opedido (até um dos seguintes casos: cancelamento por parte do emissor, confirmação por parte doreceptor ou time-out). O receptor então responde à mensagem PATH com uma mensagem RESV,envia<strong>da</strong> pelo mesmo caminho que a mensagem PATH tomou e, então, o emissor pode começar aenviar os <strong>da</strong>dos. Para manter a reserva dos recursos são envia<strong>da</strong>s, regularmente, mensagens PATHe RESV por parte do emissor e receptor, respectivamente.O RSVP faz a sinalização entre as aplicações do emissor e do receptor, cria reservasunidireccionais, é específico de uma sessão e necessita que as aplicações e a rede suportem osINTSERV e o RSVP.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 23


Vídeo sobre a Internet2.6.1.3 Controlo de admissãoServe para definir se um <strong>da</strong>do compromisso de serviço pode ser ou não satisfeito antes de seiniciar o envio dos <strong>da</strong>dos. Usa a informação transmiti<strong>da</strong> na invocação do serviço, juntamente comos <strong>da</strong>dos de outras reservas activas. É também responsável por verificar o uso do serviço,garantindo que as aplicações não ultrapassam os recursos que foram pedidos.O controlo de admissão é implementado nos routers.2.6.1.4 Mecanismos de agen<strong>da</strong>mento dentro <strong>da</strong> redeA rede, após a aceitação <strong>da</strong>s reservas, tem de empregar métodos que garantam que ospacotes de um certo fluxo recebam o nível de serviço que foi requerido para esse fluxo. Para isso,usa mecanismos de agen<strong>da</strong>mento e gestão de filas nos routers.O processo de encaminhamento dos pacotes feito pelos routers é complexo e envolve paraca<strong>da</strong> pacote os seguintes passos:− classificar o pacote de forma a identificar os requisitos de QoS;− determinar o momento em que o pacote deve ser encaminhado;− gerir as filas de saí<strong>da</strong> sobre condições de congestão.Estes passos exigem aos routers grandes capaci<strong>da</strong>des de processamento, armazenamento ebons algoritmos para gestão <strong>da</strong>s filas.2.6.1.5 LimitaçõesA tarefa que os serviços integrados tentam resolver é complexa e por isso a suaimplementação não é simples, havendo algumas limitações na sua utilização.O protocolo RSVP tem alguns problemas, tais como [Osso 99]:− a primeira passagem do estabelecimento de duas reservas pode encontrar um elementode rede que aceita apenas uma delas, rejeitando a outra, mesmo que eventualmente aprimeira venha a ser cancela<strong>da</strong>;− no caso de uma ligação multicast é necessário manter uma grande quanti<strong>da</strong>de deinformação de estado;− a manutenção <strong>da</strong>s reservas leva à geração, pelos routers e aplicações, de tráfego extra;− não é suporta<strong>da</strong> uma heterogenei<strong>da</strong>de completa, por exemplo, numa conferência todos osreceptores têm de partilhar o mesmo nível de serviço (guaranteed ou controlled-load);− as aplicações têm de suportar o RSVP, o que não é simples de fazer em aplicaçõesdesenvolvi<strong>da</strong>s com tecnologias antigas.Estes problemas levam a que o INTSERV não seja muito apropriado para redes muitograndes, devido às eleva<strong>da</strong>s capaci<strong>da</strong>des necessárias de processamento e armazenamento nosrouters. E como todos os routers participantes numa reserva têm de suportar o INTSERV levanta-seum problema de custos.Mas os serviços integrados não deixam de ser uma opção interessante para as redes deinVídeo: uma aplicação de vídeo interactivo sobre a Internet 24


Vídeo sobre a Internetpequena dimensão.2.6.2 Serviços diferenciadosOs serviços diferenciados, DIFFSERV, também desenvolvidos por um grupo de trabalho doIETF, abor<strong>da</strong>m de forma diferente a utilização dos recursos de rede, comparativamente aosserviços integrados.O modelo geral dos DIFFSER passa por definir um sistema onde o tráfego que entra numarede é classificado, condicionado, possivelmente, aos limites <strong>da</strong> rede, e agregado a diferentesconjuntos de comportamentos [Baker 98]. A classificação passa pela marcação dos pacotes cometiquetas bem defini<strong>da</strong>s que identificam o nível de serviço onde será enquadrado o pacote. Estemodelo é análogo ao utilizado nos correios tradicionais: as cartas/encomen<strong>da</strong>s são classifica<strong>da</strong>scomo, por exemplo, regista<strong>da</strong>s, correio azul e correio normal.A grande diferença dos DIFFSERV relativamente aos INTSERV está na sua operação que édirigi<strong>da</strong> para um modelo de negócio, basea<strong>da</strong> em limites definidos de forma administrativa, e comos serviços agregados em utilizadores e grupos de utilizadores. Enquanto o RSVP actua numa basede fluxos individuais, as classes dos DIFFSERV podem ser usa<strong>da</strong>s por muitos fluxos. Qualquerpacote dentro de uma classe partilha os recursos com todos os pacotes dessa mesma classe [Osso99].DIFSERVRede Priva<strong>da</strong>InternetRede Priva<strong>da</strong>INTSERVRouter IPHost IPFigura 2-6 Âmbito dos serviços integrados e serviços diferenciadosA arquitectura dos DIFFSERV define que o serviço é implementado por intermédio deacordos entre domínios adjacentes (por exemplo, entre o utilizador do serviço e o fornecedor deserviço, ou entre fornecedores de serviço), designados por Acordos do Nível de Serviço (SLA deService Level Agreement). O SLA determina as classes de serviços que serão suporta<strong>da</strong>s e a largurade ban<strong>da</strong> disponível entre os domínios. O acordo ain<strong>da</strong> pode incluir outros aspectos além dosrelacionados com a QoS, como segurança, restrições de utilização em algumas horas do dia, etc.A figura 2-6 mostra a diferença no âmbito destes serviços. Os INTSERV tentam fornecer areserva de recursos às aplicações, ou seja, extremo a extremo. Os DIFSERV tentam fornecerserviços baseados num contrato, SLA, entre as redes de serviços. Uma <strong>da</strong>s grandes vantagens dosDIFFSERV é permitir a sua utilização sem serem necessárias alterações a nível <strong>da</strong>s aplicações. Masé sempre necessário dotar os routers <strong>da</strong> capaci<strong>da</strong>de de suporte dos DIFSERV. A marcação pode serinVídeo: uma aplicação de vídeo interactivo sobre a Internet 25


Vídeo sobre a Internetfeita nos routers <strong>da</strong> rede do utilizador do serviço ou nos routers do fornecedor de serviços. Noprimeiro caso, o fornecedor de serviços terá de proceder à verificação <strong>da</strong>s marcações feitas nospacotes para comprovar o respeito do SLA por parte do utilizador.A implementação dos DIFFSERV nos pacotes passa pela utilização do campo Type of Serviceou Traffic-class do cabeçalho de um qualquer pacote Ipv4 ou Ipv6, respectivamente. É feita umaalteração na sua composição, tendo uma nova designação: Differentiated Service Field (DS Field), masmantendo a mesma semântica nas duas versões do IP. É neste novo campo que serão inscritas asclasses defini<strong>da</strong>s para os DIFFSERV.Apesar <strong>da</strong>s diferenças entre os DIFFSERV e os INTSERV, estes não são mutuamenteexclusivos. Apesar de existirem acordos SLA genéricos entre domínios, se necessário, e pararesponder a um pedido pontual de uma certa aplicação (como uma videoconferência), podem serusados mecanismos de reserva de recurso, recorrendo por exemplo o RSVP, para um certo fluxo.2.7 ConclusãoO uso de vídeo sobre a Internet é uma tarefa que depende <strong>da</strong> conjugação de muitos factores,onde todos influenciam na quali<strong>da</strong>de final <strong>da</strong> visualização. A manutenção de um fluxo constantede <strong>da</strong>dos é impossível de obter devido às características <strong>da</strong> Internet, logo é necessário recorrer aum conjunto de métodos e técnicas para ultrapassar esta limitação.A distribuição por intermédio do streaming traz uma grande flexibili<strong>da</strong>de em termos deserviços possíveis e nas formas de distribuição. A possibili<strong>da</strong>de <strong>da</strong> visualização de eventos ao vivo,e por um grande número de utilizadores, são <strong>da</strong>s maiores funcionali<strong>da</strong>des apenas possíveis comstreaming.Através de métodos de controlo de congestão e de erros é possível manter a quali<strong>da</strong>de aníveis aceitáveis e resolver, em parte, as limitações <strong>da</strong> Internet, como a pouca largura de ban<strong>da</strong>, e aimprevisibili<strong>da</strong>de do atraso e <strong>da</strong>s per<strong>da</strong>s. Outras dificul<strong>da</strong>des prendem-se, primeiro, com aheterogenei<strong>da</strong>de existente nas redes e nos sistemas e, segundo, com a protecção dos direitos dosautores dos conteúdos.A criação de aplicações sobre a Internet com media contínuos necessita de um conhecimentoalargado de todos os componentes envolvidos num serviço de streaming. Entre os maisimportantes surge a compressão do vídeo, entre métodos escaláveis e não escaláveis, quepermitem, respectivamente, uma maior ou menor flexibili<strong>da</strong>de na a<strong>da</strong>ptação às flutuações nascaracterísticas <strong>da</strong>s redes. Os serviços de distribuição de media contínuos definem um conjunto demétodos, implementados, essencialmente, fora dos servidores e dos clientes, que permitemmelhorar a quali<strong>da</strong>de do serviço de streaming. No servidor de streaming, elemento fulcral noserviço de streaming, podem ser implementa<strong>da</strong>s diferentes políticas de gestão e afectação derecursos, procurando melhorar a eficiência no envio dos <strong>da</strong>dos para os clientes. Por fim surgemain<strong>da</strong> os mecanismos de sincronização, com diferentes níveis, fun<strong>da</strong>mentais para umaapresentação lógica e coerente dos <strong>da</strong>dos.Os protocolos para o streaming são formas normaliza<strong>da</strong>s de tratar o envio de <strong>da</strong>dos que têminVídeo: uma aplicação de vídeo interactivo sobre a Internet 26


Vídeo sobre a Internetcaracterísticas particulares. Estes <strong>da</strong>dos, designados como <strong>da</strong>dos em tempo real, têmcondicionantes temporais e de quali<strong>da</strong>de diferentes dos restantes <strong>da</strong>dos que circulam na Internet.Os protocolos referidos permitem a comunicação entre servidores e clientes, bidireccional, dos<strong>da</strong>dos e de informação de controlo.A abor<strong>da</strong>gem de QoS sobre a rede é um elemento preponderante para a utilização futura <strong>da</strong>multimédia sobre a Internet. As duas arquitecturas descritas apresentam diferentes perspectivassobre o uso dos recursos de rede, e ca<strong>da</strong> uma apresenta-se com alternativa adequa<strong>da</strong> para um<strong>da</strong>do caso.Apenas com o conhecimento de todos estes aspectos e a sua correcta conjugação é possívelobter uma aplicação onde a apresentação de media contínuos seja consegui<strong>da</strong> com quali<strong>da</strong>de e deuma forma apelativa. De entre os diversos media, o vídeo deverá merecer um cui<strong>da</strong>do especial porser mais exigente em termos de recursos de rede.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 27


3. Composição, sincronização einteracção multimédiaNeste capítulo serão descritas duas normas não proprietáriaspara a composição, sincronização e interacção em cenasmultimédia.A primeira norma será a segun<strong>da</strong> versão <strong>da</strong> Linguagem deIntegração de Multimédia Sincroniza<strong>da</strong> (SMIL) do World Wide WebConsortium (W3C). A exposição do SMIL passa pela apresentaçãodos seus grupos funcionais com os principais módulos e écomplementa<strong>da</strong> com alguns exemplos dos módulos maisutilizados.A segun<strong>da</strong> norma a explorar será a MPEG-4, do Motion PictureExperts Group. Será feita uma pequena introdução à tecnologianum âmbito geral e será especifica<strong>da</strong> a forma como estão defini<strong>da</strong>sa composição, a sincronização e a interacção.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 28


Composição, sincronização e interactivi<strong>da</strong>de multimédia3.1 IntroduçãoAs normas para composição, sincronização e interacção em cenas multimédia existem háalguns anos, mas apesar desse facto a sua utilização tem sido reduzi<strong>da</strong>. As normas que vão serapresenta<strong>da</strong>s neste capítulo foram escolhi<strong>da</strong>s devido à importância que têm adquirido e à suacrescente aceitação.O SMIL 2.0 (Synchronized Multimedia Integration Language 2.0) abor<strong>da</strong> todos os aspectosreferidos no título deste capítulo, e ain<strong>da</strong> mais alguns, e é uma linguagem declarativa desenha<strong>da</strong>para a construção de apresentações multimédia.O MEPG-4 além de abor<strong>da</strong>r os aspectos do título, é muito mais abrangente dentro <strong>da</strong> áreamultimédia, visto que é uma família de protocolos e normas que cobre muitos dos aspectosrelacionados com objectos multimédia.3.2 Linguagem de integração de multimédia sincroniza<strong>da</strong>A Linguagem de Integração de Multimédia Sincroniza<strong>da</strong> (SMIL) é um formato paracodificação de apresentações multimédia sobre a Internet. Esta norma permite compor, sincronizare interagir com uma cena multimédia, ou seja, é um método de coordenar e controlar objectosmultimédia no tempo e no espaço, por intermédio de elementos e atributos XML. O autor defineca<strong>da</strong> objecto, a ser integrado durante uma apresentação, de forma independente.A primeira versão do SMIL surgiu em Junho de 1998 e foi adopta<strong>da</strong> pelos principais mediaplayers e navegadores então existentes. Em Junho de 2001 o W3C produz a versão 2.0, commelhorias significativas. Os objectivos para esta nova versão foram os seguintes: [Bulterman 01]− extensão às funcionali<strong>da</strong>des do SMIL 1.0. Esta versão foi proposita<strong>da</strong>mente construí<strong>da</strong>como uma linguagem simples e de fácil implementação. O SMIL 2.0 adiciona melhoriasna interacção, semântica <strong>da</strong> temporização, controlo de conteúdo e novas primitivas deanimação e transição;− manter um formato declarativo, XML. Apesar de principalmente integrar conteúdomultimédia, o SMIL 2.0 é completamente declarativo e não procedimental, já que o SMILnão define pormenores de implementação <strong>da</strong> apresentação, deixando essa tarefa para oplayer. Mantém a completa compatibili<strong>da</strong>de com a linguagem XML;− introdução de uma estrutura basea<strong>da</strong> em módulos. Utilizando uma estrutura modularpode-se integrar partes do SMIL 2.0 em outras linguagens basea<strong>da</strong>s em XML, sem sernecessário o suporte de to<strong>da</strong> a especificação SMIL 2.0.3.2.1 Estrutura básica de um documento SMILO SMIL é baseado em XML e como tal contém um elemento raiz que se designa smil. Este éinVídeo: uma aplicação de vídeo interactivo sobre a Internet 29


Composição, sincronização e interactivi<strong>da</strong>de multimédiacomposto por duas partes: o cabeçalho (elemento head) e corpo (elemento body). No cabeçalhoestará to<strong>da</strong> a informação não temporal, principalmente os <strong>da</strong>dos que definem as regiões onde osdiversos objectos serão posicionados. No corpo estarão os objectos com os seus atributos, a suaorganização temporal e, se as houver, as ligações.No anexo A encontra-se um documento SMIL para a implementação de um ecrã ondepoderá ser visualizado um vídeo paralelamente com uma imagem e algum texto. São desse anexoalguns dos excertos de código de SMIL que servem de exemplo nesta secção.3.2.1.1 CabeçalhoO cabeçalho poderá conter três tipos de informação: meta<strong>da</strong>dos (elemento meta), composição<strong>da</strong> cena (elemento layout) e controlo de conteúdo. O código seguinte exemplifica a estrutura de umcabeçalho com informação guar<strong>da</strong><strong>da</strong> em meta<strong>da</strong>dos e define uma cena com três regiões:3.2.1.2 CorpoO corpo contém essencialmente a informação sobre a posição e temporização dos objectos. Aorganização temporal do SMIL é uma estrutura hierárquica em árvore, onde existe a sincronizaçãoparalela e sequencial de objectos. Os operadores principais para implementar estas duas formas desincronização são, respectivamente, par e seq.O código seguinte apresenta um exemplo de um ecrã onde é apresentado um vídeo eparalelamente se vão seguindo imagens e textos:


Composição, sincronização e interactivi<strong>da</strong>de multimédiafit="fill"src="filme_01_300k.rm"/>...............O código anterior mostra, além de exemplos de utilização dos operadores, a relação com asdefinições feitas no cabeçalho, com o atributo region. Ca<strong>da</strong> objecto é posicionado numa regiãoreferi<strong>da</strong> explicitamente.A figura 3-1 é a representação gráfica do código anterior. Temos o vídeo, que existe duranteto<strong>da</strong> a apresentação, e paralelamente as imagens e os textos, que são trocados em momentosespecíficos.Texto 1Texto 2Texto nImagem 1Imagem 2Imagem nVídeotFigura 3-1 Exemplo de temporização3.2.2 Grupos FuncionaisA segun<strong>da</strong> versão do SMIL define dez grupos funcionais de elementos e atributos, contendoaproxima<strong>da</strong>mente cinquenta módulos. O conceito de módulo surge como a agregação deelementos e atributos XML semanticamente relacionados, representando uma uni<strong>da</strong>de deinVídeo: uma aplicação de vídeo interactivo sobre a Internet 31


Composição, sincronização e interactivi<strong>da</strong>de multimédiafuncionali<strong>da</strong>des (por exemplo, o módulo BasicAnimation, do grupo funcional Animação). A junçãode várias uni<strong>da</strong>des de funcionali<strong>da</strong>des relaciona<strong>da</strong>s constitui um grupo funcional (os módulosBasicAnimation e SpilineAnimation formam o grupo funcional Animação). Quando os módulos sãocombinados num <strong>da</strong>do conjunto (não é obrigatória a combinação de grupos funcionais completos)designam-se como um perfil de implementação, o qual tem o objectivo de fornecer um conjunto defuncionali<strong>da</strong>des para uma aplicação específica. Na secção 3.2.3 são apresentados alguns dos perfisde implementação.O resto desta secção terá uma pequena descrição de ca<strong>da</strong> uma destas uni<strong>da</strong>des e apresentarápara as mais importantes alguns exemplos <strong>da</strong> utilização de alguns dos seus operadores.3.2.2.1 AnimaçãoA animação é uma função no tempo sobre um determinado elemento, mais precisamentesobre um dos seus atributos (como por exemplo a dimensão ou o posicionamento, entre outros). Aanimação define um mapeamento de valores no tempo do atributo.O grupo Animação contém dois módulos, o BasicAnimation e o SpilineAnimation. Estesmódulos contêm elementos para introduzir animação sobre uma linha de tempo, bem como osmecanismos de composição entre diversas animações.O módulo BasicAnimation fornece: a sintaxe dos elementos e dos atributos <strong>da</strong>s funções deanimação simples defini<strong>da</strong>s por um conjunto de pontos a ser tratado sequencialmente. As funçõesdefini<strong>da</strong>s sobre a passagem por entre os diversos pontos usam interpolação discreta, linear oupaced. Os elementos existentes são os seguintes:− animate: para animação genérica;− set: para definir o valor de atributo;− animateMotion: para definir o movimento num <strong>da</strong>do caminho;− animateColor: para definir a alteração <strong>da</strong> cor no tempo.O código seguinte apresenta um exemplo <strong>da</strong> utilização do animate. O elemento rect identificaum rectângulo e a animação defini<strong>da</strong> fará a alteração <strong>da</strong> sua largura e comprimento.O módulo SpilineAnimation estende os modos de cálculo (discreto, linear e paced), permitindoum controlo adicional sobre a interpolação e a temporização. O código seguinte apresenta umexemplo onde é feita a alteração <strong>da</strong> cor de um objecto, iniciando a verde, passando a meio <strong>da</strong>animação para amarelo (0.5 visto que keyTimes define a relação temporal entre 0 e 1) e por fim paravermelho, até ao final <strong>da</strong> apresentação do objecto:inVídeo: uma aplicação de vídeo interactivo sobre a Internet 32


Composição, sincronização e interactivi<strong>da</strong>de multimédia3.2.2.2 Controlo de conteúdoOs módulos do Controlo de Conteúdo contêm elementos e atributos que permitem variar oconteúdo a apresentar mediante as preferências do utilizador e optimizar a entrega do conteúdo.Os módulos são os seguintes:− BasicContentControl: contém os elementos para a selecção de conteúdos e testespredefinidos aos atributos de sistema;− CustomTestAttributes: contém elementos de teste e atributos definidos pelo autor dodocumento;− PrefetchControl: contém os elementos e atributos para a optimização <strong>da</strong> apresentação;− SkipContentControl: contém os atributos que suportam a avaliação selectiva de outrosatributos.O código seguinte apresenta um exemplo <strong>da</strong> selecção de conteúdo mediante a avaliação deum <strong>da</strong>do atributo (neste caso o systemBitrate) de uma lista dentro do elemento switch. Se este forigual ou superior a 40000 será apresentado o conteúdo dentro do elemento par onde é verifica<strong>da</strong>essa condição (para o código apresentado é o primeiro caso) os restantes serão ignorados:...............Este exemplo mostra a avaliação <strong>da</strong> largura de ban<strong>da</strong> disponível detecta<strong>da</strong>, mas existemoutras possibili<strong>da</strong>des de teste como o tamanho do ecrã, a sua profundi<strong>da</strong>de, a linguagem dosistema, a existência de legen<strong>da</strong>s, entre outros. Estes testes já existiam no SMIL 1.0. Com o SMIL2.0 também é possível avaliar o sistema operativo, o processador, incluir ou não descrições doáudio e outros componentes do sistema tem (como codecs, canais de áudio, etc.).3.2.2.3 ComposiçãoA Composição é uma colecção de módulos usados para explicitamente gerir a construção doespaço <strong>da</strong> apresentação e dos recursos audiovisuais. É composto por um módulo principal, oBasicLayout, e por outros três módulos construídos sobre este, adicionando ca<strong>da</strong> qual diferentesfuncionali<strong>da</strong>des.O elemento raiz <strong>da</strong> Composição é o layout e ca<strong>da</strong> zona desse ecrã é defini<strong>da</strong> através doelemento region. Mediante o módulo usado poderão ain<strong>da</strong> ser usados outros elementos.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 33


Composição, sincronização e interactivi<strong>da</strong>de multimédiaOs três módulos adicionais contêm elementos e atributos que permitem o posicionamento deobjectos e o controlo <strong>da</strong> intensi<strong>da</strong>de do áudio, e são os seguintes:− MultiWindowsLayout: o uso deste módulo permite a criação e controlo de múltiplas janelas(nova funcionali<strong>da</strong>de com o SMIL 2.0). O elemento usado para definir ca<strong>da</strong> uma <strong>da</strong>sjanelas é o topLayout dentro do elemento Layout;− HierarquicalLayout: permite a declaração de regiões dentro de outras regiões. É semelhanteao conceito já usado entre topLayout e region, mas neste caso apenas com o elemento region;− AudioLayout: suporta o controlo <strong>da</strong> intensi<strong>da</strong>de do áudio de objectos posicionados numa<strong>da</strong><strong>da</strong> região através <strong>da</strong> proprie<strong>da</strong>de soundLevel do elemento region.Na secção 3.2.1 é apresentado um exemplo <strong>da</strong> composição de um documento SMIL usandoapenas o módulo BasicLayout.3.2.2.4 LigaçãoOs módulos <strong>da</strong> uni<strong>da</strong>de de Ligação definem os elementos e atributos que permitem gerir asligações temporais e não temporais. As ligações de uma apresentação SMIL podem serdesencadea<strong>da</strong>s pelo utilizador ou por eventos temporais.Os módulos do grupo funcional Ligação são os seguintes:− BasicLinking: é o conjunto de elementos básicos que definem as ligações;− LinkingAttributes: é o conjunto de atributos usados para definir a semântica <strong>da</strong>s ligaçõesSMIL feitas pelos elementos básicos do módulo BasicLinking;− ObjectLinking: inclui opções adicionais para funcionali<strong>da</strong>des de ligação que um <strong>da</strong>do perfilde linguagem preten<strong>da</strong> incluir.O código seguinte apresenta um exemplo <strong>da</strong> implementação de uma ligação dentro de umaapresentação SMIL. Se o utilizador seleccionar a imagem (source.jpg) localizado na metadesuperior <strong>da</strong> janela, desencadeará a apresentação do documento SMIL (embeddedSIML.smil) naparte inferior <strong>da</strong> janela. Uma segun<strong>da</strong> forma de iniciar esta acção é pressionando a tecla ‘a’.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 34


Composição, sincronização e interactivi<strong>da</strong>de multimédia3.2.2.5 ObjectosO grupo funcional Objectos apresenta os módulos relacionados com a descrição dos objectosmedia que estarão presentes num documento SMIL. O módulo principal designa-se BasicMedia eexistem cinco módulos adicionais cujas funcionali<strong>da</strong>des são complementares o módulo principal.O módulo BasicMedia define os seguintes elementos para referir os mais diversos objectos:− ref: referência genérica a um media;− animation: gráficos vectoriais animados ou outro formato de animação;− audio: ficheiro de áudio;− img: ficheiro de imagem;− text: referência a um texto simples;− textstream: texto por streaming;− video: ficheiro de vídeo;A secção 3.2.1 apresenta um exemplo <strong>da</strong> utilização de vários elementos do módulo principal.Os cinco módulos já referidos no início desta secção são os seguintes:− MediaParam: usa o elemento param e especifica o conjunto de valores que podem sernecessários a um objecto na sua apresentação. Podem existir vários elementos param paraca<strong>da</strong> objecto e têm de estar no início do elemento deste;− MediaClipping: contém dois atributos, clipBegin e clipEnd, que permitem a definição <strong>da</strong>apresentação de partes de um media contínuo (por exemplo: uma cena em vez de um filmecompleto);− MediaClipMarkers: com objectivos similares aos anteriores mas utilizando marcadores paraos momentos dos media contínuos, em vez do tempo como em clipBegin e clipEnd;− MediaAccessibility: contém atributos (alt e longdesc) para informação suplementar que podeser usa<strong>da</strong> em casos de impossibili<strong>da</strong>de na apresentação do objecto. Define ain<strong>da</strong> umatributo (readIndex) para a ordenação do aparecimento <strong>da</strong> informação presente nosatributos alt e longdesc;− MediaDescription: conjunto de elementos e atributos usados para descrever o objecto, comopor exemplo: abstract, title e copyright.O exemplo apresentado em 3.2.1 apenas faz uso dos elementos e dos atributos essenciais. Umexemplo com elementos mais diversos está apresentado no código seguinte:inVídeo: uma aplicação de vídeo interactivo sobre a Internet 35


Composição, sincronização e interactivi<strong>da</strong>de multimédiaNeste exemplo, um equipamento especial faria apenas a apresentação dos títulos na ordemdefini<strong>da</strong> pelo atributo readIndex. O primeiro a ser apresentado seria a imagem, de segui<strong>da</strong> aanimação e vídeo, e por fim o áudio por não ter o valor definido explicitamente.3.2.2.6 Meta-informaçãoO módulo de Meta-Informação contém os elementos e atributos que permitem a descriçãodos documentos SMIL.Como existe uma dificul<strong>da</strong>de em automatizar de alguma forma a informação que existe naweb, e se a este facto adicionarmos o volume de informação crescente, é importante que osconteúdos criados sejam acompanhados com informação que os descreva e assim permitiremacções de pesquisa, facilitando a sua localização e reutilização. Surgem os meta<strong>da</strong>dos que são‘<strong>da</strong>dos sobre os <strong>da</strong>dos’, ou mais especificamente, <strong>da</strong>dos a descrever os recursos web. O uso demeta<strong>da</strong>dos foi a forma defini<strong>da</strong> no SMIL para a sua descrição.A secção 3.2.1 apresenta um exemplo <strong>da</strong> forma mais simples de incluir meta<strong>da</strong>dos numdocumento SMIL. O elemento e os atributos usados no código já vêm <strong>da</strong> versão SMIL 1.0 e são,respectivamente, os seguintes: meta; name e content.As empresas e os autores individuais são livres de definir os meta<strong>da</strong>dos que querem usar. Arecomen<strong>da</strong>ção SMIL sugere o uso de meta<strong>da</strong>dos normalizados, como o Resource DescriptionFramework e o Dublin Core Meta<strong>da</strong>ta Initiative, de forma a promover a troca e interoperabili<strong>da</strong>de.3.2.2.7 EstruturaA Estrutura define quais os elementos básicos para construir um documento SMIL. Oselementos básicos que formam a Estrutura são os seguintes: smil (como raiz), head (comocabeçalho) e body (como corpo principal do documento).A secção 3.2.1 apresenta uma descrição mais extensa de ca<strong>da</strong> um destes elementos, incluindoalguns exemplos <strong>da</strong> sua utilização.3.2.2.8 Temporização e sincronizaçãoOs módulos desta secção definem os elementos e os atributos para coordenar e sincronizar aapresentação dos objectos media no tempo. Os objectos media podem ser discretos, como asimagens e o texto, ou contínuos, como o vídeo, o áudio e a animação, estes últimos com duração.Os seguintes elementos de Sincronização comuns podem ser inseridos uns nos outros semrestrições:− : executa os elementos que contém uns atrás dos outros, sequencialmente;inVídeo: uma aplicação de vídeo interactivo sobre a Internet 36


Composição, sincronização e interactivi<strong>da</strong>de multimédia− : executa apenas um dos elementos contidos de ca<strong>da</strong> vez, mas sem impor qualquerordenação;− : executa os elementos contidos como um grupo, existindo portanto apresentaçõesparalelas.O código apresentado na secção 3.2.1 inclui a utilização dos elementos par e seq. Este exemplomostra um vídeo em paralelo com uma sequência de imagens e textos.Os atributos disponíveis permitem definições complexas e avança<strong>da</strong>s. Podem ser defini<strong>da</strong>srelações entre os objectos e fazer depender a apresentação de ca<strong>da</strong> um deles num eventorelacionado com o outro. O próximo código apresenta um exemplo simples deste aspecto:No código anterior temos uma apresentação paralela de duas imagens (slides no exemplo).Apesar de ser paralela a apresentação, a segun<strong>da</strong> imagem apenas é apresenta<strong>da</strong> três segundosapós o término <strong>da</strong> primeira.Uma última nota sobre este exemplo: a primeira imagem nunca será apresenta<strong>da</strong>, apesar deter defini<strong>da</strong> uma duração de três segundos. Como o elemento par tem o início definido para menosdez segundos e uma duração de vinte segundos, a apresentação dos objectos dentro do paracontecerá apenas nos últimos dez segundos <strong>da</strong> sua duração. Isto é, como a primeira imagem duraapenas três segundos, fica dentro dos dez segundos sem apresentação. A segun<strong>da</strong> imagem seriaapresenta<strong>da</strong> ao sexto segundo (três segundos do slide1, mais os três segundos de deslocaçãorelativo ao final do slide1), mas como este momento ain<strong>da</strong> está dentro dos primeiros dez segundos,apenas os últimos seis segundos <strong>da</strong> sua apresentação é que se realizarão.Esta secção é <strong>da</strong>s mais extensas do SMIL, totalizando dezanove módulos para definições deelementos e atributos.3.2.2.9 Manipulação TemporalA Manipulação Temporal, como o próprio nome indica, permite alterar o comportamento dotempo numa apresentação, ou seja, a sua veloci<strong>da</strong>de. Estas manipulações estão pensa<strong>da</strong>sprincipalmente para media discretos e a actuação sobre media contínuos nem sempre é suporta<strong>da</strong>.Os atributos definidos para suportar esta funcionali<strong>da</strong>de são os seguintes: accelerate, decelerate,speed e autoReverse.O código seguinte apresenta a utilização de um destes atributos:O exemplo apresenta dois vídeos em sequência, e pela sua duração poderíamos deduzir queinVídeo: uma aplicação de vídeo interactivo sobre a Internet 37


Composição, sincronização e interactivi<strong>da</strong>de multimédiaa apresentação levará vinte segundos. Como o atributo speed está presente e com o valor dois,significa que a apresentação se fará no dobro <strong>da</strong> veloci<strong>da</strong>de e levará metade do tempo, isto é, dezsegundos.3.2.2.10 TransiçõesAs transições são efeitos visuais que ocorrem principalmente na passagem entre diferentesobjectos imagem (discretos ou contínuos). Podem também ocorrer transições durante aapresentação de um objecto. As transições áudio não estão defini<strong>da</strong>s nesta versão do SMIL.O código seguinte apresenta a utilização de transições numa sequência de imagens:......O exemplo apresenta a sequência de quatro imagens, ca<strong>da</strong> uma com a duração de cincosegundos. Antes <strong>da</strong> ocorrência do código onde está a sequência é feita a definição <strong>da</strong> transição comdiversas características. Nos parâmetros <strong>da</strong> imagem são colocados os <strong>da</strong>dos que identificam atransição a usar e de que modo. A passagem de uma imagem para outra terá agora sempre ainclusão <strong>da</strong> transição. Durante um segundo haverá o efeito visual do aparecimento <strong>da</strong> novaimagem e o desaparecimento <strong>da</strong> antiga por sobreposição, <strong>da</strong> esquer<strong>da</strong> para a direita.A apresentação <strong>da</strong>s diferentes áreas funcionais e módulos desta secção baseou-se numaselecção resumi<strong>da</strong> dos aspectos mais importantes. A lista completa dos elementos e dos atributos,bem como a sua descrição e explicação, estão em [SMIL20].3.2.3 Perfis de implementaçãoA estrutura modular do SMIL 2.0 permite aos construtores de players combinar os módulosque considerem relevantes e implementar nas suas aplicações apenas as funcionali<strong>da</strong>des queconsiderem mais adequa<strong>da</strong>s. A selecção de um conjunto de módulos designa-se por um perfil deimplementação.Os perfis de implementação do SMIL 2.0 definidos até ao momento são os seguintes[Bulterman 02]:− linguagem: usa praticamente todos os módulos definidos pelo SMIL 2.0 e os documentoscriados segundo este perfil têm a estrutura defini<strong>da</strong> na secção 3.2.2.7 ;− básico: foi definido para permitir a utilização do SMIL em terminais simples, comotelemóveis e PDAs. Mantém a estrutura defini<strong>da</strong> no perfil linguagem e é diferente destenos módulos que implementa. Este perfil apenas suporta os módulos cuja complexi<strong>da</strong>deseja baixa;inVídeo: uma aplicação de vídeo interactivo sobre a Internet 38


Composição, sincronização e interactivi<strong>da</strong>de multimédia− XHTML+SMIL: os módulos escolhidos para constituir este perfil permitem integrar asemântica <strong>da</strong> temporização e <strong>da</strong> apresentação noutros documentos XML.3.3 MPEG-4A norma MPEG-4, na sequência <strong>da</strong>s normas MPEG-1 e MPEG-2, foi desenvolvi<strong>da</strong> sobre ointeresse crescente em três diferentes áreas: televisão digital, aplicações gráficas interactivas (comconteúdo sintético) e multimédia interactiva. O MPEG-4 visa fornecer a normalização doselementos tecnológicos que integram a produção, a distribuição e o acesso aos conteúdos nestastrês áreas [Koenen 00].O MPEG-4 fornece um conjunto de tecnologias para satisfazer as necessi<strong>da</strong>des dos autores,fornecedores de serviços e utilizadores.Aos autores, o MPEG-4 possibilita a produção de conteúdos reutilizáveis e flexíveis. Permiteain<strong>da</strong> uma gestão mais eficaz dos direitos dos autores dos conteúdos.Aos fornecedores de serviços, o MPEG-4 oferece informação transparente, que pode serinterpreta<strong>da</strong> e traduzi<strong>da</strong> para os sinais nativos de ca<strong>da</strong> rede com a aju<strong>da</strong> <strong>da</strong> normalização. Nãoinclui considerações para a quali<strong>da</strong>de de serviço (QoS), apenas fornecendo um descritor de QoSpara diferentes tipos de media MPEG-4. A tradução dos parâmetros de QoS para ca<strong>da</strong> um dosdiferentes media está excluí<strong>da</strong> do âmbito do MPEG-4 e é deixa<strong>da</strong> para tratamento pelosfornecedores <strong>da</strong> rede.Aos utilizadores finais, o MPEG-4 traz níveis mais elevados de interactivi<strong>da</strong>de com osconteúdos, dentro dos limites definidos pelo seu autor. Possibilita também a utilização <strong>da</strong>multimédia em novas redes, incluindo aquelas onde a taxa de transmissão é baixa, e nas redesmóveis.A todos os envolvidos, o MPEG-4 evita o uso de: diversas normas proprietárias, formatosnão compatíveis e diversos players [Koenen 00].Os objectivos do MPEG-4 são obtidos definindo um conjunto de normas que permitem a:− codificação de objectos que podem ser conteúdos constituídos por elementos visuais,auditivos e audiovisuais. Os objectos podem ser de origem natural ou sintética (podemser gravados com uma câmara de vídeo ou um microfone, ou gerados por intermédio deum computador);− descrição <strong>da</strong> composição dos objectos de forma a criar uma cena audiovisual;− multiplexagem e sincronização dos <strong>da</strong>dos associados com os objectos, de forma apoderem ser transportados por canais de rede, com uma QoS apropria<strong>da</strong>, mediante anatureza do objecto;− interacção com a cena audiovisual gera<strong>da</strong> do lado do receptor.A restante secção relativa ao MPEG-4 mostrará alguns aspectos sobre as formas decomposição (secção 3.3.1 ), de sincronização (secção 3.3.2 ) e de interacção (secção 3.3.3 ) possíveisno MPEG-4. A codificação e multiplexagem, por estarem fora do âmbito <strong>da</strong> dissertação, não serãoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 39


Composição, sincronização e interactivi<strong>da</strong>de multimédiareferi<strong>da</strong>s.3.3.1 ComposiçãoO MPEG-4 além de possibilitar a codificação de objectos individuais, também permite a suacomposição de forma a constituir uma cena. A informação de composição forma a descrição <strong>da</strong>cena, que é codifica<strong>da</strong> e transmiti<strong>da</strong> junto com os objectos de media. Partindo do Virtual RealityModeling Language (VRML), o MPEG desenvolveu uma linguagem binária para a descrição <strong>da</strong>scenas, designa<strong>da</strong> por BInary Format for Scenes (BIFS).As descrições <strong>da</strong>s cenas são codifica<strong>da</strong>s independentemente dos fluxos dos objectos, parafacilitar o desenvolvimento de ferramentas de autoria, manipulação e interacção. É <strong>da</strong>do umcui<strong>da</strong>do especial na identificação dos parâmetros pertencentes à descrição <strong>da</strong> cena (por exemplo, oposicionamento de um objecto), que são diferenciados <strong>da</strong>queles que visam melhorar a eficiência <strong>da</strong>codificação de um objecto.Apresenta-se de segui<strong>da</strong> alguns exemplos sobre a descrição de uma cena:− agrupar os objectos: uma cena MPEG-4 segue uma estrutura hierárquica (ver figura 3-3)semelhante a uma árvore. A árvore não é necessariamente estática, podendo também serdinâmica, visto que existe a possibili<strong>da</strong>de de alterar os parâmetros de ca<strong>da</strong> nó e atéadicionar, substituir ou apagar nós;CenaPessoa Fundo 2D Mobíliavoz sprite globo mesaFigura 3-3 Estrutura lógica de uma cena− posicionamento dos objectos no espaço e no tempo: no modelo MPEG-4, os objectosaudiovisuais têm uma extensão espacial e temporal. Ca<strong>da</strong> objecto tem um sistema decoordena<strong>da</strong>s local, que define uma localização e escala espacial e temporal fixas para esseobjecto sistema este que serve para manipular o objecto no espaço e no tempo. Os objectossão posicionados numa cena especificando uma transformação <strong>da</strong>s coordena<strong>da</strong>s locais doobjecto com as coordena<strong>da</strong>s defini<strong>da</strong>s numa descrição de cena de um nó superior <strong>da</strong>árvore;− selecção do valor dos atributos: os objectos individuais e os nós de descrição de cenaexpõem um conjunto de parâmetros na cama<strong>da</strong> de composição, alguns dos quais podemser controlados. Alterar a intensi<strong>da</strong>de de um som, a cor de um objecto sintético, sãoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 40


Composição, sincronização e interactivi<strong>da</strong>de multimédiaexemplos de controlo sobre atributos de um objecto;− outras transformações sobre os objectos: a estrutura <strong>da</strong> descrição <strong>da</strong> cena e a semânticade ca<strong>da</strong> nó são muito influencia<strong>da</strong>s pelo VRML, incluindo também o seu modelo deeventos, o que permite ao MPEG-4 construir cenas complexas, devido ao conjunto rico deoperadores construtores de cenas.3.3.1.1 BIFS versão 2O MPEG-4, na sua versão 2, melhorou o BIFS, adicionando um conjunto alargado de novasfuncionali<strong>da</strong>des. O novo BIFS designou-se, então, Advanced BIFS, ou BIFS versão 2. De entre asmelhorias destacam-se as seguintes:− modelação avança<strong>da</strong> do ambiente áudio em cenas virtuais interactivas; proprie<strong>da</strong>descomo reflexões em quartos, reverberação, efeito de Doppler e obstrução do som causa<strong>da</strong>por objectos <strong>da</strong> cena entre o emissor e o receptor do som são processa<strong>da</strong>s em tempo realpara fontes de áudio em ambientes dinâmicos;− animação corporal de um modelo corporal existente, por omissão, no descodificador oude um modelo corporal que pode ser descarregado;− chroma keying usado para gerar uma máscara e uma transparência para uma imagem ousequência de vídeo;− inclusão de redes 3D hierárquicas para cenas BIFS;− associação de comandos interactivos aos nós de objectos: os comandos são levados para oservidor por um canal de retorno para processamento específico;− PROTO e EXTERNPROTO, nós que permitem uma maior compatibili<strong>da</strong>de com o VRMLe possibilitam a criação de macros que definem o comportamento dos objectos;− compressão avança<strong>da</strong> dos <strong>da</strong>dos BIFS, em particular a compressão óptima para redes evectores de <strong>da</strong>dos.3.3.1.2 Formato textualUma outra forma para a descrição de cenas em MPEG-4 é o uso do eXtensible MPEG-4Textual Format (XMT), que usa uma sintaxe textual.O XMT permite a troca de conteúdos entre os autores, ferramentas ou fornecedores deserviços, e facilita a interoperabili<strong>da</strong>de com as linguagens X3D (eXtensible 3D do Web3DConsortium) e SMIL [Koenen 00].O XMT pode ser usado nos players SMIL, VRML e MPEG-4. A figura 3-3 é uma descriçãográfica <strong>da</strong> relação entre o XMT e outras linguagens para descrição de cenas. O MPEG-4 usa: umagrande parte do SMIL, do Scalable Vector Graphics, do X3D, e também já prevê o uso <strong>da</strong>s descriçõesde conteúdo <strong>da</strong> norma MPEG-7.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 41


Composição, sincronização e interactivi<strong>da</strong>de multimédiaSMILSVGXMTMPEG-7AnalisarCompilarPlayerSMILNavegadorVRMLX3DRepresentaçãoMPEG-4(p.e. ficheiro mp4)PlayerMPEG-4Figura 3-3 eXtensible MPEG-4 Textual Format (XMT)3.3.2 SincronizaçãoA cama<strong>da</strong> de sincronização (para mais informações sobre o modelo de cama<strong>da</strong>s do sistemaMPEG-4 ver [Koenen 00]) tem um conjunto de ferramentas para verificações de consistência, deenchimento (padding), de transporte de informação básica temporal e para carregar uni<strong>da</strong>des deacesso com marcações temporais de um fluxo de um media elementar. Os fluxos elementaresconsistem em uni<strong>da</strong>des de acesso com <strong>da</strong>dos específicos sobre o tempo de descodificação ecomposição. A cama<strong>da</strong> de sincronização necessita de uma detecção de erros fiável e de enquadrarca<strong>da</strong> pacote na cama<strong>da</strong> inferior.A associação de fluxos elementares a objectos de uma cena é feita por intermédio dosdescritores dos objectos. Estes carregam informação sobre o número e as proprie<strong>da</strong>des dos fluxoselementares relacionados com um certo objecto de media, e são transportados em fluxoselementares. Estes fluxos são considerados como a descrição dos recursos de streaming de umaapresentação. De forma semelhante, a descrição <strong>da</strong> cena também é transporta<strong>da</strong> como um fluxoelementar, permitindo a modificação <strong>da</strong> composição espaço-temporal <strong>da</strong> apresentação no tempo.Modelo avançado de sincronizaçãoO modelo avançado de sincronização, também designado como FlexTime, melhora o modelotemporal do MPEG-4 de forma a permitir a sincronização de múltiplos fluxos e objectos, quepodem ser originários de múltiplas fontes.O modelo tradicional de sincronização foi definido basicamente para a simples difusão deaplicações onde a sincronização temporal entre uni<strong>da</strong>de de acesso é consegui<strong>da</strong> via marcaçõestemporais e relógios de referência. Com estes métodos era possível obter boa sincronização intrastream,mas não permitia a sincronização inter-stream de fluxos provenientes de múltiplas fontes (ecom diferentes relógios), como é o caso <strong>da</strong>s aplicações sobre a Internet.O modelo FlexTime permite aos autores de conteúdos especificar relações temporais simplesentre objectos MPEG-4, como CoStart, CoEnd e Meet. Os autores também podem definir restriçõesde flexibili<strong>da</strong>de para os objectos MPEG-4, como se estes fossem “molas elásticas”. Isto permite asincronização entre múltiplos objectos de acordo com relações temporais, podendo “encolher” e“esticar” os conteúdos dentro de alguns limites.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 42


Composição, sincronização e interactivi<strong>da</strong>de multimédia3.3.3 InteracçãoO MPEG-4 permite a interacção do utilizador com o conteúdo e pode ser dividi<strong>da</strong> em duascategorias: do lado do cliente e do lado do servidor.A interacção do lado do cliente envolve a manipulação do conteúdo e pode tomar váriasformas. A manipulação do lado cliente é executa<strong>da</strong> localmente, no terminal do utilizador.De entre as várias formas que a interacção pode tomar no lado cliente, salienta-se a alteraçãode um atributo de um nó <strong>da</strong> cena (como alterar a posição de um objecto, definir como visível ouinvisível, ou alterar o tipo de letra, caso seja um texto sintético). A interacção é desencadea<strong>da</strong> peloutilizador, utilizando os dispositivos de entra<strong>da</strong> disponíveis (por exemplo, o rato e o teclado). Oterminal MPEG-4 pode processar os comandos de tal forma que o resultado sobre a apresentação,comparativamente a iguais comandos na fonte original do conteúdo, seja o mesmo. Assim, estetipo de interacção não necessita de normalização.Outras formas de interacção do lado do cliente necessitam do suporte de sintaxe para adescrição <strong>da</strong> cena, e são especifica<strong>da</strong>s por uma norma. Essa norma é o VRML, e é usa<strong>da</strong> a suaestrutura de eventos, uma vez que fornece um modelo rico sobre o qual os autores de conteúdospodem trabalhar com vista à criação de materiais interactivos atraentes.A interacção do lado do servidor envolve a manipulação do conteúdo na emissão, inicia<strong>da</strong>por um evento do utilizador. Apenas acontece se houver um canal de retorno entre o cliente e oservidor.3.4 ConclusõesAs duas normas apresenta<strong>da</strong>s contêm os elementos referidos no título deste capítulo, acomposição, sincronização e a interacção. Apesar de cobrirem elementos comuns, são normas comobjectivos diferentes e com implementações muito distintas, e não estão em disputa por um espaçodentro <strong>da</strong>s normas que visam definir apresentações multimédia.O SMIL é uma colecção de elementos e atributos XML que podem ser usados para descrevera coordenação espacial e temporal de objectos de media.O MPEG-4 é uma família de normas que trata um conjunto alargado de aspectosrelacionados com os objectos de media, e não é apenas uma solução específica para uma qualquerforma de apresentação multimédia [Bulterman 01].Estas duas normas complementam-se e esse esforço está a ser concretizado na definição doXMT, pertencente ao MPEG-4, mas que contempla o SMIL como uma <strong>da</strong>s formas de descriçãotextual de uma cena multimédia.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 43


4. Meta<strong>da</strong>dos – Modelo dereferência de conteúdos reutilizáveisEste capítulo abor<strong>da</strong> os meta<strong>da</strong>dos para conteúdoseducacionais. Será feita uma abor<strong>da</strong>gem à sua importância e àssuas funções.Com relação aos objectivos desta dissertação, foi escolhi<strong>da</strong> umaespecificação que tem por finali<strong>da</strong>de a criação de um ambiente deensino distribuído, onde a organização dos mais variadosconteúdos de ensino pode ser feita de forma a permitir a suareutilização, independentemente <strong>da</strong> localização ou <strong>da</strong> plataformautiliza<strong>da</strong>.A norma a explorar será o Modelo de Referência de ConteúdosReutilizáveis (SCORM) e a abor<strong>da</strong>gem passará por to<strong>da</strong>s as suascomponentes, com especial atenção ao Modelo de Agregação deConteúdos, visto ser a componente usa<strong>da</strong> na aplicação versa<strong>da</strong>nesta dissertação.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 44


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveis4.1 IntroduçãoA introdução <strong>da</strong> tecnologia, como forma de incrementar a eficiência do ensino, iniciou-secom uma análise ao processo de aprendizagem. Foram realizados estudos em salas de aulastradicionais e feitas comparações com o ensino individualizado (via tutor) e encontraram-segrandes diferenças, que se reflectiam no nível de êxito <strong>da</strong> aprendizagem:− o ritmo de aprendizagem entre diferentes indivíduos é muito variável, mesmo em turmasque foram selecciona<strong>da</strong>s cui<strong>da</strong>dosamente [Gettinger 84];− um aluno, em média, numa sala de aula faz 0,1 perguntas por ca<strong>da</strong> hora; em ensinoindividualizado pode chegar às 120 perguntas [Graesser 94];− a eficiência dos alunos no método individualizado pode exceder no dobro a dos alunos deuma sala de aula – considerando o percentil, os alunos de uma sala de aula normalpoderiam, caso optassem pelo ensino individualizado, ver o seu percentil subir de 50%para 98% [Bloom 84].Ficou claro que o ensino individualizado traz vantagens na eficiência <strong>da</strong> aprendizagem, masa sua aplicação em ambientes de grande dimensão, como na administração pública, academias ouindústrias, tem um custo muito elevado e é complexo de implementar.A utilização <strong>da</strong> tecnologia surgiu como uma forma de enfrentar esse problema, devido àssuas capaci<strong>da</strong>des de funcionamento em tempo real e de a<strong>da</strong>ptação, visto que permitia fornecerinstrução individualiza<strong>da</strong> a um preço adequado e obter resultados de aprendizagem concretos.Outro conjunto de características importantes era a possibili<strong>da</strong>de de ajustar o ritmo, a sequência eo método de instrução que melhor se encaixavam nos interesses e objectivos de ca<strong>da</strong> estu<strong>da</strong>nte[Fletcher 03].As ferramentas que utilizam as novas tecnologias com fins de ensino começaram a surgir nosfinais <strong>da</strong> déca<strong>da</strong> de sessenta do século passado e foram classifica<strong>da</strong>s, basicamente, em duascategorias:− Computer Based Instruction (CBI): é um termo muito genérico e abrange qualquer sistemade ensino que utilize o computador como meio de aprendizagem;− Intelligent Tutoring Systems (ITS): basea<strong>da</strong> em estudos sobre inteligência artificial, estaabor<strong>da</strong>gem avalia a forma como os humanos aprendem, desenvolvem capaci<strong>da</strong>des econstróem definições. Os principais requisitos dos ITSs são: gerar instrução em tempo reale a pedido, necessária para estu<strong>da</strong>ntes individuais, e suportar diálogos, iniciados emqualquer dos lados, entre o sistema e o estu<strong>da</strong>nte.Com o decorrer dos anos, devido às melhorias tecnológicas, principalmente à maiorcapaci<strong>da</strong>de de processamento dos computadores pessoais, estas ferramentas e os seus custos dedesenvolvimento foram, respectivamente, amadurecendo e decrescendo exponencialmente. OsinVídeo: uma aplicação de vídeo interactivo sobre a Internet 45


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveisconteúdos rapi<strong>da</strong>mente integraram capaci<strong>da</strong>de multimédia e funcionali<strong>da</strong>des avança<strong>da</strong>s, mas estedesenvolvimento surgiu sobre formatos proprietários e sistemas especializados que não permitiama utilização dos conteúdos fora do contexto.Com o aparecimento <strong>da</strong> Internet, e principalmente <strong>da</strong> World Wide Web (WWW), alteraram-seas capaci<strong>da</strong>des dos CBIs e ITSs. A WWW foi desenvolvi<strong>da</strong> sobre uma estrutura de comunicaçõeslargamente acessível e feita sobre normas comuns, permitindo assim um acesso facilitado, emqualquer instante e em qualquer lugar, à informação e ao conhecimento.As estruturas dos, então actuais, sistemas de autoria CBI eram incompatíveis com a WWW.O conteúdo <strong>da</strong> WWW era neutro, em termos de plataforma, e guar<strong>da</strong>do e gerido em servidores. Osconteúdos dos sistemas CBI eram armazenados e executados localmente usando linguagens descript e motores proprietários. Mas a comuni<strong>da</strong>de CBI rapi<strong>da</strong>mente compreendeu os benefícios <strong>da</strong>instrução basea<strong>da</strong> na web.Numa primeira fase a transposição passou por uma a<strong>da</strong>ptação directa dos conteúdos para oambiente on-line, o que obrigou à utilização de plug-ins proprietários e o funcionamento não eraconsistente em ambientes diferentes.Uma segun<strong>da</strong> geração de sistemas de autoria começou a seguir a ideia de separar osconteúdos <strong>da</strong> sua lógica de controlo e apresentação. Surgem então os Learning Management Systems(LMSs), cujas funções são: a entrega, o registo, o reporte, a gestão de conteúdos de ensino, a gestãodo progresso dos alunos e <strong>da</strong>s suas interacções de ensino. Pela primeira vez os criadores de CBIsadoptaram conceitos mais próximos <strong>da</strong> comuni<strong>da</strong>de ITS. Objectos de aprendizagem partilháveis ereutilizáveis e estratégias de ensino a<strong>da</strong>ptativas começaram a ser uma base comum entre ascomuni<strong>da</strong>des CBI e ITS.Os grupos, instituições e pessoas envolvi<strong>da</strong>s no ensino à distância compreenderam, com aquase ubiqui<strong>da</strong>de <strong>da</strong> Internet, o grande potencial que um sistema de ensino distribuído eficientepoderia ter. Surgiu, assim, o Modelo de Referência de Conteúdos Reutilizáveis (Sharable ContentObject Reference Model - SCORM), desenvolvido pela Advanced Distributed Learning (ADL), que eraum conjunto de especificações e normas com o objectivo de criar uma estrutura técnica comum quepossibilitasse a interoperabili<strong>da</strong>de, a acessibili<strong>da</strong>de e a reutilização de conteúdos de ensinobaseados na Internet.Os arquitectos <strong>da</strong> ADL cedo reconheceram a necessi<strong>da</strong>de de um conjunto de normas queespecificasse os conteúdos de ensino e a sua descrição, armazenamento e apresentação numambiente de ensino distribuído e cuja aceitação e implementação fossem generaliza<strong>da</strong>s.O SCORM definiu um conjunto de requisitos de alto-nível para garantir o cumprimento dosseus objectivos. Esses requisitos foram designados por as “ili<strong>da</strong>des” (do inglês ilities) <strong>da</strong> ADL, econstituem a base na qual assenta o SCORM. As “ili<strong>da</strong>des” são as seguintes [SCORM Overview04]:− acessibili<strong>da</strong>de: a possibili<strong>da</strong>de de localizar e aceder a conteúdos remotos que podem serutilizados noutros pontos;− a<strong>da</strong>ptabili<strong>da</strong>de: conseguir modelar conteúdos para indivíduos e organizações;− custo (do inglês affor<strong>da</strong>bility): poder aumentar a eficiência e produtivi<strong>da</strong>de, reduzindo oinVídeo: uma aplicação de vídeo interactivo sobre a Internet 46


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveistempo e os custos associados à disponibilização de conteúdos;− durabili<strong>da</strong>de: não necessitar de novo projecto, configuração e codificação com a evoluçãoe mu<strong>da</strong>nças <strong>da</strong>s tecnologias;− interoperabili<strong>da</strong>de: a possibili<strong>da</strong>de de juntar um conjunto de componentes desenvolvidosnum local com um conjunto de ferramentas específicas e/ou plataformas, e usá-los noutrolocal com um conjunto de ferramentas e plataformas diferentes;− reusabili<strong>da</strong>de: a flexibili<strong>da</strong>de de poder utilizar conteúdos em múltiplas aplicações econtextos.Para além desta lista existiu ain<strong>da</strong> mais um princípio fun<strong>da</strong>dor: o de ser baseado na web. Asrazões desta opção são:− o ritmo de expansão acelera<strong>da</strong> <strong>da</strong>s tecnologias e infra-estruturas web que cria uma baseforte para as tecnologias de ensino;− a inexistência, de forma abrangente, de normas para ensino via web;− a possibili<strong>da</strong>de de recorrer a qualquer outro meio (como o CD, ambientes stand-alone oude rede), para a difusão de conteúdos que tenham sido criados para a web.4.2 OrganizaçãoO SCORM é um conjunto de livros técnicos independentes que contêm um conjunto deespecificações e normas, quase to<strong>da</strong>s de outras organizações (do IMS, <strong>da</strong> AICC, <strong>da</strong> ADRIANE e doIEEE LTSC). Os livros estão agrupados em três tópicos: Modelo de Agregação de Conteúdo(Content Aggregation Model - CAM), Sequência e Navegação (SN) e Ambiente de Execução(RunTime Environment - RTE).Existe, ain<strong>da</strong>, um livro, designado Descrição, que tem por objectivo abor<strong>da</strong>r os conceitos queenvolvem o SCORM de uma forma resumi<strong>da</strong> e de alto nível e fazer a introdução aos conceitos basee a to<strong>da</strong> a terminologia presente nos restantes livros.A figura 4-1 apresenta os diversos livros e algumas especificações que os constituem.O Modelo de Agregação de Conteúdo descreve os componentes usados numa experiência deensino nos seguintes aspectos: na forma de os empacotar para troca entre diferentes sistemas, de osdescrever para pesquisa e descoberta, e na definição de regras de sequência entre eles. Um pacotede conteúdos é descrito por um manifesto, definido num ficheiro XML designado imsmanifest.xml.A Sequência e Navegação definem as possibili<strong>da</strong>des de sequência <strong>da</strong> apresentação doconteúdo através de eventos de navegação iniciados pelo aluno ou pelo sistema. A ramificação efluxo desse conteúdo são descritos por um conjunto de activi<strong>da</strong>des defini<strong>da</strong>s, normalmente, nacriação do pacote.O Ambiente de Execução descreve: os requisitos do LMS para o processo de lançamento deconteúdos, as comunicações entre os conteúdos e os LMSs, e a normalização dos elementos doinVídeo: uma aplicação de vídeo interactivo sobre a Internet 47


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveismodelo de <strong>da</strong>dos usado para a passagem de informação sobre o aluno.Figura 4-1 Organização geral do SCORMOs vários livros são independentes entre si, mas tal não impede que haja áreas comuns. Porexemplo, enquanto o RTE trata, essencialmente, <strong>da</strong> comunicação entre o conteúdo e o LMS, nãodeixa muitas vezes de referir os tipos de objectos de conteúdos usados, os designados ConteúdosPartilháveis (Sharable Content Objects – SCO). A sua definição e descrição surgem no livro sobre oCAM.As próximas secções deste capítulo dedicam-se a apresentar em maior pormenor os livrosmencionados. O CAM será o componente com uma descrição mais alarga<strong>da</strong>, por ter sido o únicousado no âmbito do desenvolvimento do sistema abor<strong>da</strong>do nesta dissertação.4.3 Modelo de agregação de conteúdoO CAM é um conjunto de livros, que faz parte integrante e fun<strong>da</strong>mental do SCORM. Oslivros SCORM CAM contêm os seguintes elementos:− descrição dos componentes que estão presentes numa experiência de ensino;− empacotamento desses componentes de forma a permitir a troca entre diferentes sistemas;− caracterização dos componentes, para permitir a sua procura e descoberta (e assimfacilitar a reutilização de conteúdos);− definição de regras de sequência para os componentes.O CAM promove o consistente armazenamento, rotulagem, empacotamento, troca edescoberta de conteúdos de ensino. Visa, também, definir responsabili<strong>da</strong>des e requisitos para aconstrução e organização de conteúdos (como por exemplo: cursos, módulos, lições, etc.). Ain<strong>da</strong>presente nesta secção apresenta-se o Empacotamento de Conteúdos que fornece uma formaconsistente de descrever as estruturas dos conteúdos, os conteúdos de ensino, os meta<strong>da</strong>dos nosinVídeo: uma aplicação de vídeo interactivo sobre a Internet 48


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveisseus componentes, e as regras de sequência e navegação.4.3.1 Componentes do modelo de conteúdoO modelo de conteúdos descreve os componentes SCORM usados na construção deexperiências de ensino a partir de recursos educacionais. Define, também, como esses recursos debaixo-nível são partilhados e agregados em uni<strong>da</strong>des de instrução de alto-nível.Os componentes que existem são: os objectos simples, os conteúdos partilháveis (SCOs) e aorganização de conteúdos.4.3.1.1 Objectos simplesOs objectos simples, apresentados na figura 4-2, como o nome indica, são os conteúdosunitários e básicos. São a forma mais simples de um recurso educacional e podem ser um texto,uma imagem, um som, uma página web ou, ain<strong>da</strong>, qualquer outro tipo de <strong>da</strong>dos que possa serapresentado através <strong>da</strong> web. Pode existir a junção de objectos simples para a formação de um outroobjecto simples [SCORM CAM 04].Figura 4-2 Exemplos de objectos simplesEstes componentes são descritos nos meta<strong>da</strong>dos (definidos na norma), de forma a permitir aprocura e a localização em repositórios e a possibilitar a reutilização. A associação dos objectossimples aos seus meta<strong>da</strong>dos passa pelo empacotamento de conteúdos (a ser descrito na secção4.3.2 ).4.3.1.2 Conteúdos partilháveisOs conteúdos partilháveis (SCO) (ver exemplo na figura 4-3) são uma colecção de um oumais objectos simples que representam um recurso educacional que pode ser lançado utilizando oRTE para comunicar com o LMS. Os SCOs representam o nível mais baixo de granulari<strong>da</strong>de de umrecurso educacional que é seguido por um LMS usando o RTE. Um SCO pode comunicar com oLMS, mas tal não é possível aos objectos simples (devem-se tornar SCOs para isso possível).Os SCOs devem ser independentes do contexto de ensino para que possam promover areutilização. Outro pormenor para facilitar a reutilização é ca<strong>da</strong> SCO ser pequeno e simples. UmSCO pode ser descrito com meta<strong>da</strong>dos pelas razões já enuncia<strong>da</strong>s para os objectos simplesinVídeo: uma aplicação de vídeo interactivo sobre a Internet 49


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveis(procura, localização e reutilização). A associação de SCOs aos seus meta<strong>da</strong>dos passa igualmentepelo empacotamento de conteúdos.Figura 4-3 Exemplo de um conteúdo partilhável (SCO)Os SCOs devem satisfazer um conjunto de requisitos definidos no RTE, com os seguintesbenefícios:− qualquer LMS que suporte o SCORM RTE pode lançar e seguir SCOs, independentementede quem os gerou;− qualquer LMS que suporte o SCORM RTE pode seguir qualquer SCO e saber quando foiiniciado e terminado;− qualquer LMS que suporte o SCORM RTE pode lançar diferentes SCOs <strong>da</strong> mesma forma.4.3.1.3 Organização de conteúdosA organização de conteúdos é um mapa representativo do uso pretendido dos conteúdosorganizados em uni<strong>da</strong>des estrutura<strong>da</strong>s de instrução (adiante designa<strong>da</strong>s como activi<strong>da</strong>des). Omapa <strong>da</strong> figura 4-4 representa a forma como as activi<strong>da</strong>des (elementos Item) se relacionam entreelas.As activi<strong>da</strong>des podem ser constituí<strong>da</strong>s por outras activi<strong>da</strong>des (sub-activi<strong>da</strong>des), que por suavez podem conter outras activi<strong>da</strong>des, não existindo limite ao número de níveis que podem sercriados. Normalmente existe uma estrutura de ensino comum (por exemplo, curso, capítulo,módulo, etc.), mas tal não é obrigatório e pode ser cria<strong>da</strong> a estrutura que se achar mais adequa<strong>da</strong> aum certo objectivo de aprendizagem.As activi<strong>da</strong>des que não são forma<strong>da</strong>s por outras activi<strong>da</strong>des (designa<strong>da</strong>s activi<strong>da</strong>des folha -leaf – por analogia com uma árvore) terão associado um recurso educacional, objecto simples ouSCO, que será usado para desenvolver a tarefa que estiver defini<strong>da</strong> nessa activi<strong>da</strong>de.A organização de conteúdos e as activi<strong>da</strong>des poderão ter associados meta<strong>da</strong>dos, com os finsjá enunciados. A associação também ocorrerá <strong>da</strong> mesma forma, ou seja, utilizando oempacotamento de conteúdos.A informação de sequência estrutura a relação entre as diferentes activi<strong>da</strong>des, aplicando-sesomente a estas, e faz parte <strong>da</strong> organização de conteúdos. A separação <strong>da</strong> informação de sequênciados recursos educacionais é um aspecto conceptual importante, visto que não limita a reutilizaçãodestes últimos, já que não estão directamente relacionados com um contexto de curso específico.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 50


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveisEste relacionamento apenas acontece via activi<strong>da</strong>des. A reutilização de um recurso educacionaldepende <strong>da</strong> sua independência e uni<strong>da</strong>de.Figura 4-4 Exemplo de organização de conteúdosO objectivo dos meta<strong>da</strong>dos é identificar, categorizar, assim como permitir pesquisas elocalização num ou em vários sistemas para facilitar o uso e a reutilização de conteúdos.A aplicação de meta<strong>da</strong>dos no empacotamento de conteúdos está defini<strong>da</strong> em cinco pontos:− manifesto: neste nível (como é o caso <strong>da</strong> agregação dos conteúdos) os meta<strong>da</strong>dos têm deser concor<strong>da</strong>ntes com as ligações IEEE LTSC LOM, mas não têm mais restrições impostaspelo SCORM;− organização: neste nível os meta<strong>da</strong>dos definem a organização como um todo, que podeser um curso, uma uni<strong>da</strong>de, uma lição ou outra qualquer uni<strong>da</strong>de de instrução;− item: descrevem a hierarquia de activi<strong>da</strong>des de um forma sensível ao contexto;− recurso: descrevem um SCO ou um objecto simples, independente do restante contexto;− ficheiro: descrevem um objecto simples, independente do restante contexto.4.3.2 Empacotamento de conteúdosA especificação empacotamento de conteúdos do IMS foi desenha<strong>da</strong> para fornecer umaforma normaliza<strong>da</strong> de estruturar e trocar conteúdos de ensino entre diferentes sistemas eferramentas. O empacotamento de conteúdos contém dois componentes principais:− um documento XML especial descrevendo to<strong>da</strong> a estrutura do conteúdo e dos recursosassociados ao pacote, que se designa por ficheiro de manifesto (imsmanifest.xml). Éobrigatório este documento estar na raiz do pacote;− os ficheiros físicos que fazem parte do pacote.A figura 4-5 mostra de que forma os componentes estão presentes num pacote de conteúdos.O pacote representa uma uni<strong>da</strong>de de aprendizagem. Esta uni<strong>da</strong>de pode ser parte de uminVídeo: uma aplicação de vídeo interactivo sobre a Internet 51


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveiscurso que tem relevância fora <strong>da</strong> organização de outro curso e pode ser apresenta<strong>da</strong> de formaindependente, como um curso, parte de outro curso ou como sendo uma colecção de cursos.Figura 4-5 Diagrama conceptual do pacote de conteúdosO manifesto é um documento XML que contém um inventário estruturado do conteúdo deum pacote. Ca<strong>da</strong> pacote deverá ter apenas um manifesto principal e este então conter um ou maissub-manifestos. O manifesto principal descreverá sempre o pacote e os sub-manifestos descreverãoos conteúdos dentro do seu âmbito.O Ficheiro de Intercâmbio de Pacote (Package Interchange File - PIF) é a junção de todos oscomponentes num ficheiro comprimido. Irá conter o imsmanifest.xml, todos os ficheiros de controloe os recursos referenciados pelo pacote de conteúdos (apenas os ficheiros locais ao PIF). O usodeste formato é uma recomen<strong>da</strong>ção do SCORM devido à fiabili<strong>da</strong>de na transferência entresistemas via Internet.4.3.3 Componentes de um manifestoO manifesto (apresentado na figura 4-6) contém to<strong>da</strong> a informação necessária para descreveros conteúdos do pacote e é composto por quatro componentes: meta<strong>da</strong>dos, organizações, recursose, caso existam, sub-manifestos.ManifestoMeta<strong>da</strong>dosOrganizaçõesRecursos(sub) Manifesto(s)Figura 4-6 Componentes de um manifesto4.3.3.1 Meta<strong>da</strong>dosOs meta<strong>da</strong>dos são “<strong>da</strong>dos sobre os <strong>da</strong>dos” [SCORM CAM 04] que permitem conhecer uminVídeo: uma aplicação de vídeo interactivo sobre a Internet 52


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveispouco de um determinado conteúdo sem ser necessária a sua visualização. Os meta<strong>da</strong>dos domanifesto descrevem os conteúdos do pacote (por exemplo, a agregação dos conteúdos) como umtodo. Além desta função, estes meta<strong>da</strong>dos, permitem a procura e localização de pacotes. Adescrição mais detalha<strong>da</strong> dos meta<strong>da</strong>dos é feita na secção 4.3.5 .4.3.3.2 OrganizaçõesO componente organizações é usado para descrever as organizações dentro do pacote deconteúdos. Podem existir várias organizações, ca<strong>da</strong> qual descrevendo uma estrutura específicapara os conteúdos, sendo considera<strong>da</strong> uma delas como a estrutura a ser usa<strong>da</strong> por omissão por umLMS (acontece quando não existe informação a indicar que estrutura usar). A única estruturadefini<strong>da</strong> pelo IMS é a estrutura em árvore ou hierárquica, sem representar qualquer tipo específicode organização de ensino (como curso, módulo, lição,...). Essa nomenclatura é <strong>da</strong> responsabili<strong>da</strong>dedos criadores de conteúdos.A organização de conteúdos não deve ser confundi<strong>da</strong> com a organização dos ficheiros emdirectorias nem com a estrutura do manifesto. Também não pode ser entendi<strong>da</strong> como uminventário dos recursos educacionais e <strong>da</strong> sua descrição. O propósito <strong>da</strong> organização de conteúdosé permitir ao criador de conteúdos especificar o(s) modo(s) como esses mesmos conteúdos poderãoser usados. A organização de conteúdos surge como uma hierarquia de activi<strong>da</strong>des, sobre a qualpoderão ser aplica<strong>da</strong>s regras e acções, a serem apresenta<strong>da</strong>s de forma a produzir experiências deensino semelhantes em qualquer ambiente LMS compatível com o SCORM. O LMS poderá mesmocriar a sua própria organização, não utilizando nenhuma cria<strong>da</strong> previamente e presente no pacote.No caso de não existirem regras a organização de conteúdos é apenas um mapa que permitirá aoutilizador navegar à sua vontade pelos conteúdos nos quais tiver interesse.A organização de conteúdos inclui um conjunto de componentes, ca<strong>da</strong> qual definindodiferentes aspectos <strong>da</strong> estrutura dos conteúdos:− hierarquia de conteúdos: é uma representação em forma de árvore que cria umaorganização lógica para os recursos educacionais ou activi<strong>da</strong>des que utilizem essesrecursos (um exemplo na figura 4-7). Dependendo <strong>da</strong> estrutura opta<strong>da</strong>, a hierarquiacria<strong>da</strong> pode representar conceitos como cursos, capítulos, tópicos, ou outros semelhantes,para apresentação ao aluno. O IMS define um conjunto de termos (apresentados eminglês, visto reflectirem a nomenclatura que é usa<strong>da</strong> no manifesto) usados pararepresentar a hierarquia de conteúdos. O termo organization é o elemento raiz, do qualsurgem os itens que têm associados outros items ou resources. Os resources podem ser dedois tipos: objectos simples ou SCOs.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 53


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveisFigura 4-7 Terminologia para a hierarquia de conteúdos− meta<strong>da</strong>dos: os meta<strong>da</strong>dos <strong>da</strong> organização de conteúdos são opcionais, descrevem umaactivi<strong>da</strong>de e designam-se por meta<strong>da</strong>dos específicos do contexto. Este tipo de meta<strong>da</strong>dospode ser usado para descrever, por exemplo, as competência necessárias ou os objectivosa atingir com um recurso educacional usado numa organização de conteúdos particular.− sequência, sequência a<strong>da</strong>ptativa e navegação: indicações adicionais que podem serinseri<strong>da</strong>s na organização de conteúdos, se o seu autor quiser controlar a navegação dosalunos para obter um certo objectivo educativo. A indefinição de sequência e/ounavegação <strong>da</strong>rá ao aluno a possibili<strong>da</strong>de de escolher a apresentação dos recursos queentender, na sequência que mais lhe interessar. A experiência de ensino ain<strong>da</strong> poderá sera<strong>da</strong>ptativa, com base no estado actual <strong>da</strong> apresentação dos conteúdos, em processamentomais complexo baseado no perfil do aluno ou ain<strong>da</strong> no resultado de testes. As regras ainserir são associa<strong>da</strong>s a elementos <strong>da</strong> árvore <strong>da</strong> organização de conteúdos, ca<strong>da</strong> umrepresentando uma activi<strong>da</strong>de. A aplicação de regras, tipicamente, resulta em lançar um<strong>da</strong>do conteúdo ou levar a uma escolha condiciona<strong>da</strong> do aluno.A organização de conteúdos representa uma varie<strong>da</strong>de alarga<strong>da</strong> de visões para os conteúdosde um pacote, desde pequenas uni<strong>da</strong>des de ensino até conteúdos interactivos complexosmonitorizados por LMSs.4.3.3.3 RecursosO componente recursos de um manifesto (figura 4-8) descreve e inventaria os ficheirospresentes no pacote ao qual o manifesto pertence. Pode, também, apontar para recursos remotos,externos ao pacote. Os ficheiros poderão ser de qualquer tipo: texto, vídeo, áudio, ou qualquer<strong>da</strong>do digital. Esta componente admite a formação de grupos conceptuais e a definição de relaçõesentre diversos objectos. Um recurso é constituído por objectos simples, mas se o recurso pretendecomunicar com um LMS então esses objectos simples terão de constituir um SCO.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 54


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveisFigura 4-8 Recursos de um manifesto4.3.3.4 FicheirosO componente ficheiros refere-se aos documentos digitais referenciados no componenterecursos. Os ficheiros podem ser ficheiros locais, contidos no pacote de conteúdos, ou podem serficheiros externos referenciados pelo seu URI .4.3.4 Perfis de pacotes de conteúdosOs perfis de pacotes de conteúdos do SCORM descrevem a forma como o empacotamento deconteúdos do IMS (base dos pacotes de conteúdos) é aplicado no contexto geral do SCORM. OSCORM impõe ain<strong>da</strong> um conjunto de requisitos para assegurar a introdução de informaçãosuficiente nos pacotes de forma a garantir interoperabili<strong>da</strong>de, importação e exportação de pacotes,entre sistemas utilizadores <strong>da</strong> norma SCORM.Licao_01/imagem_01.xmlLicao_01/topico_01.xml(“sco”)Meta<strong>da</strong>dos SCOMeta<strong>da</strong>dosObjecto SimplesFigura 4-9 Exemplo de um SCO representado como um elemento Existem, actualmente, dois perfis definidos para descrever o empacotamento doscomponentes do modelo de agregação de conteúdos:− pacote de recursos: este perfil define um mecanismo de empacotamento de objectosinVídeo: uma aplicação de vídeo interactivo sobre a Internet 55


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveissimples e de SCOs (independente do número de ficheiros), sem ser necessário conterqualquer tipo de organização, contexto de ensino ou estrutura curricular. Visa,principalmente, o movimento de recursos entre sistemas. Os ficheiros estarão fisicamenteno pacote ou não, dependendo se a referência é interna ou externa. O perfil pacote derecursos não permite que um LMS apresente estes recursos directamente a um utilizador.A figura 4-9 é um exemplo de um manifesto segundo este perfil, onde está definido umrecurso do tipo SCO e onde são apresentados exemplos de meta<strong>da</strong>dos desse SCO, comotambém de um dos objectos simples que o constitui.− pacote de agregação de conteúdos: este perfil deve ser usado quando se pretende agregarconteúdos e as suas possíveis estruturas, ou seja, constituir cursos, módulos, lições, etc.Desta forma um LMS entende como pode processar os conteúdos e apresentá-los a umaluno. A figura 4-10 é um manifesto, extensão do apresentado na figura 4-9, que respeita operfil pacote de agregação de conteúdos e apresenta o detalhe de uma estrutura possívelpara os conteúdos declarado na sua secção .Organizaçãode ConteúdosIntrodução ao SCORM


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveis4.3.5 Meta<strong>da</strong>dosO propósito dos meta<strong>da</strong>dos é fornecer uma nomenclatura comum de descrição dos recursoseducacionais para facilitar a pesquisa e descoberta em diversos sistemas e a consequentereutilização. Os meta<strong>da</strong>dos podem existir em catálogos ou junto dos recursos que descrevem. Umaoutra utilização possível para os meta<strong>da</strong>dos é apoiar a decisão sobre qual o próximo recurso a serapresentado num ambiente de execução.O SCORM recomen<strong>da</strong> a norma IEEE Learning Object Meta<strong>da</strong>ta (LOM) para descrição dosrecursos. Esta norma contém aproxima<strong>da</strong>mente sessenta e quatro elementos e distingue oselementos obrigatórios dos opcionais. Podem ser usados outros esquemas de meta<strong>da</strong>dos, mas essaescolha pode não garantir o seu reconhecimento por sistemas diferentes.O modelo de informação do LOM está dividido em nove categorias, apresenta<strong>da</strong>s desegui<strong>da</strong>:− Geral (General): usa<strong>da</strong> para descrever informação geral sobre o componente como umtodo. Exemplo de elementos: , e ;− Ciclo de Vi<strong>da</strong> (Life Cycle): usa<strong>da</strong> para descrever o histórico e o estado actual docomponente e dos envolvidos nas alterações que foram ocorrendo. Exemplos deelementos: , e ;− Meta-meta<strong>da</strong>dos (Meta-meta<strong>da</strong>ta): usa<strong>da</strong> para descrever os meta<strong>da</strong>dos criados, ou seja,são meta<strong>da</strong>dos sobre os próprios meta<strong>da</strong>dos. São uma fonte de nova informação relevanteque os restantes elementos dos meta<strong>da</strong>dos não descrevem. Exemplos de elementos: e ;− Técnica (Technical): usa<strong>da</strong> para descrever os requisitos e características técnicas docomponente. Exemplos de elementos: , e;− Educacional (Educational): usa<strong>da</strong> para descrever as características educacionais epe<strong>da</strong>gógicas do componente. Exemplo de elementos: ,, e ;− Direitos (Rights): usa<strong>da</strong> para descrever direitos de proprie<strong>da</strong>de intelectual e condições deutilização do componente. Exemplo de elementos: , e;− Relação (Relation): usa<strong>da</strong> para descrever a relação entre o componente sobre o qual versaa descrição e outros componentes. Exemplo de elementos: e ;− Anotação (Annotation): usa<strong>da</strong> para deixar comentários sobre o uso educacional docomponente, e informação sobre quem e quando o comentou. Exemplos de elementos: e ;− Classificação (Classification): usa<strong>da</strong> para descrever o sistema de classificação onde seráenquadrado o componente. Exemplos de elementos: e .inVídeo: uma aplicação de vídeo interactivo sobre a Internet 57


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveisOs perfis de aplicação dos meta<strong>da</strong>dos em SCORM definem a integração do IEEE LOM noambiente SCORM. Os perfis de aplicação definem os elementos obrigatórios e opcionais para ca<strong>da</strong>componente quando os meta<strong>da</strong>dos são aplicados.A norma ain<strong>da</strong> define, para os meta<strong>da</strong>dos, as formas de vali<strong>da</strong>ção dos esquemas para omodelo de <strong>da</strong>dos do LOM e as capaci<strong>da</strong>des de extensão.4.4 Sequência e navegaçãoA sequência e a navegação descrevem como os conteúdos compatíveis com a norma SCORMpodem ser apresentados ao aluno, mediante a implementação de regras de sequência e definiçõesde navegação. A apresentação pode ocorrer através de eventos de navegação iniciados peloutilizador ou pelo sistema. A ramificação e o fluxo do conteúdo podem ser descritos por umconjunto de activi<strong>da</strong>des.No âmbito <strong>da</strong> norma SCORM, este tópico tem um livro próprio (Sequencing and Navigation),que cobre as obrigações que um LMS tem para apresentar conteúdos (SCOs ou objectos simples) epermitir pedidos de navegações sobre os SCOs.A apresentação deste tema contempla duas secções: sequência e navegação. Os tópicos queserão, de uma forma resumi<strong>da</strong>, apresentados são os seguintes:− conceitos e terminologia <strong>da</strong> sequência;− modelo de definição <strong>da</strong> sequência;− modelo do comportamento <strong>da</strong> sequência;− controlo e requisitos <strong>da</strong> navegação;− modelo de <strong>da</strong>dos <strong>da</strong> navegação.4.4.1 SequênciaA sequência e navegação do SCORM (SN) são, em parte, basea<strong>da</strong>s na especificaçãoSequência Simples do IMS (IMS SS), que define uma forma de representar comportamentospretendidos de um determinado conteúdo, de tal maneira que em diferentes LMSs a experiênciade aprendizagem seja semelhante e consistente com a defini<strong>da</strong> pelo autor. O IMS SS não abor<strong>da</strong>alguns tópicos relacionados com a sequência como: princípios de inteligência artificial,agen<strong>da</strong>mento, <strong>da</strong>dos de sistemas externos fechados e serviços, ensino parametrizado ousincronização entre activi<strong>da</strong>de de ensino paralelas. Também reconhece apenas a existência doaluno e não define qualquer tipo de relação com outros intervenientes (como alunos, instrutores oumentores).Os próximos parágrafos descrevem alguns dos conceitos associados à sequência, como:árvore de activi<strong>da</strong>des, clusters, sub-manifestos, activi<strong>da</strong>des de ensino, tentativa, sessão desequência, monitorização do estado <strong>da</strong>s activi<strong>da</strong>des e objectivos de ensino.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 58


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveis4.4.1.1 Árvore de activi<strong>da</strong>desA SN descreve a ramificação e o fluxo de activi<strong>da</strong>des de ensino em termo de árvore deactivi<strong>da</strong>des, basea<strong>da</strong> nos resultados <strong>da</strong>s interacções do aluno com os conteúdos apresentados ecom a estratégia de sequência cria<strong>da</strong>.Figura 4-11 Exemplo de uma árvore de activi<strong>da</strong>desEsta árvore permite descrever requisitos de informação e processamento de uma formaindependente <strong>da</strong> implementação. A figura 4-11 apresenta um exemplo de uma árvore deactivi<strong>da</strong>des.Os diferentes sistemas que implementem a sequência deverão ter uma forma própria deimplementar esta estrutura ou como uma árvore ou de uma outra maneira.4.4.1.2 ClustersO CAM define uma estrutura hierárquica de conteúdos de ensino. Esta organização deconteúdos é representa<strong>da</strong> no pacote de conteúdos dentro de um único elemento .Ca<strong>da</strong> item definido representa uma uni<strong>da</strong>de relevante de aprendizagem. Esta forma deorganização permite que a conversão para uma árvore de activi<strong>da</strong>des seja simples. A organizaçãode conteúdos tem no elemento a sua raiz e nos seus itens as diversas activi<strong>da</strong>des deensino.Figura 4-12 Exemplo de clusterA árvore de activi<strong>da</strong>des tem ain<strong>da</strong> uma forma especializa<strong>da</strong> de se organizar. Em ca<strong>da</strong>activi<strong>da</strong>de de ensino que tenha sub-activi<strong>da</strong>des, constitui-se um grupo de activi<strong>da</strong>des designadocluster. Um cluster é formado por uma activi<strong>da</strong>de “pai” e todos os seus “filhos”, que podem serinVídeo: uma aplicação de vídeo interactivo sobre a Internet 59


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveis“pais” noutros clusters ou activi<strong>da</strong>des folha (associa<strong>da</strong>s aos recursos, SCOs e objectos simples). Osdescendentes dos “filhos” de um cluster já não fazem parte desse cluster.A figura 4-12 apresenta cinco clusters, estando ca<strong>da</strong> um definido por um quadrado de cantosredondo com linhas traceja<strong>da</strong>s.O cluster superior, Curso, contém quatro activi<strong>da</strong>des, o Curso e os seus três módulos, que sãoactivi<strong>da</strong>des “pai” dos clusters B, C e D. Ca<strong>da</strong> módulo forma com as suas lições um novo cluster (B,C e D). To<strong>da</strong>s as lições são activi<strong>da</strong>des folha, logo já não podem constituir clusters, excepto a “Lição2” do “Módulo 3” que surge como o cluster E, tendo como “pai” a “Lição 2” e “filhos” os doiscapítulos.O cluster é considerado a uni<strong>da</strong>de básica <strong>da</strong> árvore de activi<strong>da</strong>des e muitos elementos domodelo de definição <strong>da</strong> sequência (como modos de controlo <strong>da</strong> sequência, controlo de escolhacondiciona<strong>da</strong>, entre outros) aplicam-se especificamente a estes agrupamentos. A estratégia desequência do cluster estará presente na activi<strong>da</strong>de “pai”.4.4.1.3 Sub-manifestosO uso de sub-manifestos num pacote de conteúdos aparece associado aos elementos .Os sub-manifestos terão as suas estruturas, que serão integra<strong>da</strong>s na árvore forma<strong>da</strong> a partir dositems associados. A figura 4-13 mostra a conversão de uma organização com sub-manifestos numaárvore de activi<strong>da</strong>des.Figura 4-13 Conversão de um manifesto com sub-manifestos em árvore de activi<strong>da</strong>desUma árvore de activi<strong>da</strong>des pode ser construí<strong>da</strong> a partir <strong>da</strong> organização de conteúdospresente no pacote de conteúdos, mas o SCORM não impõe o momento <strong>da</strong> conversão pelo LMS,inVídeo: uma aplicação de vídeo interactivo sobre a Internet 60


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveisnem a sua representação interna.4.4.1.4 Activi<strong>da</strong>de de ensinoUma activi<strong>da</strong>de de ensino pode ser descrita como uma uni<strong>da</strong>de de instrução coerente. É,conceptualmente, algo que faz o aluno progredir e pode ser constituí<strong>da</strong> por um recurso de ensinoou por várias sub-activi<strong>da</strong>des. O conceito activi<strong>da</strong>de de ensino será referido adiante comoactivi<strong>da</strong>de (este termo já foi usado na secção 4.3.1 para referir “uni<strong>da</strong>des estrutura<strong>da</strong>s deinstrução” que tem o mesmo significado de activi<strong>da</strong>de de ensino). A figura 4-14 apresenta umaactivi<strong>da</strong>de designa<strong>da</strong> “Obter Lição”. É composta por três sub-activi<strong>da</strong>des: “Pré-Teste”, “VisualizarConteúdo” e “Teste Final”.Figura 4-14 Exemplo de uma activi<strong>da</strong>de de ensinoAs sub-activi<strong>da</strong>des apresenta<strong>da</strong>s podem ser forma<strong>da</strong>s por um conjunto de activi<strong>da</strong>des eassim sucessivamente, sem limite <strong>da</strong> norma, mas de razoabili<strong>da</strong>de relativa ao conteúdo. Osconteúdos que serão visualizados aparecem associados a activi<strong>da</strong>des folha. As activi<strong>da</strong>des têm asseguintes características:− têm um início e um fim;− têm condições de conclusão e domínio bem defini<strong>da</strong>s;− podem ser constituí<strong>da</strong>s por sub-activi<strong>da</strong>des sem limite;− ocorrem no contexto <strong>da</strong> activi<strong>da</strong>de “pai”, caso exista.4.4.1.5 TentativaO conceito tentativa é definido como o esforço para completar uma activi<strong>da</strong>de e durante esseesforço podem ou não ser atingidos os objectivos de ensino. As tentativas num <strong>da</strong>do instanteacontecem somente numa activi<strong>da</strong>de folha e ocorrem sempre no contexto <strong>da</strong> sua activi<strong>da</strong>de “pai”,que está com o seu estado “em progresso”. Deduz-se que os recursos associados à activi<strong>da</strong>de folhaforam lançados. No caso em que não seja possível iniciar e terminar uma tentativa, o aluno podesempre suspender a apresentação e retomar mais tarde, sendo considera<strong>da</strong> a mesma tentativa. Ainformação variável do progresso do aluno na activi<strong>da</strong>de é actualiza<strong>da</strong> em ca<strong>da</strong> tentativa,alterando o seu estado para essa activi<strong>da</strong>de. Esta alteração deve afectar a activi<strong>da</strong>de “pai”, acçãodesigna<strong>da</strong> por Rollup.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 61


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveis4.4.1.6 Sessão de sequênciaUma sessão de sequência é o tempo desde o início <strong>da</strong> tentativa, na activi<strong>da</strong>de raiz de umaárvore de activi<strong>da</strong>des, até ao seu final. O início, suspensão, retoma e final <strong>da</strong> sessão são <strong>da</strong>responsabili<strong>da</strong>de do LMS. Neste ponto o SCORM apenas define os pedidos possíveis que iniciamuma sessão de sequência.4.4.1.7 Monitorização do estado <strong>da</strong> activi<strong>da</strong>deO utilizador, ao efectuar uma tentativa de uma activi<strong>da</strong>de, deverá ter <strong>da</strong>dos demonitorização associados. É nestes valores que o comportamento de sequência se baseia paracontrolo <strong>da</strong> sequência a apresentar.A sequência diferencia os conteúdos em comunicativos ou não-comunicativos para ca<strong>da</strong>activi<strong>da</strong>de. No primeiro caso existe uma comunicação entre as interacções do utilizador e oambiente de execução (descrito <strong>da</strong> secção 4.5 ), enquanto num conteúdo não-comunicativo não autiliza.A tentativa sobre uma activi<strong>da</strong>de pode ser suspensa e retoma<strong>da</strong> mais tarde, não contandocomo uma nova tentativa. Não existem impedimentos ao número de activi<strong>da</strong>des suspensas parapoder aceder a uma <strong>da</strong><strong>da</strong> activi<strong>da</strong>de.A persistência dos <strong>da</strong>dos de monitorização é dependente do LMS. O SCORM e o IMS SS nãodefinem nenhuma forma de existir ligação dos <strong>da</strong>dos entre diferentes sessões de sequência.4.4.1.8 Objectivos de ensinoOs objectivos de ensino estão separados <strong>da</strong>s activi<strong>da</strong>des de ensino. O SCORM não impõerestrições sobre a forma como os objectivos estão associados com as activi<strong>da</strong>des, nem define comoos conteúdos utilizam esses mesmos objectivos. Numa perspectiva de monitorização, é mantidoum conjunto de informações de estado para ca<strong>da</strong> objectivo associado a uma activi<strong>da</strong>de.Uma activi<strong>da</strong>de pode ter mais de um objectivo associado. Por omissão, o estado do objectivode uma activi<strong>da</strong>de é mantido local a essa activi<strong>da</strong>de. A partilha <strong>da</strong> informação do estado doobjectivo entre diferentes activi<strong>da</strong>des é obti<strong>da</strong> via objectivos globais partilhados. Os objectivosglobais podem ser partilhados dentro de uma mesma árvore de activi<strong>da</strong>des ou entre várias árvoresde activi<strong>da</strong>des presentes num LMS.A referência a objectivos globais partilhados por parte de uma activi<strong>da</strong>de tem duasrestrições:− um objectivo local apenas pode obter o <strong>da</strong>do de estado de um e apenas um objectivoglobal partilhado;− num conjunto de objectivos locais de uma activi<strong>da</strong>de, apenas um pode alterar o <strong>da</strong>do deestado de um objectivo global partilhado.A sequência ain<strong>da</strong> contempla mais algumas secções importantes, mais vocaciona<strong>da</strong>s para aimplementação e não para os conceitos gerais. Serão apresentados de segui<strong>da</strong> dois tópicosimportantes de forma muito resumi<strong>da</strong>:inVídeo: uma aplicação de vídeo interactivo sobre a Internet 62


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveis− modelo de definição <strong>da</strong> sequência: define um conjunto de elementos usados paradescrever diferentes comportamentos de sequência. Baseado na norma IMS SS do IEEE, éestendido por elementos novos definidos de forma a cobrir requisitos de comportamentoe de restrição não contemplados por essa norma;− comportamentos de sequência: define os comportamentos associados ao processo desequência. Este processo utiliza informação de três modelos definidos: monitorização,estado de activi<strong>da</strong>de e definição <strong>da</strong> sequência (modelo de definição <strong>da</strong> sequência).4.4.2 NavegaçãoO tópico <strong>da</strong> navegação relaciona-se com os eventos de navegação iniciados pelo sistema e/oupelo aluno. Este tópico abor<strong>da</strong> o conjunto e a forma dos eventos serem desencadeados eprocessados, procurando a próxima activi<strong>da</strong>de de ensino a ser entregue. É um processo decooperação entre o aluno e o LMS, que gere pedidos de navegação de forma a providenciar umaexperiência de ensino.A navegação pressupõe a existência de dispositivos de interface com o utilizador, fornecidospelo LMS ou embebidos nos conteúdos, para desencadear os eventos de navegação. O livro doSCORM que contém as especificações de navegação descreve um modelo de execução que os SCOspodem usar para indicar pedidos de navegação ao LMS. Estes pedidos correspondem aomovimento pela árvore de activi<strong>da</strong>des.A tabela 4-1 apresenta o conjunto de eventos de navegação e define como são mapeados parapedidos de navegação. Existe ain<strong>da</strong> uma terceira coluna que indica quais os intervenientes quepodem desencadear os eventos.Tabela 4-1 Eventos de navegação e sua descriçãoEvento deNavegaçãoStartResume allContinuePreviousChooseAbandonAbandon AllDescrição do ComportamentoEste evento indica a pretensão de identificar a primeira activi<strong>da</strong>de ou a activi<strong>da</strong>deinicial disponível na árvore de activi<strong>da</strong>de. É, tipicamente, gerado de forma automáticapelo LMS quando o aluno começa uma nova tentativa na activi<strong>da</strong>de raiz.Este evento indica a pretensão em retomar uma tentativa previamente suspendi<strong>da</strong> naactivi<strong>da</strong>de raiz.Este evento indica a pretensão de identificar a “próxima” activi<strong>da</strong>de de ensino lógicadisponível na árvore de activi<strong>da</strong>des.Este evento indica a pretensão de identificar a activi<strong>da</strong>de de ensino lógica “anterior”disponível na árvore de activi<strong>da</strong>des.Este evento indica a pretensão de “saltar” directamente para uma activi<strong>da</strong>de de ensinoespecífica <strong>da</strong> árvore de activi<strong>da</strong>des.Este evento indica a pretensão de terminar, prematura ou anormalmente, a actualtentativa sobre o conteúdo corrente, sem intenção de recomeçar posteriormente.Este evento indica a pretensão de terminar, prematura ou anormalmente, a actualtentativa sobre a activi<strong>da</strong>de raiz, sem intenção de recomeçar posteriormente.Fonte dePedidoApenas LMSApenas LMSLMS e SCOLMS e SCOLMS e SCOLMS e SCOLMS e SCOinVídeo: uma aplicação de vídeo interactivo sobre a Internet 63


Evento deNavegaçãoMeta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveisDescrição do ComportamentoFonte dePedidoSuspend All Este evento indica a pretensão de suspender a tentativa actual sobre a activi<strong>da</strong>de raiz. Apenas LMSUnqualifiedExitExit AllEste evento indica que o término <strong>da</strong> tentativa actual sobre a activi<strong>da</strong>de de ensinocorrente foi normal, e que esse término não foi desencadeado por nenhum evento denavegação, como Continue, Previous, ou Choose.Este evento indica que o término <strong>da</strong> tentativa actual sobre a activi<strong>da</strong>de de ensinocorrente foi normal.LMS e SCOLMS e SCOA norma, intencionalmente, não impõe qualquer requisito: no tipo ou no estilo de interfacecom o utilizador durante a execução, nos dispositivos que possibilitam a navegação e nosmecanismos para capturar as interacções entre o utilizador e os LMS.O modelo de navegação apenas se aplica à navegação entre activi<strong>da</strong>des de ensino. A norma,neste momento, não possibilita a definição de sequência e navegação dentro de um SCO (o quenão impede a existência de mecanismos internos ao SCO que possibilitem alguma navegação intra-SCO, como por exemplo um SCO com várias páginas).4.5 Ambiente de execuçãoO livro ambiente de execução (RTE) do SCORM define os requisitos para o lançamento dosconteúdos, o estabelecimento <strong>da</strong> comunicação entre os LMSs e os SCOs, e a monitorização e agestão <strong>da</strong> informação que possa ser troca<strong>da</strong> entre os SCOs e os LMSs [SCORM RT 04]. Descrevetambém um mecanismo comum de lançamento de conteúdos, de comunicação entre os objectos eos LMSs, e um modelo de <strong>da</strong>dos comum para monitorizar as experiências de ensino dos alunoscom os objectos.Figura 4-15 Ambiente de execução conceptual do SCORMinVídeo: uma aplicação de vídeo interactivo sobre a Internet 64


Meta<strong>da</strong>dos – Modelo de referência de conteúdos reutilizáveisOs objectivos de reutilização e interoperabili<strong>da</strong>de de conteúdos que norteiam o SCORM sãoconseguidos com a definição de uma forma comum de lançar e gerir conteúdos, com ummecanismo comum de comunicação entre os conteúdos e os LMSs e com uma linguagempredefini<strong>da</strong> como base dessa comunicação. A figura 4-15 mostra os três aspectos principais doRTE: lançamento, interface de programação de aplicações (API) e modelo de <strong>da</strong>dos.O processo de lançamento define uma forma comum para os LMSs iniciarem conteúdosbaseados na Internet, ou seja, define procedimentos e responsabili<strong>da</strong>des para o estabelecimento decomunicações entre o conteúdo lançado e o LMS. O mecanismo de comunicações é normalizadoatravés de um API comum.O API é o mecanismo de comunicação que informa o LMS do estado <strong>da</strong> comunicação entre oLMS e o conteúdo (por exemplo: inicia<strong>da</strong>, termina<strong>da</strong> ou em condição de erro), e é usa<strong>da</strong> paraleitura e guar<strong>da</strong> de <strong>da</strong>dos (por exemplo: resultados, limites de tempo, etc.) entre o LMS e o SCO.O modelo de <strong>da</strong>dos é constituído pelos elementos normalizados, usados para definir ainformação a monitorizar por um SCO, como por exemplo o estado actual ou o resultado de umteste. Os elementos definidos são conhecidos pelo SCO e pelo LMS.4.6 ConclusãoA criação exponencial de informação se não for acompanha<strong>da</strong> com a criação de normas paraa descrição e a identificação causará, eventualmente, longos períodos de pesquisa para algunstemas ou a impossibili<strong>da</strong>de de encontrar os <strong>da</strong>dos pretendidos. O uso de meta<strong>da</strong>dos é, portanto,essencial para permitir a automatização <strong>da</strong> identificação dos recursos existentes actualmente naweb.O SCORM define os meta<strong>da</strong>dos para um tipo específico de <strong>da</strong>dos: <strong>da</strong>dos educativos. Adefinição passa pela descrição dos conteúdos educativos e pela sua organização. A descrição faráto<strong>da</strong> a caracterização <strong>da</strong> informação como autor, <strong>da</strong>ta, estado, entre muitas outras. A organizaçãodefine a forma dos <strong>da</strong>dos se estruturarem e constituírem uni<strong>da</strong>des educacionais. Estes meta<strong>da</strong>dosirão facilitar a pesquisa, identificação e reutilização dos conteúdos em diferentes sistemas.Além <strong>da</strong> definição dos meta<strong>da</strong>dos o SCORM ain<strong>da</strong> define uma plataforma de execução paraa comunicação entre os conteúdos e os sistemas de gestão de informação.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 65


5. Especificação do sistema inVídeoO presente capítulo contém todos os aspectos <strong>da</strong> especificaçãodo sistema inVídeo, desde a ideia inicial até à sua arquitecturaconceptual.A primeira secção introduz as necessi<strong>da</strong>des que existiam noCentro Hospitalar do Funchal e que justificaram este sistema.Segue-se a apresentação do método de desenvolvimento usadopara a especificação do sistema, o WISDOM.De segui<strong>da</strong> inicia-se a especificação com a descrição dosrequisitos encontrados para o sistema e a apresentação de diversosdiagramas e modelos, nomea<strong>da</strong>mente, casos de utilização,diagramas de activi<strong>da</strong>des, modelo de análise, arquitecturaconceptual, diagrama de classes e modelo de apresentação. Porúltimo é apresentado o refinamento de alguns espaços deinteracção.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 66


Especificação do sistema inVídeo5.1 IntroduçãoO sistema especificado neste capítulo surgiu <strong>da</strong>s necessi<strong>da</strong>des de formação existentes numainstituição hospitalar, o Centro Hospitalar do Funchal, mais especificamente dos deveres doNúcleo de Apoio aos Centros de Responsabili<strong>da</strong>de. Estes constituem um nível intermédio degestão na área <strong>da</strong> saúde, baseados no processo assistencial, agrupando serviços e/ou uni<strong>da</strong>desfuncionais, segundo critérios de homogenei<strong>da</strong>de, afini<strong>da</strong>de e complementari<strong>da</strong>de. Têm comoobjectivos melhorar o acesso e a quali<strong>da</strong>de de atendimento e dos cui<strong>da</strong>dos prestados, comoresultado de um melhor desempenho dos profissionais e de uma maior eficiência na utilização dosrecursos humanos e materiais.Foi no âmbito deste último objectivo que surgiu o enquadramento para o sistema inVídeo.Uma <strong>da</strong>s formas de proporcionar o incremento <strong>da</strong>s competências dos colaboradores passa por umsistema de ensino/formação à distância, onde o vídeo surge como meio educacional privilegiado.Foi baseado neste princípio que surgiu a designação do sistema.O sistema desenvolvido, como conceito geral, visa proporcionar formação à distância,utilizando preferencialmente o vídeo e deve ter uma estrutura educacional simples basea<strong>da</strong> emcursos, que por sua vez são organizados em módulos e sessões. As sessões podem ser <strong>da</strong>sseguintes categorias: lição, treino e avaliação.5.2 O método WISDOMO sistema inVídeo será desenvolvido e mantido, previsivelmente, por uma pessoa ou por umgrupo pequeno de pessoas, e para estas era necessário um método que garantisse que o trabalhodesenvolvido estivesse assente num processo e num conjunto de modelos bem definidos, paraobter um produto final de quali<strong>da</strong>de, e cujo tempo de desenvolvimento não fosse muitopenalizado por especificações exigentes e demora<strong>da</strong>s. Sendo o grupo de trabalho pequeno, ométodo a usar deverá ser adequado às exigências do projecto, mas mantendo uma leveza quepermita um desenvolvimento rápido. O método de apoio escolhido para o desenvolvimento dosistema inVídeo foi o Whitewater Interactive System Development with Object Models (WISDOM). OWISDOM foi desenvolvido com o objectivo de minorar os principais problemas e dificul<strong>da</strong>des <strong>da</strong>spequenas empresas de desenvolvimento de software. Estes factores negativos são: odesenvolvimento caótico; o uso de processos proprietários, normalmente pouco maduros; e umapostura muito vinca<strong>da</strong> em rapi<strong>da</strong>mente apresentar resultados <strong>da</strong> fase de implementação,minorando as fases de análise e desenvolvimento <strong>da</strong> arquitectura. O WISDOM apresenta ummétodo a ser usado por pequenas equipas de desenvolvimento que projectam, criam e mantêmsistemas interactivos, e procuram manter um grau elevado de quali<strong>da</strong>de [Nunes 01a]. Além <strong>da</strong>possível adequação do WISDOM a este projecto, também existe a vantagem de termos próximo oautor do método, que se disponibilizou para apoiar a especificação. O Processo UnificadoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 67


Especificação do sistema inVídeo[Jacobson 99] ain<strong>da</strong> foi ponderado devido à sua grande utilização e adequação em muitosambientes, mas por falta de experiência nossa e de ferramentas licencia<strong>da</strong>s que o suportassem estemétodo não foi usado.O WISDOM é constituído pelos seguintes componentes:− processo: é baseado num modelo centrado nos utilizadores e que caracteriza-se por serbaseado num modelo de protótipos evolutivos (figura 5-1). O desenvolvimento estáa<strong>da</strong>ptado especificamente para equipas pequenas e para ambientes onde se podem tiraras seguintes vantagens: boa comunicação interna inclusivamente com parceiros externos;flexibili<strong>da</strong>de e capaci<strong>da</strong>de de iniciativa não condiciona<strong>da</strong> de forma rígi<strong>da</strong> por processosadministrativos; facili<strong>da</strong>de na gestão de projectos e equipas; e capaci<strong>da</strong>de de respostarápi<strong>da</strong> por parte <strong>da</strong>s equipas de desenvolvimento e <strong>da</strong>s equipas de gestão a novascondições e/ou circunstâncias imprevistas;Figura 5-1 Processo WISDOM [Nunes 01b]− arquitectura: é um conjunto de modelos UML (Unified Modeling Language) (figura 5-2) quesuportam as diferentes fases de desenvolvimento envolvi<strong>da</strong>s no processo WISDOM e sãousados para a criação de sistemas interactivos em geral;Figura 5-2 Organização dos modelos do WISDOM [Nunes 01b]inVídeo: uma aplicação de vídeo interactivo sobre a Internet 68


Especificação do sistema inVídeo− notação: é um conjunto de notações basea<strong>da</strong>s num subconjunto do UML acrescido deextensões especificamente a<strong>da</strong>pta<strong>da</strong>s para o desenvolvimento de sistemas interactivos.FronteiraControloEnti<strong>da</strong>deTarefaEspaço deInteracçãoFigura 5-3 Extensões WISDOM para o modelo de interacção5.3 DescriçãoA introdução deste capítulo referenciou alguns <strong>da</strong>dos gerais sobre o sistema. Os parágrafosseguintes desta secção apresentam informação mais detalha<strong>da</strong> sobre quais as funcionali<strong>da</strong>des aespecificar.O sistema inVídeo tem como propósito principal transmitir vídeos formativos, sincronizadoscom apresentações (que podem conter textos, imagens e/ou animações) sobre a Internet. Aestrutura <strong>da</strong> aplicação deverá ser basea<strong>da</strong> em cursos, que serão constituídos por módulos e estesúltimos por sessões. A ca<strong>da</strong> elemento referido na frase anterior deverá estar associa<strong>da</strong> algumainformação, como: designação, descrição, objectivos, área, ou outra que se considere relevante.As sessões, que é onde se concretizam os objectivos <strong>da</strong> aplicação, além <strong>da</strong> informação járeferi<strong>da</strong>, serão de um dos seguintes tipos:− lição: sessão constituí<strong>da</strong> basicamente por um vídeo em paralelo com uma apresentação,onde será possível interagir no decorrer <strong>da</strong> visualização usando comandos tipo leitor devídeo doméstico. Outros elementos que poderão estar presentes são: o texto, sob a formade legen<strong>da</strong>s e de notas (públicas e priva<strong>da</strong>s), e o(s) documento(s) de apoio à lição;− treino: sessão onde serão executados treinos sobre diversos conteúdos. Os treinos poderãoser desde simples questionários até simulações interactivas complexas;− avaliação: sessão onde será feita a avaliação de conhecimentos sobre um <strong>da</strong>do conteúdo.A avaliação poderá ser feita através de questões fecha<strong>da</strong>s de resposta múltipla, cota<strong>da</strong>sautomaticamente, e de questões abertas a serem cota<strong>da</strong>s por intervenção dos docentes.Até ao momento, a explicação permitiu deduzir a existência de dois tipos de utilizadores: oaluno, que irá assistir aos cursos, e o docente, que os criará. Deverá ain<strong>da</strong> existir um terceiro tipo, oadministrador. Ao aluno caberá a visualização e participação nos cursos, ao docente aresponsabili<strong>da</strong>de de criar e manter os cursos e ao administrador a gestão <strong>da</strong>s inscrições nos cursose a criação e edição dos <strong>da</strong>dos dos utilizadores.A visualização dos cursos por parte dos alunos envolve a escolha <strong>da</strong>s diversas sessões que oconstituem e a realização <strong>da</strong>s tarefas que estejam defini<strong>da</strong>s. Na lição, o aluno apenas assiste àapresentação dos conteúdos, tendo a possibili<strong>da</strong>de de alguma interacção, mas no treino e naavaliação terá questões e tarefas com cotações associa<strong>da</strong>s que serão usa<strong>da</strong>s para cálculo do grau deinVídeo: uma aplicação de vídeo interactivo sobre a Internet 69


Especificação do sistema inVídeosucesso na realização dessa sessão. Aos alunos ain<strong>da</strong> é permitido executar pesquisas sobre oscursos em que estão inscritos e assistir de forma avulsa às lições relacionados com os tópicos sobreos quais tenham algum interesse.A criação de um curso envolve a introdução dos <strong>da</strong>dos relativos a esse curso e a associaçãodos módulos pretendidos. A criação de um módulo passa por escolher quais as sessões que oconstituirão, além <strong>da</strong> introdução de informação complementar, como a descrição e os objectivoseducacionais. A definição de uma sessão varia dependendo do tipo de sessão a criar. Asessão/lição terá a associação do vídeo e <strong>da</strong> apresentação, bem como dos <strong>da</strong>dos para a respectivasincronização, e de documentos auxiliares que serão disponibilizados para download. Poderãoain<strong>da</strong> existir legen<strong>da</strong>s para o vídeo. A sessão/treino terá apenas a associação do ficheiro quecontém as tarefas a praticar. A sessão/avaliação terá a definição do tipo de avaliação e a introdução<strong>da</strong>s questões e, em alguns casos, <strong>da</strong>s opções de resposta. Em qualquer um dos tipos de sessãohaverá um registo <strong>da</strong>s acções desenvolvi<strong>da</strong>s (como por exemplo ser feito o registo <strong>da</strong> visualização<strong>da</strong> lição, <strong>da</strong> realização do treino e <strong>da</strong> avaliação com um certo grau de sucesso).A responsabili<strong>da</strong>de dos administradores passa pela criação e edição dos utilizadores, pelagestão <strong>da</strong>s inscrições dos alunos nos cursos e por resolver as dúvi<strong>da</strong>s relaciona<strong>da</strong>s com a utilização<strong>da</strong> aplicação coloca<strong>da</strong>s pelos utilizadores.A concretização do sistema que corresponde à descrição feita até ao momento está detalha<strong>da</strong>nas restantes secções deste capítulo utilizando alguns diagramas do método WISDOM (osdiagramas apresentados são apenas um conjunto limitado de to<strong>da</strong> a especificação, mas escolhidosde forma a permitirem uma visão completa dos aspectos mais importantes <strong>da</strong> aplicação).Para a fase de requisitos temos:− o diagrama dos casos de utilização que visam a captura dos requisitos funcionais dosistema. Do conjunto de casos encontrados serão destacados aqueles que foremconsiderados essenciais;− os diagramas de activi<strong>da</strong>des, que mostram os passos básicos para a implementação deca<strong>da</strong> um dos casos de utilização. Serão apresentados os diagramas de activi<strong>da</strong>des doscasos de utilização essenciais dos utilizadores aluno e docente.Para a fase de análise temos:− os diagramas de análise, onde é feita uma apresentação <strong>da</strong> visão interna do sistema paraca<strong>da</strong> diagrama de activi<strong>da</strong>des. Será apresentado o diagrama de análise do diagrama deactivi<strong>da</strong>des do 'Realizar Sessão'.− a arquitectura conceptual do sistema, modelo criado a partir <strong>da</strong> exploração dos diagramasde análise. Este modelo visa apresentar uma visão geral do sistema a implementar.Para a fase do desenho temos:− o modelo de desenho, com a apresentação do diagrama de classes, que expõe as classesencontra<strong>da</strong>s e defini<strong>da</strong>s para a aplicação;− o modelo de apresentação, com o diagrama de apresentação do utilizador aluno, onde éinVídeo: uma aplicação de vídeo interactivo sobre a Internet 70


Especificação do sistema inVídeoexposta a estruturação dos espaços de interacção;− os espaços de interacção refinados por meio do método de [Constatine 01], sendo feito odetalhe dos espaços de interacção ‘Realizar Lição’ e ‘Criar Lição’;5.4 Casos de utilizaçãoNos casos de utilização foram defini<strong>da</strong>s três categorias básicas de utilizadores: aluno,docente e administrador. Surge ain<strong>da</strong> a categoria Utilizador, mas esta apenas tem o significado deenglobar o caso de utilização comum aos três utilizadores, 'Gerir Mensagem'. A figura 5-4apresenta os casos de utilização encontrados para a aplicação.Coman<strong>da</strong>rSessão«extend»InserirNota«extend»«extend»RealizarSessão«include»«include»ObterDocumentosPesquisarTópicoSeleccionarSessãoAlunoInteragirTempo RealImportar/Exportarconteúdos«include»SeleccionarMódulo«include»InserirDocumentos«include»«include»SeleccionarCursoDocenteAssociarDocumentos«extend»«include»UtilizadorCriar/EditarSessão«extend»AssociarSessõesCriar/EditarMóduloAssociarMódulos«extend»«include»«include»«include»«include»«include»Vali<strong>da</strong>rUtilizadorCriar/EditarCurso«include»«include»GerirMensagem«include»AdministradorInserir/EditarUtilizadorInscreverUtilizadorFigura 5-4 Casos de utilização <strong>da</strong> aplicaçãoO aluno tem como casos de utilização: o ‘Realizar Sessão’, o ‘Pesquisar Tópico’ e o ‘InteragirTempo Real’. O primeiro caso, essencial na aplicação, necessita, para ser efectuado, <strong>da</strong> passagempor um conjunto de casos de utilização, como a selecção de diferentes opções, e ain<strong>da</strong> <strong>da</strong> vali<strong>da</strong>çãoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 71


Especificação do sistema inVídeodo utilizador no sistema. Os casos de utilização até à realização <strong>da</strong> sessão não estão ligados anenhum utilizador devido a não significarem por si só uma acção relevante para os objectivos doutilizador. Por exemplo, ‘Seleccionar Curso’ é um caso de utilização dessa categoria, que nãocumpre nenhuma função essencial, mas é necessário para um fluxo de navegação lógico eestruturado. O ‘Pesquisar Tópico’ permitirá acesso às sessões relaciona<strong>da</strong>s com o tópico escolhido.O ‘Interagir Tempo Real’, partilhado com o docente, permite conversação em tempo real comoutros alunos e/ou docentes. Já referi<strong>da</strong> para o primeiro caso, mas também presente para todos osrestantes, é a necessi<strong>da</strong>de de vali<strong>da</strong>ção no sistema para poderem ser realizados todos os casos.O docente tem a responsabili<strong>da</strong>de <strong>da</strong> criação e <strong>da</strong> manutenção dos cursos. Os casos deutilização reflectem essa tarefa, surgindo a criação/edição de cursos, de módulos e de sessões. Arealização destes casos de utilização necessita <strong>da</strong> realização de outros casos, referidos por‘Associar...’. A lógica <strong>da</strong> criação de cursos passa pelo desenvolvimento independente deconteúdos, na sua uni<strong>da</strong>de básica: o documento. A criação e edição de documentos estão fora dosobjectivos desta aplicação, devendo ser realiza<strong>da</strong>s noutras. O docente apenas fará o seu registo nosistema, <strong>da</strong> forma defini<strong>da</strong> no caso de utilização ‘Inserir Documentos’. Os documentos irão, então,constituir as sessões e para ca<strong>da</strong> tipo de sessão haverá um conjunto possível de documentos. Aagregação de um conjunto de sessões irá formar um módulo e a agregação de um conjunto demódulos formará um curso. O docente tem, ain<strong>da</strong>, a responsabili<strong>da</strong>de pela importação eexportação de conteúdos. Esta funcionali<strong>da</strong>de permitirá que os conteúdos sejam usados noutrosistema e permitirá receber conteúdos externos. Além dos princípios de compatibili<strong>da</strong>de ereutilização, também permitirá a criação e edição de cursos fora do sistema e sua posteriorintrodução e/ou actualização. A interacção em tempo real já foi explica<strong>da</strong> junto <strong>da</strong> descrição doscasos de utilização do aluno.O administrador tem as seguintes responsabili<strong>da</strong>des: a gestão dos utilizadores, que passapela sua introdução e actualização; e a gestão <strong>da</strong>s inscrições dos alunos nos cursos.A todos os utilizadores, como já foi referido, é possível a troca de mensagens dentro dosistema, declara<strong>da</strong> no caso de utilização ‘Gerir Mensagem’.A ca<strong>da</strong> utilizador pode-se relevar um caso de utilização, considerando-o como caso deutilização essencial. O significado deste conceito é <strong>da</strong>r ênfase a um caso de utilização relativamenteaos restantes por se considerar fun<strong>da</strong>mental para atingir os objectivos principais do utilizador. Aboa implementação deste caso de utilização é decisiva para o sucesso do sistema. Assim, para oaluno considera-se o caso ‘Realizar Sessão’, para o docente ‘Criar Sessão’ e para o administrador‘Inscrever Utilizador’.5.5 Diagramas de activi<strong>da</strong>desA ca<strong>da</strong> caso de utilização está associado um conjunto de acções e passos, quer por parte doutilizador, quer por parte do sistema. As figuras 5-5 e 5-6 mostram os diagramas de activi<strong>da</strong>de dedois casos de utilização essenciais, respectivamente, do aluno e o do docente. A sua escolha devesea conterem os aspectos fun<strong>da</strong>mentais do projecto. Como nota final sobre o caso ‘RealizarinVídeo: uma aplicação de vídeo interactivo sobre a Internet 72


Especificação do sistema inVídeoSessão’, este será implementado no âmbito desta dissertação, mas apenas a componente referente àlição (ver secção 6.2 ).O caso de utilização ‘Realizar Sessão’ é o caso mais importante de to<strong>da</strong> a aplicação. A figura5-5 apresenta as activi<strong>da</strong>des básicas para realizar o caso de utilização, mas necessitará em fasesposteriores <strong>da</strong> definição mais concreta de algumas <strong>da</strong>s suas acções.O acesso à sessão será sempre antecedido <strong>da</strong> selecção de um conjunto de elementos. Inicia-secom a selecção do curso, depois do módulo e por fim <strong>da</strong> sessão. Para ca<strong>da</strong> tipo de sessão serãousados elementos diferentes. A lição será basicamente a exibição conjunta de uma apresentação ede um vídeo. O treino poderá variar muito, visto que se baseia na busca de um ficheiro onde estaráinserido o treino e que poderá apresentar um qualquer conjunto de tarefas. A avaliação será aresolução de questões fecha<strong>da</strong>s (cujas cotações serão feitas automaticamente) e abertas (a seremcota<strong>da</strong>s por um docente), o que implica a existência de ecrãs diferentes para ca<strong>da</strong> tipo de sessão.Os documentos que estarão associados, por exemplo, numa lição e num treino têm fins diferentes.Ain<strong>da</strong> antes <strong>da</strong> realização <strong>da</strong> sessão será feito o registo do acesso para efeitos de controlo.Figura 5-5 Diagrama de activi<strong>da</strong>de de 'Realizar Sessão'O diagrama de activi<strong>da</strong>des <strong>da</strong> figura 5-5 é apresentado no âmbito <strong>da</strong> captura dos requisitos,e ain<strong>da</strong> não são declarados aspectos de pormenor. Um exemplo é a activi<strong>da</strong>de ‘Apresentar Sessão’:a definição <strong>da</strong>s acções nesta fase deve ser simples, ficando para fases posteriores um incrementodo detalhe na especificação.O diagrama <strong>da</strong> figura 5-6 mostra os passos básicos para a construção de uma sessão. Asactivi<strong>da</strong>des para a construção de cursos e módulos são semelhantes.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 73


Especificação do sistema inVídeoA activi<strong>da</strong>de inicial passa pela identificação do utilizador no sistema (activi<strong>da</strong>de repeti<strong>da</strong> emtodos os casos de utilização). Neste caso a activi<strong>da</strong>de principal passa pela escolha dos documentosa associar em ca<strong>da</strong> sessão, os quais, dependendo do tipo de sessão escolhi<strong>da</strong>, podem variar muito.Na nota <strong>da</strong> figura 5-5 são descritas as diferenças entre os diversos tipos de sessão, diferenças essasa nível dos documentos que ca<strong>da</strong> uma terá associados.UtilizadorDirectorSistemaIdentificaçãoVerifica Identi<strong>da</strong>deRegista e Informa ErroApresenta OpçõesSelecciona Nova SessãoSelecciona Tipo SessãoApresenta Tipos SessãoNo caso de ser lição terá a associação do vídeo,<strong>da</strong> apresentação e lista de sincronização(obrigatórios), e legen<strong>da</strong>s e documentos auxiliares(opcionais). No caso de ser Treino terá a associaçãode um ficheiro de treino/simulação e <strong>da</strong>dos deverificação. No caso de ser Avaliação terá aconstrução <strong>da</strong>s questões e definição de cotação.Apresenta CamposAssocia Documentos à SessãoConfirma a introduçãoGuar<strong>da</strong> <strong>da</strong>dos SessãoFigura 5-6 Diagrama de activi<strong>da</strong>des de ‘Criar Sessão’5.6 Diagrama de análiseOs diagramas mostrados anteriormente (casos de utilização e diagramas de activi<strong>da</strong>des)apresentam uma visão externa do sistema em termos <strong>da</strong>s suas funcionali<strong>da</strong>des, ou seja, uma visãopara ser entendi<strong>da</strong> por todos os intervenientes na definição e construção <strong>da</strong> aplicação. As notaçõesusa<strong>da</strong>s até ao momento permitem que os esquemas criados possam ser compreendidos não apenaspela equipa de desenvolvimento mas também pelo cliente. Os diagramas de análise iniciam umaexploração às características internas do sistema, indicando os elementos necessários para cumpriras funcionali<strong>da</strong>des defini<strong>da</strong>s. Estes diagramas são feitos para serem entendidos e usados pelaequipa de desenvolvimento.O diagrama de análise apresentado na figura 5-7 mostra a análise feita ao caso de utilização‘Realizar Sessão’ por parte do utilizador aluno. Para ca<strong>da</strong> activi<strong>da</strong>de identifica<strong>da</strong> anteriormenteinVídeo: uma aplicação de vídeo interactivo sobre a Internet 74


Especificação do sistema inVídeopara este caso são encontrados, primeiro, os espaços de interacção e as tarefas que devem sercumpri<strong>da</strong>s, e depois, a análise, onde se definem os controlos necessários e as enti<strong>da</strong>des a que estãoassocia<strong>da</strong>s.A activi<strong>da</strong>de do sistema ‘Verifica Identi<strong>da</strong>de’ é a continuação <strong>da</strong> activi<strong>da</strong>de ‘Identificação’ doutilizador e é realiza<strong>da</strong> com a participação dos seguintes elementos: o espaço de interacção‘Acesso’, a tarefa ‘Inserir Identificação’, o controlo ‘Verifica Identi<strong>da</strong>de’ e a enti<strong>da</strong>de ‘Utilizador’.Figura 5-7 Diagrama de análise do caso de utilização ‘Realizar Sessão’O espaço de interacção ‘Acesso’ e a tarefa ‘Inserir Identificação’ são onde se concretiza atroca <strong>da</strong> informação entre o sistema e o utilizador (neste caso a introdução dos <strong>da</strong>dos deidentificação por parte do utilizador e a apresentação <strong>da</strong> informação do resultado <strong>da</strong> verificaçãopor parte do sistema). O controlo ‘Verifica Identi<strong>da</strong>de’ conterá as definições para realizar aactivi<strong>da</strong>de dentro do sistema (neste caso comparar os <strong>da</strong>dos recebidos com os <strong>da</strong>dos existentes edevolver o resultado <strong>da</strong> comparação), ou seja as definições para a coordenação, sequência,transacção e controlo de outros objectos podem ser designados como a lógica do negócio [Nunes01a]. A enti<strong>da</strong>de ‘Utilizador’ contém os <strong>da</strong>dos relativos ao utilizador, que deverão ser mantidos eguar<strong>da</strong>dos.A estrutura deste diagrama inicia uma separação lógica de diferentes conceitos. O espaço deinteracção e a tarefa são uma visão externa do sistema disponibiliza<strong>da</strong> através <strong>da</strong> interface entre outilizador e o sistema. O controlo contém to<strong>da</strong>s as funções necessárias para a concretização <strong>da</strong>sfuncionali<strong>da</strong>des defini<strong>da</strong>s e separa a interface dos <strong>da</strong>dos. A enti<strong>da</strong>de define uma primeira versãoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 75


Especificação do sistema inVídeosimples do modelo de <strong>da</strong>dos que será implementado. Temos portanto uma arquitectura de trêscama<strong>da</strong>s com interface, lógica e <strong>da</strong>dos. A importância desta separação é principalmente facilitar areutilização, a manutenção e o desenvolvimento para diferentes plataformas e tecnologias deinterfaces com o utilizador [Nunes 01a].5.7 Arquitectura conceptual do sistemaA construção e a exploração dos diagramas construídos e apresentados em parte nestecapítulo, permitiram chegar à definição de uma estrutura global onde os elementos principaisforam declarados e relacionados, constituindo desta forma uma arquitectura conceptual dosistema.A figura 5-8 apresenta uma arquitectura do sistema inVídeo, e nela temos identificados todosos elementos a implementar, tais como: os espaços de interacção e as tarefas que neles se realizam;os controlos que conterão to<strong>da</strong>s as funções que definem a forma de acesso aos <strong>da</strong>dos; e asenti<strong>da</strong>des que conterão os <strong>da</strong>dos de forma persistente.Os espaços de interacção e as tarefas reflectem, principalmente, a relação com os requisitosiniciais, definidos pelos casos de utilização.Os controlos, componentes fun<strong>da</strong>mentais <strong>da</strong> implementação, foram definidos após aconstrução dos diagramas de análise (apresentado um na secção 5.6 deste capítulo). Em ca<strong>da</strong> umdestes diagramas foram definidos os controlos necessários para responder às tarefas defini<strong>da</strong>s edepois agrupados por proximi<strong>da</strong>de na relação com as enti<strong>da</strong>des. Para simplificar o seu tratamentocriaram-se vários controlos principais, ca<strong>da</strong> um dos quais reunindo um conjunto de funções comalgum tipo de relação lógica entre si. Os controlos definidos foram Mensagem, Utilizador,MensagemRT, Nota, Curso e ImpExp (com a sufixação Handler, que se pode traduzir porresponsável, o que no caso do CursoHandler, por exemplo, significa controlo responsável pelosCursos).A partir do diagrama de classes (figura 5-9) podemos ter uma definição mais completa deto<strong>da</strong>s as enti<strong>da</strong>des e de todos os <strong>da</strong>dos que existem no sistema. As enti<strong>da</strong>des apresenta<strong>da</strong>s nafigura 5-8 são apenas um conjunto <strong>da</strong>s mais importantes, e permitem-nos identificar os principais<strong>da</strong>dos que irão existir no sistema.A arquitectura apresenta<strong>da</strong> não é um esquema exaustivo de todo o sistema, mas apenas <strong>da</strong>sua parte mais importante e apresenta uma visão global: dos intervenientes; dos principais espaçosde interacção, tarefas, controlos e enti<strong>da</strong>des; e dos seus relacionamentos.Uma outra função fun<strong>da</strong>mental <strong>da</strong> arquitectura conceptual do sistema é apoiar, no caso <strong>da</strong>implementação ser fasea<strong>da</strong>, a escolha dos elementos a implementar numa <strong>da</strong><strong>da</strong> fase. Após aescolha <strong>da</strong>s funcionali<strong>da</strong>des pretendi<strong>da</strong> para uma <strong>da</strong><strong>da</strong> fase, bastará desenvolver os espaços deinteracção onde estas se concretizam, e as tarefas, os controlos e as enti<strong>da</strong>des relaciona<strong>da</strong>s.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 76


Especificação do sistema inVídeoUtilizadorLista de MensagensApagar MensagemDetalhe MensagemPreencherMensagemMensagemHandler_____________________apagaMensagem()guar<strong>da</strong>Mensagem()listaMensagens()MensagemAcessoInserir DadosIdentificaçãoOpçõesAdministradorSeleccionar NovoUtilizadorAcessoAdministradorDetalheUtilizadoresInserir <strong>da</strong>dosUtilizadorUtilizadorHandler_____________________UtilizadorInscrição/DesinscriçãoAssociar/Desassociar AlunosverificaUtilizador()guar<strong>da</strong>Utilizador()listaUtilizadores()actualizaInscricao()listaUtilizOnLine()registaEntra<strong>da</strong>()registaSai<strong>da</strong>()Mensagens TempoRealEscreverMensagemMensagemRT Handler_____________________enviaMensagem()obtemMensagens()Mensagem TempoRealNotaDetalhe NotaPreencher NotaAlunoPesquisa TópicoPesquisar TópicoNotaHandler_____________________guar<strong>da</strong>Nota()listaNotas()InscriçãoRealiza SessãoInteragir SessãoCursoLista de CursosSeleccionar CursoMóduloLista de MódulosSeleccionarMóduloCursoHandler_____________________DocenteLista de SessõesSeleccionarSessãolistaCursos()listaModulos()listaSessoes()detalheCurso()detalheModulo()detalheSessao()<strong>da</strong>dosSessao()pesquisaTema()guar<strong>da</strong>Curso()guar<strong>da</strong>Modulo()guar<strong>da</strong>Sessao()SessãoDocumentoDetalhe CursosPreencher DadosCursoAcçãoDetalhe MóduloPreencher DadosMóduloDetalhe SessãoPreencher DadosSessãoImpExpHandler_____________________exportaConteudos()importaConteudos()Servidor deStreamingImporta/ExportaConteúdosImportar/ExportarConteúdosSistema deFicheirosFigura 5-8 Arquitectura conceptual do sistema5.8 Modelo de desenhoO diagrama escolhido para o modelo de desenho é o diagrama de classes. As classesencontra<strong>da</strong>s são mostra<strong>da</strong>s na figura 5-9 e definem as enti<strong>da</strong>des <strong>da</strong> aplicação e os tipos de relaçõesexistentes entre elas. Surgem duas classes sem uma definição precisa, Treino e Avaliação, porque aimplementação de ambas sai do âmbito deste trabalho. Os tipos de <strong>da</strong>dos de ca<strong>da</strong> atributo estãodefinidos no modelo de <strong>da</strong>dos do sistema.A análise ao diagrama de classes releva algumas divisões defini<strong>da</strong>s para o sistema. Auni<strong>da</strong>de mais simples é a relaciona<strong>da</strong> com os utilizadores, conjunto composto pelas classes Acesso,inVídeo: uma aplicação de vídeo interactivo sobre a Internet 77


Especificação do sistema inVídeoUtilizador, Aluno, Docente e Administrador, e é onde estão todos os <strong>da</strong>dos relativos aosutilizadores e aos registos de utilização do sistema. Uma segun<strong>da</strong> uni<strong>da</strong>de é a relativa aosdocumentos, isto é, aos conteúdos pe<strong>da</strong>gógicos, com as classes: Documento, Vídeo e Apresentação.Aparecem ain<strong>da</strong> algumas classes necessárias mas menos importantes tais como: Tipo (dedocumento), Legen<strong>da</strong> e Slide. A terceira uni<strong>da</strong>de é a estruturação dos conteúdos com as classesCurso, Módulo, Sessão, Lição, Treino e Avaliação.Inscrição-<strong>da</strong>ta-estado+novaInscrica()+alterarEstado()Curso-designacao-descricao-objectivos-inicio-fim-Inscricao+novoCurso()+editarCurso()*** *Tipo-tipo-software-extensao+novoTipo()+editarTipo()1Modulo-designacao-descricao-objectivos+novoModulo()+editarModulo()** *Documento-designacao-descricao-autor-ficheiro-local-lingua-<strong>da</strong>tacriado-tamanho+novoDocumento()+editarDadosDoc()*-<strong>da</strong>ta-download+novoDocSessao()+apagarDocSessao()+editarDocSessao()*docSessaoSessão-designacao-descricao-objectivos-keywords+novaSessao()+editarSessao()Administrador-<strong>da</strong>ta_horaAcesso*-<strong>da</strong>ta-hora-IP+registaEntra<strong>da</strong>()+registaSaí<strong>da</strong>()1*Aluno-<strong>da</strong>ta_horaUtilizador-nome-login-password-email-<strong>da</strong>ta_hora+novoUtilizador()+editarUtilizador()+verificaUtilizador()* *Mensagem-texto-<strong>da</strong>ta+CriarMensagem()+Apagar Mensagem()*-<strong>da</strong>ta_hora*Docente****DadosAvaliaçãoNota-<strong>da</strong>ta-texto-publica+inserirNota()+apagarNota()DadosTreino**Apresentação-formato-observacoes-altura-Largura+novaApresentacao()+editarApresentacao()1*Slide-nome-inicio-posicao+novoSlide()+editarSlide()+apagarSlide()-<strong>da</strong>ta-horaInicio-horaFim-observacao+registaAcesso()Avaliação1DadosLição*-duracao-formato-observacoes+novoVideo()+editarVideo()*1TreinoVídeo****Lição-video_inicio-video_fim+novaLicao()+editarLicao()Legen<strong>da</strong>-inicio-fim-textoL1-textoL2+novaLegen<strong>da</strong>()+editarLegen<strong>da</strong>()Figura 5-9 Diagrama de classesA organização por uni<strong>da</strong>des releva, assim, as relações não entre as classes de formaindividual mas entre as diferentes uni<strong>da</strong>des, designa<strong>da</strong>s adiante por Utilizadores, Documentos eCursos (no plural para diferirem <strong>da</strong>s classes individuais, no singular). Surgem então a classeassociação Inscrição e a relação Gere, como relações entre Cursos e Utilizadores, significando,respectivamente, a inscrição de alunos nos cursos, com a participação do administrador, e adefinição dos docentes responsáveis pela criação e gestão dos cursos. Ain<strong>da</strong> entre as mesmasinVídeo: uma aplicação de vídeo interactivo sobre a Internet 78


Especificação do sistema inVídeouni<strong>da</strong>des aparece o registo <strong>da</strong>s sessões realiza<strong>da</strong>s pelos alunos defini<strong>da</strong>s nas classes associaçãoDadosLição, DadosTreino e DadosAvaliação. Por fim, aparece a relação entre os Utilizadores e osDocumentos com a classe associação Nota, que define os comentários por parte dos utilizadoresaos slides <strong>da</strong>s apresentações.5.9 Modelo de apresentaçãoO propósito do modelo de apresentação do WISDOM é definir uma estrutura global dosespaços de interacção, ou seja, uma estrutura de enti<strong>da</strong>des independentes <strong>da</strong> implementação queseja responsável pela “interacção física com o utilizador” [Nunes 01b].O diagrama <strong>da</strong> figura 5-10 apresenta a estrutura referente ao utilizador aluno. As relaçõesexistentes entre as enti<strong>da</strong>des, «navigates» e «contains», mostram, respectivamente, a navegação entreespaços de interacção existentes para o aluno, e quais os espaços de interacção contidos noutros.Figura 5-10 Diagrama de apresentação do alunoUm exemplo de navegação entre espaços de interacção, é todo o percurso desde o ‘Acesso’até ao ‘Realiza Sessão’, com passagem pelo ‘Lista de Cursos’, ‘Lista de Módulos’ e ‘Lista deSessões’. Em ca<strong>da</strong> espaço de interacção é possível navegar para a ‘Lista de Mensagens’ e para a‘Lista de Mensagens RT’ (Real Time). O detalhe escolhido para este diagrama não apresenta to<strong>da</strong>sas relações «contains» por razões de simplici<strong>da</strong>de. Estas relações surgem apenas para os espaços deinteracção onde existe a introdução de <strong>da</strong>dos, como ‘Mensagem’, ‘Mensagem RT’ e ‘Nota’. Na‘Lista de Cursos’, por exemplo, estão contidos os espaços de interacção para apresentação de<strong>da</strong>dos como a própria lista de cursos e o detalhe do curso que estiver seleccionado na lista.5.10 Refinamento dos espaços de interacçãoO modelo que deverá surgir paralelamente ao modelo de apresentação é o modelo dediálogo. A simplici<strong>da</strong>de <strong>da</strong> maioria <strong>da</strong>s tarefas levou a que estes modelos não fossem apresentadosneste documento, e optou-se por apresentar o detalhe dos espaços de interacção.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 79


Especificação do sistema inVídeoO método escolhido para modelar esse detalhe foi a utilização dos Canonical AbstractPrototypes for Abstract Visual and Interaction Design [Constantine 03]. Esta escolha surge de umasugestão do autor do WISDOM, e após ser analisa<strong>da</strong> revelou-se interessante e adequa<strong>da</strong> paraconsoli<strong>da</strong>r o detalhe de ca<strong>da</strong> espaço de interacção e a clarificação <strong>da</strong>s tarefas que lá se realizam.Um Canonical Abstract Prototype é uma extensão para o desenho centrado no utilizador efornece um vocabulário formal para expressar desenho visual e interactivo, sem preocupações deaparência ou de comportamento.FerramentaAbstracta genéricaMaterial AbstractogenéricoMaterial HíbridogenéricoFigura 5-11 Componentes abstractos canónicosO vocabulário é um conjunto normalizado e limitado de componentes abstractos quepermitem um desenho fácil e rápido dos protótipos, que inclui as ferramentas, os materiais e oshíbridos, também designados materiais activos (conjunto genérico na figura 5-11). A utilizaçãodestes componentes também facilita a comparação de diferentes modelos e o reconhecimento depadrões repetidos ou configurações comuns [Constantine 03].Os diagramas de refinamento apresentados são os referentes aos espaços de interacção‘Realizar Sessão’ e ‘Criar Sessão’. Em relação a ‘Realizar Sessão’, como foi referido anteriormente,uma sessão poderá ser do tipo lição, treino ou avaliação. Como o trabalho desta dissertação na suafase de implementação, apenas se focou na lição, será apenas sobre componente do ‘RealizarSessão’, isto é, o realizar de uma lição, que se apresentará com detalhe.Realizar LiçãoAju<strong>da</strong>ChatMailVoltarSairInfo Sessão MóduloLiçãoVídeo{ }As apresentações estãosincroniza<strong>da</strong>s com odecorrer do vídeoApresentaçãoPlay/PauseLeg.on/offLegen<strong>da</strong>sIr parax seg.TrocaVi/ApTempoListaSlides{ }A lista de notas estásincroniza<strong>da</strong> com asapresentaçõesLista NotasNotaNovaNotaAutor e <strong>da</strong>taDocumentosTítulo DocumentoO detalhe apenas é preenchido com aselecção de dos{ documentos}Detalhe DocumentoAutorTamanhoFigura 5-12 Refinamento do espaço de interacção ‘Realizar Lição’Nesta fase, devido aos modelos criados até ao momento, já começa a existir uma ideia clarasobre os elementos que existirão em ca<strong>da</strong> espaço de interacção com o utilizador e as acções queeste poderá executar em ca<strong>da</strong> uma delas. O diagrama <strong>da</strong> figura 5-12 expõe os elementos quePuxardoc.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 80


Especificação do sistema inVídeodeverão estar presentes numa lição. Assim definiram-se três áreas principais: a lição, a lista denotas e a lista de documentos. Surgem também mais alguns elementos como: designação <strong>da</strong> sessãoe do módulo e acções diversas (como Sair, Voltar, Mail, Chat e Aju<strong>da</strong>). Estes elementos sãoconsiderados gerais uma vez que surgem <strong>da</strong> análise conjunta de vários diagramas e são comunsaos vários diagramas.A área <strong>da</strong> lição contempla os elementos vídeo, apresentação, notas e legen<strong>da</strong>s, e acçõesdiversas (interacção com a apresentação e com o vídeo, introdução de notas e download dedocumentos). A utilização do método de [Constantine 03] permite ao analista, como se podeverificar na figura 5-12, deixar algumas orientações para a composição do ecrã, definindo aestrutura global do espaço de interacção e o posicionamento relativo dos elementos. Um elementoque foi necessário avaliar foi a relação entre as dimensões do vídeo e <strong>da</strong> apresentação. O resultadoapresentado não tem um valor definitivo, mas mostra a importância <strong>da</strong><strong>da</strong> à apresentação, que temassim um tamanho maior que o vídeo. Nas situações em que seja necessário <strong>da</strong>r ao vídeo umdestaque maior, as posições e tamanhos são invertidos, graças à acção ‘Troca Vi/Ap’(Vídeo/Apresentação).O diagrama <strong>da</strong> figura 5-12 apresenta, essencialmente, um conjunto de elementos e de acçõessimples. O digrama ‘Criar Lição’, na figura 5-13, já contém uma maior varie<strong>da</strong>de de elementos e deacções relaciona<strong>da</strong>s com criar e apagar informação (o diagrama anterior apenas tinha uma acçãopara inserir notas). As acções gerais já encontra<strong>da</strong>s na figura 5-12 estão repeti<strong>da</strong>s.Criar LiçãoAju<strong>da</strong>ChatMailVoltarSairDados LiçãoDesignaçãoApresentaçãoLista de NotasDescriçãoLista de SlidesUtilizadorDataPosiçãoInícioNotaTítuloVídeoLista de Legen<strong>da</strong>sInícioFim{ }A lista de notas estásincroniza<strong>da</strong> com aselecção feita na lista deslidesLegen<strong>da</strong> (linha 1 e 2)ApagaLeg.NovaLeg.ApagaSlideNovoSlideApagaNotaCancelarNovaNotaGuar<strong>da</strong>rFigura 5-13 Refinamento do espaço de interacção ‘Criar Lição’Os elementos contidos no diagrama <strong>da</strong> figura 5-13 são os <strong>da</strong>dos para a sessão/lição e todosaqueles que estão relacionados, como por exemplo o vídeo e a apresentação. A designação edescrição são <strong>da</strong>dos <strong>da</strong> sessão, o vídeo e a apresentação já pertencem à lição. Por sua vez aslegen<strong>da</strong>s pertencem ao vídeo e os slides e as notas pertencem à apresentação. Estão tambémdefini<strong>da</strong>s as acções necessárias para fazer a edição de todos os <strong>da</strong>dos.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 81


Especificação do sistema inVídeo5.11 ConclusãoO capítulo apresentado contém a especificação de uma aplicação interactiva utilizando ametodologia WISDOM. Os modelos WISDOM expostos foram escolhidos pela sua relevância paraesta aplicação e para a descrição <strong>da</strong>s funcionali<strong>da</strong>des mais importantes defini<strong>da</strong>s para o sistema.A detalhe do desenho dos modelos variou mediante a sua importância e/ou a necessi<strong>da</strong>derevela<strong>da</strong> na altura <strong>da</strong> sua construção. Este foi um processo complexo e a opção por um detalhemaior ou menor, que por vezes pode implicar tempos de especificação demasiado prolongados, foipondera<strong>da</strong> em ca<strong>da</strong> modelo. Tentou-se detalhar com precisão onde tal era necessário e noutroscasos apenas deixar indicações suficientes que permitissem uma compreensão alarga<strong>da</strong> <strong>da</strong>s ideiasque se queriam expressar.Os casos de utilização apresentaram as funcionali<strong>da</strong>des do sistema e a sua análise permitiuencontrar os objectivos principais <strong>da</strong> aplicação para ca<strong>da</strong> utilizador através dos casos de utilizaçãoessenciais. Os casos de utilização foram depois complementados com os seus diagramas deactivi<strong>da</strong>des. O modelo de análise explorou a visão externa e interna do sistema do ponto de vista<strong>da</strong> equipa de desenvolvimento e permitiu identificar os elementos que seriam necessáriosimplementar. De segui<strong>da</strong> apresentou-se uma arquitectura conceptual do sistema onde é possívelter uma visão geral, identificando os elementos e as suas relações. A construção <strong>da</strong> arquitecturaconceptual também permite escolher de forma coerente e lógica o subconjunto de elementos aserem implementados numa determina<strong>da</strong> fase de um projecto. O diagrama de classes clarificou ainformação a preservar e as suas relações. Por fim, o refinamento dos espaços de interacção e omodelo de apresentação caracterizaram, respectivamente, a interacção e a estrutura <strong>da</strong> navegação<strong>da</strong> aplicação.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 82


6. Implementação do sistemainVídeoO capítulo actual apresenta, para o sistema inVídeo: asprincipais opções tecnológicas no desenvolvimento; uma descriçãode alguns elementos implementados; e os resultados de umpequeno inquérito aos utilizadores.As opções tecnológicas dividem-se entre as diferentesferramentas e linguagens utiliza<strong>da</strong>s para desenvolvimento e atecnologia utiliza<strong>da</strong> na importação e exportação de conteúdos.A descrição do sistema é feita através <strong>da</strong> apresentação dealguns dos seus ecrãs e de excertos de código de algumas funções,mostrando, em ambos os casos, a relação com a fase deespecificação.Por fim, apresentam-se os resultados de um pequeno inquéritofeito aos utilizadores, mostrando o grau de satisfação na utilização<strong>da</strong> aplicação.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 83


Implementação do sistema inVídeo6.1 Opções tecnológicasA escolha <strong>da</strong>s tecnologias a usar para a implementação do sistema revelou-se um processolongo e, nalguns casos, complexo. A filosofia inicial para a implementação foi a de apenas utilizarsoftware livre e normas não proprietárias. Tal não foi conseguido devido à impossibili<strong>da</strong>de de obterum conjunto completo de ferramentas, linguagens e normas enquadra<strong>da</strong>s nessa categoria quegarantisse os seguintes pontos: execução no maior número de plataformas e simplici<strong>da</strong>de naimplementação e manutenção.A avaliação <strong>da</strong>s opções presentes nas diferentes categorias de software apresentou algumasdificul<strong>da</strong>des, devido à sua interdependência. Por questões de incompatibili<strong>da</strong>de a escolha não seresumiu simplesmente às melhores opções em ca<strong>da</strong> uma <strong>da</strong>s categorias.O funcionamento <strong>da</strong> aplicação cliente em diferentes plataformas é um aspecto fun<strong>da</strong>mental.Estudos indicam um aumento acentuado na diversi<strong>da</strong>de de sistemas operativos [Legard 04],levando à utilização de ferramentas que permitam desenvolver aplicações que possam operar emdiversos ambientes.Outro factor de grande importância foi a nossa experiência na instalação e configuração dosservidores e no uso <strong>da</strong>s ferramentas e linguagens de programação, de forma a garantir temposmínimos de implementação.A importação e exportação de <strong>da</strong>dos, apesar de não ter sido implementa<strong>da</strong> nesta fase dedesenvolvimento, não foi descura<strong>da</strong>, tendo sido escolhi<strong>da</strong> a norma que permitirá a utilização dosconteúdos deste sistema noutros sistemas e o inverso.6.1.1 Ferramentas e linguagensApresentam-se de segui<strong>da</strong> as opções considera<strong>da</strong>s para ca<strong>da</strong> uma <strong>da</strong>s categorias de software,as respectivas vantagens e em alguns casos, por ser relevante, as desvantagens. No final sãoapresenta<strong>da</strong>s as escolhas e feita a justificação <strong>da</strong>s opções menos óbvias. As categorias são asseguintes: servidor de streaming, ferramenta para desenvolvimento do cliente, linguagem deinterface com o servidor de base de <strong>da</strong>dos, sistema operativo e motor de base de <strong>da</strong>dos.6.1.1.1 OpçõesA escolha do servidor de streaming foi complexa, tendo envolvido quatro opções. Osservidores avaliados foram o Helix DNA Server <strong>da</strong> Real Networks [HDS], o Darwin Straming Server<strong>da</strong> Apple [DSS], o Windows Media Services 9 Series <strong>da</strong> Microsoft [WMS] e o Flash CommunicationServer 1.5 <strong>da</strong> Macromedia [FCS]. As vantagens e as desvantagens principais dos diferentesservidores são apresenta<strong>da</strong>s, resumi<strong>da</strong>mente, na tabela 6-1.As escolhas <strong>da</strong>s linguagens de programação foram basea<strong>da</strong>s nas suas funcionali<strong>da</strong>des e,muito importante, na experiência <strong>da</strong> equipa de desenvolvimento. Foi ponderado o uso de PHP(PHP Hypertext Pre-processor) ou ASP (Active Server Pages) no lado do servidor e para o cliente oconjunto HTML/SMIL/JavaScript ou o Macromedia Flash MX.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 84


Implementação do sistema inVídeoTabela 6-1 Comparação de servidores de streamingServidor Vantagem DesvantagemHelix DNA Server<strong>da</strong> Real NetworksDarwin Streaming Server<strong>da</strong> AppleWindows Media Series<strong>da</strong> MicrosoftFlash Communication Server<strong>da</strong> MacromediaMaturi<strong>da</strong>de e Quali<strong>da</strong>deCusto e flexibili<strong>da</strong>deDifusão do player e do sistemaoperativoDifusão do plug-inCusto do licenciamentoPequena difusão do playerNão permite uso noutraplataformaQuali<strong>da</strong>de dos codificadores edescodificadoresA apreciação entre o PHP e o ASP baseou-se numa maior ou menor experiência deprogramação na linguagem, tendo vantagem o PHP, enquanto que as facili<strong>da</strong>des de utilização e oapoio fornecido por parte <strong>da</strong>s ferramentas de desenvolvimento deram vantagem ao ASP.A ponderação entre o HTML/SMIL/JavaScript e o Macromedia Flash MX foi a de optar entreutilizar um conjunto de linguagens não proprietárias, tendo vantagem o trioHTML/SMIL/JavaScript, e utilizar um ambiente de desenvolvimento mais simples e integrado, aquicom vantagem para o Macromedia Flash MX.As opções avalia<strong>da</strong>s para o sistema operativo foram o Linux, mais precisamente na suadistribuição RedHat, e o Windows 2000 Server <strong>da</strong> Microsoft. As vantagens do Linux reflectiam-se nocusto, na fiabili<strong>da</strong>de de execução do servidor web Apache, e na integração simples de algumas <strong>da</strong>sferramentas e linguagens necessárias (base de <strong>da</strong>dos, linguagem de programação e servidor destreaming). A grande vantagem do sistema operativo Windows 2000 Server <strong>da</strong> Microsoft é permitir autilização do servidor de media <strong>da</strong> Microsoft, o Windows Media Services 9 Series, sem custosadicionais. A avaliação de robustez e confiança nos sistemas apenas foi basea<strong>da</strong> na nossaexperiência, não havendo uma preferência clara por qualquer dos sistemas. Outras opções, comosistemas Unix e MacOSX, não foram avalia<strong>da</strong>s devido ao custo e requisitos de hardware.Os motores de bases de <strong>da</strong>dos considerados foram o MySQL e o SQLServer <strong>da</strong> Microsoft(MSSQL). As vantagens do MySQL encontram-se no custo e na simplici<strong>da</strong>de, enquanto que as doMSSQL foram o conjunto alargado de funcionali<strong>da</strong>des e robustez.6.1.1.2 Ferramentas e linguagens escolhi<strong>da</strong>sO conjunto de ferramentas e linguagens escolhi<strong>da</strong>s para o desenvolvimento e para ambientede produção do sistema foram as seguintes:− servidor de streaming: Macromedia Flash Communication Server;− linguagem de programação do servidor: PHP;− linguagem de programação do cliente: Macromedia Flash MX e ActionScript;− sistema operativo: Linux (com servidor web Apache);− motor de base de <strong>da</strong>dos: MySQL.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 85


Implementação do sistema inVídeoA escolha mais importante recaiu no conjunto <strong>da</strong>s ferramentas <strong>da</strong> empresa Macromedia,devido ao seu ambiente de desenvolvimento para a Internet ser estável e poderoso e o softwarecliente (ou plug-in) que suporta a aplicação cliente estar difundido pela maioria dos utilizadores eplataformas liga<strong>da</strong>s à Internet. Além destas vantagens, o servidor de streaming também é servidorde comunicações. Além do streaming de vídeo este servidor permite a implementação simplifica<strong>da</strong>de interacção de utilizadores em tempo real, tanto por mensagem de texto, como por áudio evideoconferência, através de um protocolo proprietário, o RTMP (Real Time Messaging Protocol) quefunciona sobre o TCP/IP [Simmons 04]. Estas capaci<strong>da</strong>des irão permitir no futuro aumentar asfuncionali<strong>da</strong>des do sistema sem grandes dificul<strong>da</strong>des e sem alterações no servidor (por exemplo, aimplementação de aulas em tempo real e a gravação automática <strong>da</strong>s apresentações e a suasincronização com os slides). A nível <strong>da</strong> aquisição e do licenciamento esta opção não é a maiseconómica, mas a nível <strong>da</strong> implementação este custo poderá ser diminuído visto que permitirátempos de desenvolvimento mais curtos.Inicialmente, a utilização do SMIL foi pensa<strong>da</strong> para a apresentação <strong>da</strong>s lições, ou seja, para acomposição, sincronização e interacção <strong>da</strong>s cenas. To<strong>da</strong>via, seria sempre necessário utilizar outroconjunto de ferramentas para implementar o resto <strong>da</strong> aplicação cliente. Após a análise doMacromedia Flash verificou-se que, além <strong>da</strong>s vantagens já referi<strong>da</strong>s no parágrafo anterior, tambémpoderia realizar to<strong>da</strong>s as funções do SMIL. Assim, por razões de simplici<strong>da</strong>de, foi toma<strong>da</strong> a opçãopor ter apenas Macromedia Flash. O SMIL, apesar de não ser utilizado neste ponto, será aproveitadona exportação dos <strong>da</strong>dos, onde é necessário acompanhar os media com a informação <strong>da</strong> suasincronização. Não sendo possível o envio de código Flash com a informação de sincronização, ouso de SMIL para transportar a composição e sincronização surge como uma solução simples ecompleta. Sendo o SMIL uma norma pública, permite a reutilização dos conteúdos criados nosistema inVídeo num outro ambiente que tenha, pelo menos, um navegador. O Anexo A apresentaum exemplo de uma lição codifica<strong>da</strong> no formato SMIL e apresenta<strong>da</strong> num media player (neste caso,o real player por apresentar menos problemas de compatibili<strong>da</strong>de).O MEPG-4, por dificul<strong>da</strong>de em encontrar ferramentas e informação de desenvolvimento, nãofoi considerado, surgindo no capítulo três por ser uma norma pública importante e por conter nasua definição alguns conceitos relevantes para esta dissertação como a composição, sincronização einteracção.As restantes escolhas, Linux/PHP/MySQL, têm vantagens óbvias no custo, sendo to<strong>da</strong>s elaslicencia<strong>da</strong>s como software livre. Não menos importantes são também a sua fiabili<strong>da</strong>de, suporte ematuri<strong>da</strong>de, garanti<strong>da</strong>s pela sua generaliza<strong>da</strong> implementação e para diferentes plataformas. Osistema operativo Linux, conjugado com o servidor web Apache, a linguagem PHP e o motor debase de <strong>da</strong>dos MySQL, são uma <strong>da</strong>s soluções mais usa<strong>da</strong>s para a implementação de serviços sobrea Internet.Ain<strong>da</strong> foram utilizados outros softwares auxiliares, cuja importância, se compara<strong>da</strong> com a dosjá apresentados é pequena, mas que apoiaram de forma decisiva o desenvolvimento, facilitando otrabalho feito. Os softwares escolhidos foram todos <strong>da</strong> categoria Open Source e são os seguintes:− SE|PY, para a escrita de código ActionScript [SEPY];inVídeo: uma aplicação de vídeo interactivo sobre a Internet 86


Implementação do sistema inVídeo− Reload 1.2, para a construção de pacotes SCORM [Reload];− DBDesigner 4, para modelação <strong>da</strong> base de <strong>da</strong>dos e interacção com o motor de base de<strong>da</strong>dos MySQL [DBDesigner];− LimSee 2, para a construção de cenas multimédia no formato SMIL 1.0 e SMIL 2.0[LimSee2];− Notepad, para a codificação em PHP.6.1.2 Norma para a importação e exportaçãoA componente de Importação/Exportação do sistema não foi implementa<strong>da</strong> no âmbito destadissertação. Apesar de muito importante, o interesse desta primeira fase de implementação focouseno desenvolvimento <strong>da</strong> aplicação cliente (na função de visualização de uma lição).A funcionali<strong>da</strong>de Importação/Exportação foi defini<strong>da</strong> para cumprir os seguintes objectivos:− reutilizar noutros sistemas os conteúdos construídos no inVídeo;− receber conteúdos produzidos em aplicações externas ou em outros sistemas semelhantes.Foi necessário procurar normas que pudessem descrever os <strong>da</strong>dos que seriam produzidospelo sistema, <strong>da</strong>dos estes com características educacionais. Nas pesquisas feitas as normasencontra<strong>da</strong>s foram as seguintes:− ADL Sharable Content Object Reference Model (SCORM): esta norma visa facilitar a criaçãode conteúdos de ensino reutilizáveis, dentro de uma framework técnica comum paraaprendizagem local ou sobre a Internet [SCORM Overview 04];− Dublin Core Meta<strong>da</strong>ta Initiative (DCMI): esta é uma organização dedica<strong>da</strong> a promover aadopção de meta<strong>da</strong>dos normalizados e a desenvolver vocabulários de meta<strong>da</strong>dosespecializados para descrever recursos, que, assim, permitam a existência de sistemas deprocura de informação mais inteligentes [DCMI 04];− IEEE Learning Object Meta<strong>da</strong>ta (LOM): esta norma visa a especificação <strong>da</strong> sintaxe esemântica de meta<strong>da</strong>dos para conteúdos educativos, definidos como atributos necessáriospara descrever de forma completa e adequa<strong>da</strong> os recursos educacionais [LOM 04];A opção recaiu sobre o SCORM <strong>da</strong> ADL por satisfazer de forma mais completa os requisitos,ou seja, a possibili<strong>da</strong>de de descrever e reutilizar conteúdos educativos. Este último aspecto, areutilização, é muito importante por questões de produtivi<strong>da</strong>de. Os conteúdos produzidos nestesistema podem ser usados noutros sistemas que sigam a norma SCORM. Também será possível aimportação de conteúdos externos, desde que estes tenham sido gerados respeitando o SCORM.A especificação SCORM integra na sua definição o IEEE LOM, logo é uma opção maisabrangente e completa que este último. Sobre o DCMI, a vantagem do SCORM esteve naparticulari<strong>da</strong>de de estar mais vocaciona<strong>da</strong> para conteúdos educacionais.O capítulo quatro detalha em pormenor as diversas componentes que formam o SCORM e,em particular, a Agregação de Conteúdos (secção 4.4), que trata a organização e detalhe dosinVídeo: uma aplicação de vídeo interactivo sobre a Internet 87


Implementação do sistema inVídeorecursos educacionais, área mais relevante no âmbito desta dissertação.Um contributo importante que o estudo dos meta<strong>da</strong>dos para conteúdos educacionais trouxepara o desenvolvimento deste sistema foi o entendimento mais profundo <strong>da</strong>s ligações que podemexistir entre recursos educativos. O princípio <strong>da</strong> reutilização presente na actual aplicação apenasfoi possível devido à exploração e conhecimento <strong>da</strong> norma SCORM. Nas versões iniciais <strong>da</strong> análisea estrutura educacional era semelhante ao resultado final, ou seja, tínhamos cursos constituídospor módulos e estes por secções, mas com uma limitação: poderiam ser reutilizados os recursoseducacionais de forma individual (os documentos), mas as organizações onde esses recursos eramusados seriam sempre independentes, o que não permitia reutilizar as secções e os módulos. Porexemplo, podíamos ter um módulo introdutório a um qualquer tema, que podia fazer parte dediversos cursos sobre esse tema, sem termos de construir várias versões do módulo referido.A estrutura de <strong>da</strong>dos presente no diagrama de classes (secção 5.7) foi divi<strong>da</strong> em uni<strong>da</strong>des,tendo sido feitos nessa secção o realce e a descrição <strong>da</strong>s relações que existiam entre elas. Umaspecto muito importante também presente nessa divisão assenta numa interligação mais claracom o SCORM. As uni<strong>da</strong>des defini<strong>da</strong>s, então, foram: Cursos, Documentos e Utilizadores. OSCORM não define a transferência dos <strong>da</strong>dos sobre os utilizadores, mas sim, de cursos edocumentos. Assim, nesta estrutura é fácil identificar os Conteúdos Partilháveis e a Organizaçãode Conteúdos (explicados na secção 4.3.1 ), respectivamente nas uni<strong>da</strong>des Documentos e Cursos.Apesar de não implementa<strong>da</strong> a funcionali<strong>da</strong>de de importação/exportação, como referido noinício desta secção, é apresentado no Anexo B um manifesto SCORM de uma possível exportação<strong>da</strong>s apresentações de um curso presente na aplicação. Não foi desenvolvido o código que gere omanifesto e que cria o pacote de conteúdos, mas foram previstos os <strong>da</strong>dos contendo a informaçãomínima para que, futuramente, tal seja possível implementar sem interferir no modelo de <strong>da</strong>dos.O manifesto SCORM apresentado na figura B-1 contém duas organizações para osconteúdos. A primeira com to<strong>da</strong>s apresentações dos diversos cursos e numa segun<strong>da</strong> organizaçãoapenas as apresentações referentes a um curso (LEI). Os recursos representam to<strong>da</strong>s asapresentações com os seus materiais.O ficheiro base é um documento SMIL, que contém to<strong>da</strong> a informação para a sincronização, acomposição e a interacção, dos media <strong>da</strong> apresentação. Este ficheiro terá associado o vídeo, aapresentação (imagens) e outros documentos que porventura existam.6.2 Apresentação do sistemaA presente secção visa mostrar o sistema desenvolvido, tendo por base as especificações docapítulo anterior. Por o tempo destinado a desenvolver um trabalho deste género apenas permitiralgumas semanas de implementação, escolheu-se para esta componente do desenvolvimento umaparte relevante para os temas principais desta dissertação: o vídeo, a sua composição,sincronização e interactivi<strong>da</strong>de.A opção de implementação para o tempo que durou esta dissertação recaiu sobre ascomponentes específicas do utilizador/aluno, e tendo-se escolhido os seguintes espaços deinVídeo: uma aplicação de vídeo interactivo sobre a Internet 88


Implementação do sistema inVídeointeracção, identificados na figura 5-8 dentro de rectângulos com limite tracejado: ‘Realiza Sessão’,‘Lista de Cursos’, ‘Lista de Módulos’, ‘Lista de Sessões’, ‘Detalhe Nota’ e ‘Acesso’. A escolha destesespaços de interacção levou à necessi<strong>da</strong>de de implementar um conjunto mínimo de controlos e deenti<strong>da</strong>des. Os controlos foram os seguintes: UtilizadorHandler, CursoHandler e NotaHandler. Osrestantes controlos como não têm relação com estes espaços de interacção não foramimplementados nesta fase. As enti<strong>da</strong>des implementa<strong>da</strong>s foram as relaciona<strong>da</strong>s com os controlosescolhidos antes, ou seja, to<strong>da</strong>s as enti<strong>da</strong>des excepto as relaciona<strong>da</strong>s com as mensagens. A figura 5-8 apresenta os elementos referidos a negrito e com uma linha mais espessa.A apresentação dos componentes que constituem nesta fase o sistema inVídeo passará pelosecrãs construídos para a aplicação cliente e alguns excertos do código também <strong>da</strong> aplicação clientee <strong>da</strong>s bibliotecas do servidor.6.2.1 Diagrama de componentesO título desta secção deveria ser Diagramas de implementação, e teria o objectivo deapresentar a estrutura dos componentes e do ambiente de execução, isto através dos diagramas decomponentes e de instalação. O diagrama de componentes mostraria a organização e asdependências entre os componentes (que podem ser código fonte, executáveis, bibliotecas). Odiagrama de instalação exporia a organização do hardware e <strong>da</strong> ligação do software ao hardware.O diagrama de componentes apresentado na figura 6-1, por incluir também algumainformação sobre o hardware existente no sistema, é o único diagrama exposto nesta secção, <strong>da</strong>ndolheo nome também.Cliente«Application»inVideo.swfServidor webhttp«Application»Servidor Web(Apache)Servidor Streamingrtmp«Application»Servidor Streaming(Flash Com. Serv.)«Document»[videos].flvBibliotecas«Libray»connection.inc«Libray»class.protect.inc«Libray»class.mysql.inc«Database»inVideo (MySQL)«Document»Pdfs, htmls, docs,etc...Handlers«Library»UtilizadorHandler.php«Library»NotaHandler.php«Library»CursoHandler.phpFigura 6-1 Diagrama de componentes do sistema inVídeoA figura 6-1 mostra os três conjuntos de componentes do sistema: o cliente, o servidor destreaming e o servidor web. O cliente terá apenas um ficheiro, em Flash, que permitirá ao utilizadorescolher e visualizar os conteúdos e que contém to<strong>da</strong> a parte <strong>da</strong> sincronização multimédia. Oservidor web conterá a aplicação Apache (servidor de páginas) e o conjunto de documentos queconstituem os handlers e as bibliotecas de apoio, principalmente aquela que faz a ligação à base de<strong>da</strong>dos. Por fim, existe ain<strong>da</strong> o servidor de streaming, que disponibilizará os vídeos mediante ospedidos.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 89


Implementação do sistema inVídeoOs servidores web e de streaming podem ser integrados apenas num servidor único, uma vezque os primeiros usam normalmente a porta 80 e os segundos usam outras portas, que no caso doFlash Communication Server é a 1935 (mas é conveniente os servidores de streaming tambémpoderem usar a porta 80 para evitar problemas de acesso a redes protegi<strong>da</strong>s com firewalls). Estaopção traz a vantagem de reduzir o custo do equipamento servidor a comprar, pois só seránecessário um. Mas a opção por uma máquina para todos os serviços também tem grandesdesvantagens tais como: a eficiência do servidor, comprometi<strong>da</strong> pela acumulação de serviçosactivos; e não permitir ao serviço de streaming o uso <strong>da</strong> porta 80 (ocupa<strong>da</strong> pelo servidor depáginas), impedindo por vezes o acesso aos conteúdos por parte de utilizadores de redes cujasfirewalls não permitam a troca de <strong>da</strong>dos excepto em portas bem conheci<strong>da</strong>s, como é o caso <strong>da</strong> porta80.6.2.2 Ecrãs <strong>da</strong> aplicação clienteOs ecrãs construídos para a aplicação cliente foram os seguintes: acesso, onde se faz aintrodução dos <strong>da</strong>dos de identificação do utilizador e se desencadeia a verificação, que, no caso desucesso, permite aceder à restante aplicação; lista de cursos, onde se apresentam os cursos nosquais o utilizador está inscrito, permitindo a consulta do detalhe de ca<strong>da</strong> um deles e o acesso aosmódulos e sessões que o constituem; lista de módulos e de sessões, funcionalmente semelhante aoecrã lista de cursos, mas neste caso com os módulos e as sessões; e realiza sessão, onde avisualização do vídeo e <strong>da</strong> apresentação acontece e onde existem as diferentes possibili<strong>da</strong>des deinteracção.De segui<strong>da</strong> apresentam-se as imagens <strong>da</strong>s capturas dos ecrãs, enumera<strong>da</strong>s na lista anterior,de situações de utilização normal <strong>da</strong> aplicação por parte de um utilizador de teste.6.2.2.1 Ecrã de acessoO ecrã apresentado na figura 6-2 é o mais simples <strong>da</strong> aplicação, contendo poucos elementos efunções.Figura 6-2 Ecrã de acesso à aplicaçãoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 90


Implementação do sistema inVídeoA ca<strong>da</strong> utilizador será atribuído um nome e uma palavra-chave, que lhe permitiráidentificar-se perante o sistema. Este par de <strong>da</strong>dos irá permitir ao utilizador aceder ao ecrãseguinte e a todos os ecrãs <strong>da</strong> aplicação definidos para a sua categoria de utilizador.A análise à arquitectura conceptual, apresenta<strong>da</strong> na figura 5-8, mostra que este ecrãimplementa a vista ‘Acesso’ e a tarefa ‘Inserir Dados Identificação’. O controlo que contém ospassos para a verificação é o ‘UtilizadorHandler’, e estes passos estão definidos através <strong>da</strong> função‘verificaUtilizador’. Para este exemplo apenas são necessárias duas enti<strong>da</strong>des, Utilizador e Acesso.A primeira para comparação dos <strong>da</strong>dos e a segun<strong>da</strong> para registo do resultado e <strong>da</strong> <strong>da</strong>ta do acesso.6.2.2.2 Ecrã dos cursosO ecrã apresentado na figura 6-3 apresenta ao utilizador as seguintes informações: lista decursos em que está inscrito, <strong>da</strong>tas de início e de término dos cursos e tipo de inscrição 1 . Outilizador poderá ain<strong>da</strong> consultar informações mais detalha<strong>da</strong>s sobre um curso, fazendo para issoa sua selecção na lista.Figura 6-3 Ecrã com a lista de cursosA relação <strong>da</strong> implementação deste ecrã com a arquitectura conceptual (figura 5-8) que oorigina é de verificação simples. O espaço de interacção e a tarefa implementa<strong>da</strong> são,respectivamente, ‘Lista de Cursos’ e ‘Seleccionar Curso’. Utiliza o controlo ‘CursoHandler’,nomea<strong>da</strong>mente as suas funções ‘listaCursos’ e ‘detalheCurso’, e as enti<strong>da</strong>des Inscrição e Curso.Surgem neste ponto elementos que estarão presentes em todos os ecrãs, como informaçãocomplementar e botões com funções diversas.A informação complementar, no caso deste ecrã, é a identificação do utilizador e a <strong>da</strong>ta ehora do último registo de um acesso seu (possibilitando ao utilizador uma forma de confirmar quenão existe utilização abusiva dos seus <strong>da</strong>dos de acesso). Noutros ecrãs surge a identificação docurso ou do módulo e <strong>da</strong> sessão, conforme esteja, respectivamente, no ecrã de módulos e sessões1que podem ser: livres e inscrição. Nos primeiros o acesso é livre a todos os utilizadores, para os segundos é necessáriouma inscrição.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 91


Implementação do sistema inVídeo(figura 6-4) ou no ecrã <strong>da</strong> lição (figura 6-5).Os botões terão algumas funções de navegação entre os ecrãs relacionados com o curso(curso, módulo e lição) e de acesso aos ecrãs <strong>da</strong>s mensagens. Mediante o ecrã <strong>da</strong> aplicação em queo utilizador se encontre assim este terá mais ou menos botões. O botão mais à direita, sair (X),presente em todos os ecrãs excepto no ’Acesso’, significa voltar ao ecrã de acesso e terminar asessão. O botão voltar (


Implementação do sistema inVídeointeracção e não ecrãs, e na construção dos espaços de interacção foram detecta<strong>da</strong>s as dificul<strong>da</strong>dese limitações dessa opção, tendo-se decidido fazer a agregação dos dois espaços de interacção, como resultado apresentado na figura 6-3. O modelo de apresentação para o aluno, secção 5.9 , mostraain<strong>da</strong> a opção dos dois ecrãs na estrutura de navegação, mas tal não condiciona nem obriga àexistência de dois ecrãs, apenas aponta para a forma <strong>da</strong> navegação.A restante relação com a arquitectura conceptual é feita de forma similar à exposta no caso<strong>da</strong> lista de cursos. As vistas e as tarefas implementa<strong>da</strong>s são, respectivamente, as seguintes: ‘Listade Módulos’ e ‘Lista de Sessões’, e ‘Seleccionar Módulo’ e ‘Seleccionar Sessão’. O controlo utilizadoé o mesmo do ecrã dos cursos, o ‘CursoHandler’, mas as funções diferem, sendo utilizado nestecaso as seguintes: a ‘listaModulos’, a ‘detalheModulo’, a ‘listaSessoes’ e a ‘detalheSessao’. Asenti<strong>da</strong>des usa<strong>da</strong>s foram o Módulo e a Sessão.6.2.2.4 Ecrã <strong>da</strong> liçãoA figura 6-5 apresenta o ecrã onde se realiza a lição, e mostra, claramente, quatro zonas. Asduas mais importantes, na parte superior do ecrã, são o vídeo e a apresentação. Na parte inferiorencontram-se as notas e os documentos de apoio. As acções, ou botões, presentes encontram-seto<strong>da</strong>s junto ao vídeo e estão basicamente agrupa<strong>da</strong>s em três categorias: vídeo, lição e notas (nesteúltimo grupo apenas existe um botão para a introdução de notas).Figura 6-5 Ecrã <strong>da</strong> realização de uma liçãoAs dimensões do vídeo e <strong>da</strong> apresentação foram pondera<strong>da</strong>s de forma a <strong>da</strong>r ênfase àinformação visual mais importante, o que acontece com a apresentação. O ambiente de utilizaçãobase sobre o qual foi feita a análise é o orador a descrever um tema cujos tópicos e/ou descriçõesestão na apresentação. Mas no caso de existir uma lição que contenha um vídeo cuja visualizaçãoseja importante e a apresentação secundária, estes elementos podem ser trocados durante avisualização.As notas estão sincroniza<strong>da</strong>s com as apresentações, isto é, a informação de ca<strong>da</strong> nota reflecteum comentário sobre a apresentação que estiver no momento no ecrã. Os documentos são simplesinVídeo: uma aplicação de vídeo interactivo sobre a Internet 93


Implementação do sistema inVídeoficheiros que podem ser descarregados para o computador do utilizador, e são os documentos queo docente, que definiu a sessão, seleccionou.Os comandos do vídeo são os botões normais de um objecto deste tipo. Têm afuncionali<strong>da</strong>de de avançar/pausar a imagem, a possibili<strong>da</strong>de de definir a intensi<strong>da</strong>de do áudio euma barra de navegação que permite passar directamente para um momento específico do vídeo.O grupo de três botões entre as notas e o vídeo têm a função de personalizar a composição doselementos, mas restritos a algumas possibili<strong>da</strong>des. O botão mais à esquer<strong>da</strong> permitedesactivar/activar as legen<strong>da</strong>s, quando existem. O botão do meio permite trocar o vídeo com aapresentação. E o botão mais à direita dá acesso à lista <strong>da</strong>s apresentações (não presente na figura 6-5). A selecção de um item dessa lista permite que a visualização “salte” para esse momento.A entra<strong>da</strong> neste ecrã desencadeia a execução do vídeo (por omissão), e os elementosapresentação e notas vão sendo alterados continuamente. Podemos em qualquer altura <strong>da</strong>visualização usar um dos botões descritos. A introdução <strong>da</strong>s notas é feita numa janelaindependente que surge integra<strong>da</strong> no ecrã e terá uma caixa de selecção para optar por manter anota priva<strong>da</strong> (opção por omissão) ou pública. Por fim, neste ecrã, existe a opção que permitedescarregar os documentos que tenham sido introduzidos pelo docente que criou e/ou gere asessão.A análise comparativa deste ecrã com a fase <strong>da</strong> especificação será feita de duas formas, aprimeira semelhante à que foi usa<strong>da</strong> para os outros ecrãs e uma segun<strong>da</strong> forma por análise aoespaço de interacção apresentado na figura 5-11.Na primeira forma, a análise com a arquitectura conceptual mostra que para definir esteespaço de interacção, com algum simplismo, existem a vista ‘Realizar Sessão’ e a tarefa ‘InteragirSessão’. Como foi descrito na secção 5.3 a sessão poderá ser de três tipos: lição, treino e avaliação.A especificação apenas foi defini<strong>da</strong> até ao ponto <strong>da</strong> sessão e a especificação de ca<strong>da</strong> uma <strong>da</strong>s suascomponentes apenas acontece em alguns modelos, como no espaço de interacção ‘Realizar Lição’,apresentado na figura 5-11. Os controlos usados neste caso são o ‘CursoHandler’ e o’NotaHandler’, e as funções usa<strong>da</strong>s são, respectivamente, ‘<strong>da</strong>dosSessao’ e ‘listaNotas’, paracarregar a sessão. Durante a visualização pode ain<strong>da</strong> ser invocado o ‘guar<strong>da</strong>Nota’ do controlo‘NotaHander’. As enti<strong>da</strong>des que participam na construção e durante a sessão são as seguintes:Documento, Sessão, Nota e o Servidor de Streaming.O detalhe de ca<strong>da</strong> modelo foi ponderado no momento do seu projecto (justificação na secção5.11). No caso <strong>da</strong>s enti<strong>da</strong>des Documento e Sessão, na arquitectura conceptual (figura 5-8), estas nãosignificaram uma enti<strong>da</strong>de ca<strong>da</strong>, mas um conjunto de enti<strong>da</strong>des que nesse caso foramsimplifica<strong>da</strong>s. O conhecimento completo <strong>da</strong>s enti<strong>da</strong>des que constituem o Documento e Sessãopode ser obtido consultando o diagrama de classes do sistema, presente na secção 5.7 e na figura 5-8.Quanto à segun<strong>da</strong> forma, o espaço de interacção <strong>da</strong> figura 5-10 e o ecrã apresentado nafigura 6-5 são, respectivamente, a especificação e a implementação do modelo. A semelhançaconceptual <strong>da</strong>s figuras é grande e poderemos rapi<strong>da</strong>mente identificar a forma com foi transposto oconceito para a reali<strong>da</strong>de. O uso <strong>da</strong> notação de Constantine não pretende que os esquemasinVídeo: uma aplicação de vídeo interactivo sobre a Internet 94


Implementação do sistema inVídeoreflictam na perfeição o interface a implementar, o que pretende é definir uma lista dos elementosque devem estar presentes no ecrã e deixar alguns apontamentos sobre a composição, mantendodesta maneira uma comunicação entre quem projecta e quem irá implementar.6.2.3 Excertos do códigoAs linguagens escolhi<strong>da</strong>s para a implementação do sistema foram várias. Para odesenvolvimento <strong>da</strong> aplicação cliente foi usado o ambiente gráfico Macromedia Flash MX (Flash),que usa a linguagem ActionScript (basea<strong>da</strong> na norma ECMA-262) para a implementação defuncionali<strong>da</strong>des, principalmente as não gráficas. Para o servidor foi escolhi<strong>da</strong> a linguagem PHPHypertext Preprocessor (PHP) para a implementação <strong>da</strong>s bibliotecas. Foi ain<strong>da</strong> usa<strong>da</strong> a linguagemSQL para questionar o motor de base de <strong>da</strong>dos MySQL.O código mais relevante surge na implementação <strong>da</strong> sincronização, <strong>da</strong>s comunicações e doscontrolos. A implementação <strong>da</strong> sincronização é feita tendo como referência o vídeo, e agrega osslides, as legen<strong>da</strong>s e as notas. A relevância do código <strong>da</strong>s comunicações deve-se à implementação<strong>da</strong> ligação entre diferentes linguagens. O código dos controlos é importante porque implementa asfuncionali<strong>da</strong>des do sistema defini<strong>da</strong>s na especificação.6.2.3.1 Implementação <strong>da</strong> sincronizaçãoO código <strong>da</strong> sincronização, em ActionScript, foi introduzido na aplicação cliente e é utilizadoapenas no ecrã <strong>da</strong> lição. É executado após a recepção dos <strong>da</strong>dos <strong>da</strong> base de <strong>da</strong>dos com ainformação de sincronização para os diversos elementos, que são o vídeo, os slides (ou aanimação), as legen<strong>da</strong>s e as notas. O tempo de referência usado é o tempo do vídeo, e todo aanimação dos diversos media acontece com o desenrolar do filme. Na entra<strong>da</strong> <strong>da</strong> lição o vídeo éiniciado imediatamente (por omissão), e é desencadeado um par de processos que numa baseregular (segundo a segundo, porque é o detalhe mínimo do tempo do vídeo) actualiza os váriosmedia. As linhas seguintes contêm a secção de código onde os processos são lançados:...if(GLB_ar_slides.length>0){ // Lançar o processo que actualizará os slides e notasGLB_int_Apr = setInterval(actualizaApresentacao, 1000);}if(GLB_ar_legen<strong>da</strong>s.length>0){ // Lançar o processo que actualizará as legen<strong>da</strong>sGLB_int_Leg = setInterval(actualizaLegen<strong>da</strong>s, 1000)}...Os procedimentos que actualizam os elementos obtêm o valor actual <strong>da</strong> posição do vídeo emediante esse tempo definem qual o conteúdo a apresentar. O código seguinte apresenta aactualização dos slides e <strong>da</strong>s notas (a razão do tratamento ser simultâneo é devido à relaçãoexistentes entre ambos, ou seja, uma nota está sempre associa<strong>da</strong> a um slide – ver figura 5-8).// Função que será chama<strong>da</strong> regularmente para actualizar a apresentaçãofunction actualizaApresentacao(){var actualTime = myVideo_md.playheadTime; //obter o tempo actual do vídeovar i, k;var vs_aux = "";inVídeo: uma aplicação de vídeo interactivo sobre a Internet 95


Implementação do sistema inVídeofor (i=0;i GLB_ar_slides[i]["Inicio"]){ // Verificação do tempo actualGLB_slide=GLB_ar_slides[i]["Posica"]; // e do tempo do slideGLB_ID_slide=GLB_ar_slides[i]["Sli_ID"];vs_aux = "";for (k=0;k


Implementação do sistema inVídeo− uma função que fará a gestão dos <strong>da</strong>dos recebidos, ficando à escuta dos <strong>da</strong>dos que serãoenviados do servidor. O código seguinte é um exemplo que complementa o códigoanterior, ou seja, recebe e trata os <strong>da</strong>dos criados pelas funções PHP, e enviados peloservidor. A explicação está nos comentários ao código:function gereVerUtilizador() {vi_result = this['resultado']; // this refere-se ao array construído// com os <strong>da</strong>dos enviados pelo servidorGLB_nome = this['nome'];// Dados recebidos:GLB_id = this['id'];// resultado: se acesso teve sucessoGLB_entra<strong>da</strong> = this['entra<strong>da</strong>']; // id e nome no caso de sucessoGLB_ultAcesso = this['ult_acesso'] // ultimo acesso para informaçãoif (vi_result>0) {// Caso tenha sucesso avançagotoAndStop("ecra_cursos", 1); // para o ecrã de cursos} else { // Senão é informado o erro eswitch (vi_result) { // mantém-se no ecrã de acessocase "-1":txt_avisos.text = "Utilizador Desconhecido!";break;case "-2":txt_avisos.text = "Chave Erra<strong>da</strong>!";break;default:txt_avisos.text = "Erro de base de <strong>da</strong>dos!";break;}txt_pass.text = ""; // Limpar as caixas de textotxt_log.text = "";}}6.2.3.3 Implementação dos controlosA linguagem escolhi<strong>da</strong> para implementar os controlos foi o PHP. As funções de acesso aos<strong>da</strong>dos e a forma como estes devem ser acedidos estão em ficheiros PHP, ca<strong>da</strong> um representandoum controlo definido na arquitectura conceptual (secção 5.10).O código seguinte apresenta excertos <strong>da</strong> função ‘verificaUtilizador’, que faz parte docontrolo ‘UtilizadorHandler’. Os comentários explicam o funcionamento <strong>da</strong> função.function verificaUtilizador ( $in_acesso, $in_chave ) {...... // Código para acesso à base de <strong>da</strong>dos// Nova ligação à base de <strong>da</strong>dos$mysql=New mysql($vs_host,$vs_user,$vs_pass,$vs_DB,0);// Questão <strong>da</strong> existência do utilizador$vs_sql="SELECT * FROM Utilizador WHERE acesso='".$in_acesso."'";$mysql->query($vs_sql); // Executar a questão à base de <strong>da</strong>dos$num=$mysql->num_rows(); // Número de registos encontrados...... // Dados para registo <strong>da</strong> entra<strong>da</strong>if ($num==0) {$rstring = "&resultado=-1"; // Devolver que o utilizador não existeregistaEntra<strong>da</strong>(99999,-1,$vs_entra<strong>da</strong>,'['.$in_acesso.']['.$in_chave.']');} else { // Utilizador existe, verificar password...... // Dados do utilizador (inclui password)if ( $vs_aux_chave != $in_chave ) { // Caso <strong>da</strong> Password Erra<strong>da</strong>$vs_aux_result = -2; $rstring = "&resultado=$vs_aux_result";} else { // Caso <strong>da</strong> Password certa$rstring = "&resultado=4&id=$vs_aux_ID&nome=$vs_aux_nome&entra<strong>da</strong>=$vs_entr";$vs_aux_result = 4;}$rstring.="&ult_acesso=".ultimaEntra<strong>da</strong>($vs_aux_ID);inVídeo: uma aplicação de vídeo interactivo sobre a Internet 97


Implementação do sistema inVídeo}registaEntra<strong>da</strong>($vs_aux_ID,$vs_aux_result,$vs_entra<strong>da</strong>,'');}$mysql->end_db();// Terminar a ligação à base de <strong>da</strong>dosecho $rstring;// Enviar a mensagem para o FlashNesta função tem também o envio dos <strong>da</strong>dos para o cliente Flash que assim completa o ciclo<strong>da</strong>s comunicações iniciado com os excertos de código apresentados na secção 6.2.3.1 . O textoconstruído e enviado será recebido no cliente sob a forma de um vector, do qual se poderá retirar ainformação que se pretende. A string que resulta <strong>da</strong> linha “$rstring="&resultado=4...”; docódigo anterior é enviado via HTTP e é interpreta<strong>da</strong> no cliente Flash como um vector com oselementos ‘resultado’, ‘id’, ‘nome’ e ‘entra<strong>da</strong>’, como pode ser verificado no código sobre a gestão<strong>da</strong> recepção dos <strong>da</strong>dos <strong>da</strong> secção 6.2.3.1 , nas linhas onde aparece: this[‘xpto’].No código anterior <strong>da</strong> função ‘verificaUtilizador’, algumas linhas foram omiti<strong>da</strong>s por razõesde espaço e de relevância. Enumeram-se de segui<strong>da</strong> os casos em que isso se verificou e qual oobjectivo do código omitido:− a obtenção dos <strong>da</strong>dos de acesso à base de <strong>da</strong>dos, por estarem definidos num ficheiro deparametrização, garantindo, assim, facili<strong>da</strong>de de configurar to<strong>da</strong> a aplicação para outroutilizador e/ou servidor;− o registo <strong>da</strong> entra<strong>da</strong>, que guar<strong>da</strong> os <strong>da</strong>dos de todos os acessos (quer tenham tido sucessoou não);− e a obtenção dos <strong>da</strong>dos do utilizador que está a ser verificado, quer para vali<strong>da</strong>ção <strong>da</strong>palavra chave (que será decifra<strong>da</strong>), quer para o envio dos <strong>da</strong>dos do utilizador para onavegador e <strong>da</strong>í para a aplicação cliente.Uma desvantagem na utilização deste conjunto de ferramentas é não existir um ambiente dedesenvolvimento integrado, tornando por vezes o processo de debug (teste detalhado do código)bastante complexo e por vezes extremamente moroso. As linguagens escolhi<strong>da</strong>s têm sintaxessemelhantes a tantas outras (como C, C++ e/ou JavaScript), o que permitirá uma a<strong>da</strong>ptação rápi<strong>da</strong> aprogramadores inexperientes.6.3 Utilização <strong>da</strong> aplicaçãoO objectivo desta secção é apresentar alguns <strong>da</strong>dos sobre a utilização do sistema. Para isso,recorreu-se à construção de um conjunto de lições e a um inquérito (presente no Anexo Cjuntamente com as respostas obti<strong>da</strong>s). Neste inquérito foi pedido a um conjunto de utilizadoresque após a visualização <strong>da</strong>s lições fornecessem informações sobre si, sobre os seus meiosinformáticos e, sobretudo, sobre diversos aspectos <strong>da</strong> sua experiência com o sistema.Os conteúdos construídos basearam-se nas apresentações de um projecto prático <strong>da</strong>disciplina de Engenharia de Redes de Dados, presente em diversos cursos <strong>da</strong> <strong>Universi<strong>da</strong>de</strong> <strong>da</strong><strong>Madeira</strong> (UMa). A construção passou pela filmagem, produção e introdução <strong>da</strong>s apresentações noinVídeo: uma aplicação de vídeo interactivo sobre a Internet 98


Implementação do sistema inVídeosistema e foram criados acessos para todos os alunos poderem rever o seu trabalho. Após avisualização foi pedido aos alunos que respondessem a um pequeno conjunto de questõesinseri<strong>da</strong>s num inquérito que procurava identificar os seguintes aspectos:− as características técnicas mínimas para uma visualização aceitável;− a experiência dos utilizadores na utilização de vídeo e áudio sobre a Internet;− a quali<strong>da</strong>de <strong>da</strong> visualização do vídeo e <strong>da</strong> apresentação;− a sua opinião sobre a relevância dos diferentes componentes <strong>da</strong> aplicação.Para além dos alunos, pediu-se a um conjunto diverso de pessoas, de diferentes áreas, paravisualizarem a aplicação e responderem ao inquérito. O domínio <strong>da</strong>s pessoas que participaramnesta visualização foi restrito, o que determinou que a análise e apreciação dos resultados dosinquéritos fosse realiza<strong>da</strong> tendo presente esta reali<strong>da</strong>de. O domínio era constituído principalmentepor pessoas <strong>da</strong> UMa: alunos, docentes e funcionários.Os utilizadores criados no sistema, ou seja, as pessoas que participaram nesta avaliaçãoforam trinta e quatro e, destas, onze responderam ao inquérito.Nas figuras 6-6 B, C e D os resultados apresentam o número de respostas obti<strong>da</strong>s em ca<strong>da</strong>categoria. Nas figuras 6-6 A e 6-7 os resultados reflectem o valor <strong>da</strong> soma <strong>da</strong>s respostas obti<strong>da</strong>s,atribuindo a ca<strong>da</strong> opção um valor entre -2 e 2 (o valor -2 foi para mau/pouco e 2 foi parabom/muito).6.3.1 Utilizadores e características técnicasA caracterização dos utilizadores (figura 6-6 A) revelou que, na sua quase totali<strong>da</strong>de, têmbons conhecimentos no uso dos computadores e <strong>da</strong> Internet. Também revelou que já têm algumaexperiência no uso de vídeo e áudio sobre a Internet, mas muito menor, havendo mesmo casoscujo contacto era quase nulo.O sistema operativo dominante foi o Microsoft Windows, havendo apenas um inquirido queacedeu com um sistema diferente, o MacOS X. Relativamente aos computadores, na suagenerali<strong>da</strong>de, os utilizadores usaram na visualização máquinas com as seguintes característicasmínimas (figura 6-6 C e D): processadores de 500 a 1399 MHz, memórias superiores a 128MB ediscos rígidos superiores a 40 GB. Mas na sua maioria tinham características superiores deprocessador e de memória.O acesso à aplicação (figura 6-6 B) foi maioritariamente a partir <strong>da</strong> rede <strong>da</strong> UMa (100 Mbps) ede casa, usando tecnologias de ban<strong>da</strong> larga (ADSL e rede Cabo). Apenas dois inquiridos usaramacessos diferentes: o telefónico e a RDIS (tendo identificado, respectivamente, as veloci<strong>da</strong>des de 44Kbps e 64 Kbps).O plug-in necessário para a execução <strong>da</strong> aplicação estava instalado em todos oscomputadores e apenas dois inquiridos não tinham a última versão. Dos dois um fez a instalação eo outro não necessitou de proceder à actualização para poder executar a aplicação.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 99


Implementação do sistema inVídeoA) Conhecimentos e Uso <strong>da</strong> InternetB) Redes de acessoSoma <strong>da</strong>s respostas20151050Computadores Áudio VídeoNúmero de respostas6543210Telefone ADSL Cabo LAN RDISC) Veloci<strong>da</strong>de de ProcessadorD) Memória dos computadoresNúmero de respostas76543210=2400 MHzNúmero de respostas543210=1024 MBFigura 6-6 Conhecimentos dos utilizadores e características dos computadores e acessosOs primeiros três pontos que se desejavam avaliar acabaram por estar parcialmentecondicionados, uma vez que:− a generali<strong>da</strong>de dos inquiridos são, como seria de esperar,computador e Internet;experientes no uso do− acederam, na sua maioria, de uma rede interna a 100 Mbps;− e com terminais cujas características são aceitáveis, ou seja, terminais com um ou doisanos no máximo.Conhecer a opinião de pessoas com experiências e conhecimentos diversos (principalmentemenores), com acessos mais fracos e computadores mais modestos, seria muito relevante, mas talnão foi possível. Os <strong>da</strong>dos que se apresentam de segui<strong>da</strong> devem ser lidos tendo presente estareali<strong>da</strong>de.6.3.2 Apreciação <strong>da</strong> utilização <strong>da</strong> aplicaçãoOs <strong>da</strong>dos importantes foram divididos em duas categorias. Por um lado descobrir o tempode resposta e a quali<strong>da</strong>de <strong>da</strong> visualização e, por outro, identificar os componentes mais relevantes.Sobre a primeira categoria, e mais especificamente sobre o tempo de resposta, os resultadosforam praticamente todos bons. Apenas uma resposta (o utilizador com o acesso telefónico)considerou médio tanto o tempo de resposta no aparecimento <strong>da</strong>s listagens como do início <strong>da</strong>sessão. A quali<strong>da</strong>de <strong>da</strong> visualização teve resultados semelhantes, assim sendo, a quali<strong>da</strong>de <strong>da</strong>visualização do vídeo e <strong>da</strong> apresentação também foram considera<strong>da</strong>s genericamente boas, masapresentando para o vídeo alguns resultados inferiores, nunca baixando <strong>da</strong> classificação média, ouseja, sempre positivos.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 100


Implementação do sistema inVídeoA segun<strong>da</strong> categoria, relevância dos diversos componentes, já apresentou resultados maisdiversos. A maioria dos componentes teve resultados positivos, isto é, foram considerados comoimportantes nesta aplicação, e apenas diferiu o grau de importância que lhes foi atribuído.Apresentam-se de segui<strong>da</strong> os resultados <strong>da</strong> análise à relevância dos componentes. Oinquérito pedia aos inquiridos uma avaliação entre mau e bom. Relacionaram-se valores entre -2,para mau, e 2, para bom, e obteve-se os resultados apresentados na figura 6-7.Análise <strong>da</strong> Relevância dos Componentes20Soma <strong>da</strong>s respostas151050-5-10Vídeo Apresentação Download Mensagens Mensagens RT Notas Legen<strong>da</strong>sFigura 6-7 Gráfico com os valores obtidos por ca<strong>da</strong> componenteOs componentes com resultados positivos foram os seguintes: vídeo, apresentação, downloadde documentos e mensagens. O vídeo e a apresentação foram os componentes com os melhoresresultados enquanto que o download de documentos e as mensagens (e-mail e tempo real)obtiveram resultados ligeiramente inferiores. Os componentes com resultados negativos foram asnotas e as legen<strong>da</strong>s, tendo as últimas os piores resultados 2 . Destes resultados deduz-se que esteselementos foram considerados pouco importantes para os utilizadores.Alguns <strong>da</strong>dos importantes retirados dos inquéritos partiram <strong>da</strong>s sugestões e doscomentários. De entre as sugestões destacam-se propostas interessantes para novasfuncionali<strong>da</strong>des que nunca estiveram previstas e que poderão ser considera<strong>da</strong>s em futurasimplementações:− avisos automáticos <strong>da</strong>s alterações de conteúdos para os utilizadores;− implementação de um fórum;− visualizar o vídeo usando o ecrã inteiro.6.3.3 Análise aos resultados do inquéritoApesar <strong>da</strong>s condicionantes já referi<strong>da</strong>s, a opinião geral foi muito positiva, tanto na utilizaçãocomo na classificação dos componentes e funcionali<strong>da</strong>des.O acesso ao sistema a partir de redes de ban<strong>da</strong> larga e de uma rede interna mostrou-sesuficiente para as taxas de codificação usa<strong>da</strong>s (máximo 300 Kbps). O acesso de tecnologias comlarguras de ban<strong>da</strong> menores aumenta os tempos de espera e as interrupções nos vídeos,degra<strong>da</strong>ndo de forma considerável a quali<strong>da</strong>de <strong>da</strong> visualização.2As legen<strong>da</strong>s não foram introduzi<strong>da</strong>s nos conteúdos produzidos para este teste, impossibilitando um contacto por partedos utilizadores, ou seja, não puderam ver a forma como estas apareceriam na aplicaçãoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 101


Implementação do sistema inVídeoNenhum inquirido acedeu de computadores antigos, mas durante o desenvolvimentoalgumas experiências mostraram que máquinas com características de processamento e dememória abaixo, respectivamente, dos 500 MHz e dos 128 MB apresentavam algumas falhas navisualização e sincronização dos elementos. To<strong>da</strong>via não podemos comprová-lo nestes inquéritos,mas ficou a garantia de que acima dos 500 MHz e 128 MB, no caso destes utilizadores, a aplicaçãofuncionou sem grandes atrasos e problemas.A notas e legen<strong>da</strong>s deverão ser repensa<strong>da</strong>s, por não colherem muitas opiniões positivas,comprovando-se também pelo pouco uso (apenas foram introduzi<strong>da</strong>s algumas notas entre asdezenas de visualizações que foram efectua<strong>da</strong>s).6.4 ConclusãoEste capítulo visou apresentar a concretização do sistema especificado no capítulo 5,iniciando-se com a fun<strong>da</strong>mentação <strong>da</strong>s escolhas tecnológicas para a sua implementação. Após asecção <strong>da</strong>s opções tecnológicas apresentou-se o sistema desenvolvido, através do diagrama decomponentes, de alguns ecrãs e de excertos de código. Terminou com a descrição e resultados deum inquérito feito a um conjunto de utilizadores que se disponibilizaram para testar a aplicação.A escolha <strong>da</strong>s tecnologias foi um processo moroso e complexo que obrigou a ponderar ca<strong>da</strong>uma delas sob diferentes vertentes. As mais importantes foram as funcionali<strong>da</strong>des e a adequaçãode ca<strong>da</strong> opção numa <strong>da</strong><strong>da</strong> situação, segui<strong>da</strong>s do seu custo. O custo não se baseou apenas numaóptica <strong>da</strong> compra e/ou licenciamento, mas também no tempo que seria necessário paraimplementar o sistema com uma <strong>da</strong><strong>da</strong> tecnologia, ou seja, nas nossas competências em ca<strong>da</strong>ferramenta, linguagem e norma.A apresentação do sistema foi feita recorrendo à descrição de alguns ecrãs e àsfuncionali<strong>da</strong>des que lhe estão associa<strong>da</strong>s, relacionando-os com a especificação defini<strong>da</strong> no capítuloanterior. Foram também apresentados excertos de código explicando como a interligação dos<strong>da</strong>dos entre diferentes linguagens foi feita e, por fim, um diagrama com os componentes principaisdo sistema.O inquérito realizado a um conjunto de utilizadores revelou o grau de satisfação (que foipositivo) na utilização do sistema. Ajudou também a detectar os elementos de maior e menorinteresse, e, igualmente muito importante, identificou as características mínimas dos terminais dosutilizadores, que garantem um bom funcionamento <strong>da</strong> aplicação cliente.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 102


7. ConclusõesO capítulo final apresenta as principais conclusões relativas aodesenvolvimento de aplicações multimédia, essencialmenteaquelas em que o vídeo é utilizado como media preferencial.Refere as facili<strong>da</strong>des técnicas existentes, actualmente, para osuporte de aplicações ricas, mas também mostra os limites queain<strong>da</strong> condicionam a utilização dos media ricos como o áudio e ovídeo. Ain<strong>da</strong> refere a importância <strong>da</strong> utilização dos meta<strong>da</strong>dos emambientes educacionais.Apresenta algumas conclusões sobre o sistema especificado edesenvolvido, basea<strong>da</strong>s nas opções sobre os métodos, ferramentase linguagens, e num inquérito aos utilizadores.Termina por fazer referência a futuros desenvolvimentos, quepassam, por um lado, pelo término <strong>da</strong> implementação do sistemae, por outro, pelo desenvolvimento de novas funcionali<strong>da</strong>des enovas aplicações.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 103


Conclusões7.1 ConclusõesA tarefa de desenvolver uma aplicação de vídeo sobre a Internet é um processo complicadoque envolve muitos factores. Desde os modos de transmissão até à definição de acordos para ofornecimento de serviços de rede, os pormenores envolvidos são muitos e abrangem muitas áreas.Mas, nos dias de hoje, a utilização do vídeo já está bastante simplifica<strong>da</strong> devido aos avançostecnológicos em diversas áreas.O streaming, codificação específica de <strong>da</strong>dos e seu envio recorrendo a um servidorespecializado, veio proporcionar novas formas de entrega e a difusão de novos conteúdos, como oseventos ao vivo e em tempo real e em simultâneo para muitos utilizadores, que não eram possíveiscom o anterior modo, o download, nem com a sua versão melhora<strong>da</strong>, o download progressivo. Ostreaming além destas novas possibili<strong>da</strong>des veio também aumentar e reforçar os mecanismos deprotecção dos direitos de autor dos conteúdos.Por outro lado, a relação entre o tamanho dos ficheiros de vídeo e a sua quali<strong>da</strong>de tem vindoa alterar-se de forma positiva. Os novos métodos de compressão escaláveis, conjugados com novasformas de controlo de congestão e de erros, permitem que a quali<strong>da</strong>de perceptível na visualizaçãodos vídeos seja ca<strong>da</strong> vez maior. A utilização de serviços de distribuição de media contínuos podemelhorar a eficiência do streaming sobre a Internet com o uso de: filtros de rede, que podem mediarsituações de congestão na rede; multicast a nível <strong>da</strong> aplicação, que permite a implementação domulticast sobre a Internet; e replicação de conteúdos, levando para mais próximo dos utilizadoresos <strong>da</strong>dos. A optimização do envio dos <strong>da</strong>dos de vídeo pelo servidor de streaming assume tambémum papel importante na quali<strong>da</strong>de <strong>da</strong> apresentação do vídeo. As melhorias nas políticas de gestãodos sistemas operativos e dos sistemas de armazenamento que manipulam <strong>da</strong>dos em tempo real,tornam ca<strong>da</strong> vez mais eficiente o uso do streaming, evitando situações de congestionamento a níveldo servidor.O aproveitamento dos recursos <strong>da</strong> rede é ca<strong>da</strong> vez mais eficaz, permitindo que num meioheterogéneo e que funciona como best-effort, como a Internet, possam passar <strong>da</strong>dos com eleva<strong>da</strong>sexigências sobre o atraso, variação do atraso e per<strong>da</strong>s. O uso de protocolos desenhados para otransporte e controlo de <strong>da</strong>dos em tempo real – como o RTP, RTCP e RTSP – é uma forma deultrapassar as dificul<strong>da</strong>des impostas pelas Internet.O uso de arquitecturas mais complexas é por vezes necessário. Os serviços integradospermitem a reserva de recursos numa rede, garantido, assim, alguns requisitos mínimos para os<strong>da</strong>dos em tempo real. As dificul<strong>da</strong>des dos serviços integrados com as redes de dimensão maiorpodem ser ultrapassa<strong>da</strong>s com uma arquitectura de serviços diferenciados, onde os pacotes sãomarcados de uma forma específica possibilitando a alguns um tratamento preferencial napassagem por uma rede.Se, e até agora, vimos as dificul<strong>da</strong>des em fazer chegar os <strong>da</strong>dos com a melhor quali<strong>da</strong>depossível, outras dificul<strong>da</strong>des aparecem na utilização de vários fluxos de forma simultânea, ou ditode outra forma, na utilização de multimédia, ou seja, de <strong>da</strong>dos com formatos e característicasinVídeo: uma aplicação de vídeo interactivo sobre a Internet 104


Conclusõesdistintas. De entre vários aspectos, destacam-se os seguintes: a composição, a sincronização e ainteracção multimédia.A norma SMIL, por intermédio de um conjunto de elementos e atributos XML, visa definiruma linguagem declarativa que permite cumprir com os requisitos para a construção de aplicaçõesmultimédia, ou seja, conter definições para compor, sincronizar e permitir interacção com os media.Com um estilo tipo HTML, foi defini<strong>da</strong> para ser uma linguagem simples, basea<strong>da</strong> em módulos esobre os quais um construtor de aplicações poderá escolher as funcionali<strong>da</strong>des mais adequa<strong>da</strong>spara um certo fim, recorrendo a um conjunto de perfis de implementação. Os variados gruposfuncionais cobrem praticamente to<strong>da</strong>s as necessi<strong>da</strong>des para o desenvolvimento de ambientesmultimédia ricos. Exemplos desses grupos são: a animação, o controlo do conteúdo, a ligação, astransições, e a temporização e sincronização, entre outros.O MPEG-4, uma família de normas, surgiu após os esforços de normalização na área dovídeo digital, que resultaram no MPEG-1 e MPEG-2. Enquanto estes últimos tiveram comoobjectivos principais a definição de sistemas de vídeo específicos, o MPEG-4, com uma visãoorienta<strong>da</strong> ao objecto, visa normalizar os elementos tecnológicos <strong>da</strong> produção, <strong>da</strong> distribuição e <strong>da</strong>apresentação de conteúdos multimédia interactivos. Saímos <strong>da</strong> visualização de um vídeorectangular para a integração de objectos multimédia no espaço e no tempo. O tratamento <strong>da</strong>composição <strong>da</strong>s cenas é por intermédio de um formato binário designado por BIFS, cuja origemestá no VRML. A sincronização básica é feita por marcação temporal dos fluxos, e existe um modoavançado, FlexTime, que permite sincronizar diversos fluxos de diferentes fontes. Esta últimasincronização é consegui<strong>da</strong> com técnicas que permitem a<strong>da</strong>ptar a duração dos media. A interacçãodo utilizador no MPEG-4 pode existir no lado do cliente e no servidor. No cliente podem seralterados alguns parâmetros dos nós e objectos (como: tornar visível/invisível, trocar a cor, alteraro tamanho, etc.), dependem contudo dos equipamentos terminais; no servidor, a interacção,baseia-se na estrutura de eventos do VRML.O SMIL tem como objectivo constituir uma linguagem completa para a descrição de cenasmultimédia ricas. O MPEG-4 cobre muitos aspectos <strong>da</strong> utilização de ambientes multimédia, masnão é uma solução específica para a apresentação de cenas multimédia [Bulterman 01]. A relaçãoentre estas normas surge no desenvolvimento coordenado de um formato textual, o XMT.O crescimento na quanti<strong>da</strong>de <strong>da</strong> informação torna fun<strong>da</strong>mental a utilização de métodos quepermitam a sua descrição e reutilização. Os meta<strong>da</strong>dos, como mecanismo que permite manter adescrição sobre os <strong>da</strong>dos, são essenciais na caracterização e na identificação <strong>da</strong> informação. Alémdestes benefícios, permitem a implementação de pesquisas e localização sobre essa mesmainformação.O Modelo de Referência de Conteúdos Reutilizáveis (SCORM) é uma norma especificamentedesenha<strong>da</strong> para gerir conteúdos educacionais, através <strong>da</strong> utilização <strong>da</strong> norma LOM do IEEE. Além<strong>da</strong> descrição completa dos conteúdos, a norma visa permitir a troca de conteúdos entre sistemaseducacionais distintos, recorrendo à definição de uma forma de os empacotar (os conteúdosempacotados podem ser desde uma lição simples até um ou vários cursos completos). O SCORMain<strong>da</strong> descreve a forma de sequenciar e navegar nos conteúdos. As regras de sequenciamentoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 105


Conclusõesbaseiam-se na norma Simple Sequencing do IMS. Esta define uma forma de representarcomportamentos pretendidos de um determinado conteúdo, de tal maneira que em diferentesLMSs a experiência de aprendizagem seja semelhante e consistente com a defini<strong>da</strong> pelo autor.Além <strong>da</strong> definição dos meta<strong>da</strong>dos o SCORM ain<strong>da</strong> define uma plataforma de execução para acomunicação entre os conteúdos e os sistemas de gestão de informação.A especificação do sistema inVídeo foi feita usando o método WISDOM [Nunes 01b]. Estepermitiu chegar a uma arquitectura conceptual do sistema a implementar, definindo um modelode <strong>da</strong>dos, os controlos necessários e as interacções com os utilizadores. Os esquemas apresentadosnão reflectem todo o trabalho feito, mas apenas os pontos essenciais e demonstrativos <strong>da</strong>especificação do sistema que se pretendia obter. Os casos de utilização mostram as funcionali<strong>da</strong>desque se pretendiam alcançar. A exploração <strong>da</strong>s activi<strong>da</strong>des identificou ca<strong>da</strong> um dos componentesnecessários. A partir <strong>da</strong> arquitectura obti<strong>da</strong> foi possível definir para a implementação quais oscomponentes a construir numa primeira fase. O modelo de apresentação e o refinamento dosespaços de interacção permitiram apoiar a definição <strong>da</strong> interacção com os utilizadores.Ao WISDOM era pedido que fosse um método leve de utilizar, mas também que garantisseum bom nível de quali<strong>da</strong>de na especificação. Sendo o processo WISDOM baseado num modelocentrado nos utilizadores, rápido, evolutivo, e flexível a nível <strong>da</strong>s alterações contínuas derequisitos, garantiu uma especificação completa e num tempo razoável, revelando-se, portanto,bastante adequado às características do projecto.A implementação iniciou-se com a escolha <strong>da</strong>s ferramentas e linguagens a utilizar. Adificul<strong>da</strong>de <strong>da</strong> escolha esteve na difícil integração de diferentes ferramentas e linguagens quepoderiam ser as melhores opções nas suas áreas, e em obter um conjunto que permitisse umdesenvolvimento mais simples e rápido. A análise de um grupo de ferramentas e linguagens,conjuga<strong>da</strong>s de forma independente e em grupos, levou à escolha de um grupo delas para odesenvolvimento e para o ambiente de produção do sistema. As opções mais importantes recaíramsobre as ferramentas <strong>da</strong> Macromedia, devido ao seu ambiente de desenvolvimento e à facili<strong>da</strong>de deintegração com o seu servidor de streaming. As restantes opções, como sistema operativo,linguagem de programação no servidor e motor de base de <strong>da</strong>dos, resultaram de razões deintegração, fiabili<strong>da</strong>de e custo.Pretendia-se que o sistema inVídeo fosse uma ferramenta que permitisse uma aprendizagemà distância usando o vídeo como media central. A aplicação desenvolvi<strong>da</strong> e o sistemaimplementado cumprem esse objectivo, permitindo assim que os utilizadores/alunos possamassistir a uma lição em vídeo acompanha<strong>da</strong> de informação complementar sob a forma de imagensou animações, textos e do descarregamento de documentos auxiliares. Apesar de existiremalgumas aplicações semelhantes (<strong>da</strong> Macromedia e <strong>da</strong> Microsoft, entre outras) para a apresentaçãode lições, não estão enquadra<strong>da</strong>s em sistemas mais completos e apenas permitem a criação deapresentações ‘avulsas’. O sistema inVídeo foi desenvolvido para se adequar a um ambiente ondeo processo de autoria de lições fosse o mais simplificado possível, visto que o tratamento <strong>da</strong>componente de vídeo ain<strong>da</strong> é um processo pouco comum para a maioria dos utilizadores. Seráain<strong>da</strong> necessário algum esforço, como a codificação do vídeo para um formato adequado, mas parainVídeo: uma aplicação de vídeo interactivo sobre a Internet 106


Conclusõesa composição não é necessário fazer na<strong>da</strong> e para a sincronização apenas é necessário inserir os<strong>da</strong>dos temporais para entra<strong>da</strong> e saí<strong>da</strong> de um <strong>da</strong>do media.A opção pela ferramenta Macromedia Flash para a maior parte do sistema trouxe facili<strong>da</strong>desno desenvolvimento e garantiu o cumprimento dos objectivos, mas a reutilização dos conteúdosficou um pouco limita<strong>da</strong>, visto que a ferramenta não usa uma norma pública. O estudo de duasnormas públicas, ca<strong>da</strong> uma com um fim específico, permitiu definir o inVídeo de tal forma quefuturamente os seus conteúdos possam ser usados em aplicações e sistemas mais difundidos.A primeira norma pública, o SMIL, está adopta<strong>da</strong>, limita<strong>da</strong>mente, pela maioria dos players.Caso a compatibili<strong>da</strong>de <strong>da</strong> norma e dos múltiplos formatos de vídeo com os players se venha aconcretizar, poderemos então ter a apresentação dos nossos conteúdos em qualquer um deles.A segun<strong>da</strong> norma, o SCORM, permitirá que os conteúdos, entretanto construídos, sejamfacilmente reutilizados em outras aplicações e o sistema possa receber conteúdos similares deoutros sistemas. Com o incremento nas funcionali<strong>da</strong>des do sistema e com a completaimplementação do SCORM, nomea<strong>da</strong>mente o Ambiente de Execução, será possível, de formasimples, o acesso e a partilha dos conteúdos em ambientes distribuídos.Após o desenvolvimento do sistema foi construído e introduzido um curso e foi pedido aosseus utilizadores que respondessem a um pequeno inquérito para avaliar a experiência devisualização <strong>da</strong>s diferentes lições. Este inquérito mostrou alguns aspectos fortes do sistema eoutros que necessitam de ser repensados. A primeira análise definiu os requisitos técnicosmínimos para a utilização <strong>da</strong> aplicação a nível do terminal do utilizador e <strong>da</strong>s características <strong>da</strong>rede. As respostas ao inquérito também mostraram que a visualização do vídeo e <strong>da</strong> apresentaçãoteve boa aceitação, demonstrando o interesse existente em conteúdos nestes formatos. Mastambém revelaram o pouco interesse nas notas e no acompanhamento do vídeo com legen<strong>da</strong>s, oque levará à sua redefinição.Os avanços tecnológicos nas mais diversas áreas, tais como na capaci<strong>da</strong>de de processamentoe de armazenamento, nas normas públicas para a multimédia, e na existência de redes commaiores garantias de quali<strong>da</strong>de, permitiram que o desenvolvimento de aplicações multimédia sejamais simples e rápido. O interesse por este tipo de aplicações é grande, mas as fracascaracterísticas técnicas a nível dos terminais e <strong>da</strong>s redes apenas permitiam aplicações de quali<strong>da</strong>dereduzi<strong>da</strong>. Apesar <strong>da</strong>s melhorias técnicas, ain<strong>da</strong> é necessário ter a consciência sob os diversosfactores que envolvem os media mais ricos, como o vídeo e o áudio. As linguagens para otratamento de <strong>da</strong>dos multimédia são ca<strong>da</strong> vez mais completas e permitem uma interacção maispoderosa ao utilizador. O uso de meta<strong>da</strong>dos irá permitir uma maior eficiência na utilização dosconteúdos produzidos.7.2 Desenvolvimentos futurosO trabalho a desenvolver após esta dissertação pode-se dividir em diferentes perspectivas. Aprimeira parte do trabalho futuro passará pela implementação dos componentes especificados,mas não implementados, como ecrãs dos docentes e dos administradores, e exportação/inVídeo: uma aplicação de vídeo interactivo sobre a Internet 107


Conclusõesimportação de conteúdos. Numa segun<strong>da</strong> fase, será feita a especificação mais detalha<strong>da</strong> de algunscomponentes previstos inicialmente, como os Treinos e as Avaliações.Apesar de não terem sido planeados, ain<strong>da</strong> existem muitos incrementos que podem seradicionados ao sistema. Alguns deles foram descobertos durante a especificação e nodesenvolvimento do sistema, outros foram retirados <strong>da</strong>s sugestões deixa<strong>da</strong>s nos inquéritos e natroca de opiniões com os utilizadores, dos quais se destacam:− Implementação do sequenciamento dos cursos, seguindo as regras defini<strong>da</strong>s peloSCORM;− Gravação e disponibilização <strong>da</strong>s lições em tempo real;− Elaboração de relatórios pe<strong>da</strong>gógicos para os docentes;− Aviso <strong>da</strong>s alterações dos conteúdos para os alunos;− Personalização dos <strong>da</strong>dos pessoais dos utilizadores.Os desenvolvimentos futuros também poderão passar por a<strong>da</strong>ptar o sistema a novasutilizações. No momento apenas se pretendia apresentar conteúdos educacionais, mas através dealgumas variações o sistema pode ser usado em ambientes distintos, como apresentação deprodutos (um imóvel ou um automóvel, entre outros) ou como portal de notícias. Estes últimos sãoapenas alguns exemplos <strong>da</strong> utilização do vídeo num ambiente multimédia e interactivo.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 108


Referências[Adobe 03][Battista 04][Blake 98][Bloom 84][Bulterman 01][Bulterman 02][Constantine 03]ADOBE Dynamic Media Group (2003). A Streaming Media Primer., disponível emhttp://www.adobe.com/video, Janeiro de 2004BATTISTA, Stefano & CASALINO, Franco & LANDE, Claudio (2004). MPEG-4: AMultimedia Stan<strong>da</strong>rd for the Third Millennium, Part 1, disponível emhttp://www.computer.org/multimedia/articles/MPEG4_2.htm, Outubro de 2004Blake, S. & Black, D. & Carlson, M. & Davies, E. & Wang, Z. & Weiss, W. (1998). AnArchitecture for Differentiated Services, disponível em http://www.ietf.org/rfc/rfc2475.txt,Outubro de 2004BLOOM, B.S. (1984). The 2 sigma problem: The search for methods of group instruction aseffective as one-to-one tutoring. Educational Researcher, 13, 4-16.BULTERMAN, Dick C.A. (2001). SMIL 2.0 Part 1: Overview, Concepts, and Structure, IEEEMultiMedia, October–December 2001, 82-88BULTERMAN, Dick C.A. (2001). SMIL 2.0 Part 2: Overview, Concepts, and Structure, IEEEMultiMedia, January–March 2002, 74-84CONSTANTINE, L (2003). Canonical Abstract Prototypes for Abstract Visual and InteractionDesign, disponível em http:// www.foruse.com/articles/abstract.htm, Abril de 2004[DBDesigner] DBDesigner 4, disponível em http://www.fabforce.net/dbdesigner4, Março de 2004[DCMI 04] DCMI (2004). About the Dublin Core Meta<strong>da</strong>ta Initiative, disponível emhttp://dublincore.org/about/, Outubro de 2004[DSS]Darwin Streaming Server. Apple, disponível em http://developer.apple.com/<strong>da</strong>rwin/projects/streaming/, Novembro de 2004[FCS] Flash Communication Server MX, Macromedia, disponível em http://www.macromedia.com/ software/ flashcom/, Novembro de 2004[Fletcher 03] FLETCHER, J. D. (2003). Evidence for Learning from Technology-Assisted Instruction. In H. F.O’Neil Jr. and R. Perez (Eds.) Technology Applications in Education: A Learning View.Hills<strong>da</strong>le, NJ: Lawrence Erlbaum Associates.[Gettinger 84][Graesser 94][HDS][Jacklin 02]GETTINGER, M. (1984). Individual differences in time needed for learning: A review of theliterature. Educational Psychologist, 19,15-29.GRAESSER, A. C., e Person, N. K. (1994). Question asking during tutoring. AmericanEducational Research Journal, 31, 104-137.Helix DNA Server. RealNetworks, disponível em https://helix-server.helixcommunity.org/, Novembro de 2004JACKLIN, Martin (2002). MPEG-4 The Media Stan<strong>da</strong>rd: The landscape of advanced multimediainVídeo: uma aplicação de vídeo interactivo sobre a Internet 109


Referênciascoding. mp4 – MPEG-4 Industry Forum, disponível em http://www.m4if.org/resources, 30págs., 19 de Novembro de 2002[Jacobson 99][Koenen 00][Koshy 02]Jacobson, I. & G. Booch & J. Rumbaugh (1999). The unified software development process. TheAddison-Wesley object technology series. 1999, Reading, Mass: Addison-Wesley. xxix,463.KOENEN, Rob (2000). Overview of the MPEG-4 Stan<strong>da</strong>rd, ISO/IEC JTC1/SC29/WG11Coding of Moving Pictures and Audio, Beijing, Julho de 2000KOSHY, Philips & RAGHAVAN, S. V. (2002). Quality a<strong>da</strong>ptation for FGS MPEG-4 videostreaming over Internet, Proceedings of the 15th international conference on Computercommunication, Editor: International Council for Computer CommunicationWashington, DC, USA, págs. 654 – 663, 11 a 14 de Agosto de 2002[Legard 04] LEGARD, David (2004). IDC: Consoli<strong>da</strong>tion to Windows won't happen, disponível em, Setembro de 2004[LimSee2] LimSee 2, disponível em http://wam.inrialpes.fr/software/limsee2/, Junho de 2004[Lin 01][Liu 99]LIN, Eugene T. & Cook, Gregory W. & Salama, Paul & Delp, Edward J. (2001) AnOverview of Security Issues in Streaming Video, International Conference on InformationTechnology: Coding and Computing, Las Vegas, 2 de Abril de 2001, 345-348LIU, Chunlei (1999). Multimedia Over IP: RSVP, RTP, RTCP, RTSP. Cap. 2 - Handbook ofEmerging Communications Technologies: The Next Decade, CRC Press, Ed. Rafael Osso,Boca Raton, FL, 26 de Agosto de 1999[LOM 04] IEEE LOM (2004). IEEE WG12: Learning Object Meta<strong>da</strong>ta, disponível emhttp://ltsc.ieee.org/wg12/index.html, Abril 2004[Nunes 01a][Nunes 01b][Osso 99]NUNES, Nuno J. & Cunha, João F. (2001). Object Modeling and User Interface Design:Designing Interactive Systems, M.v. Harmelen, Editor. 2001, Addison-Wesley, cap. 6Wisdom-Whitewater Interactive System Development with Object ModelsNUNES, Nuno J. (2001). Modelação por Objectos para o Desenvolvimento Centrado nosUtilizadores e o Desenho de Interfaces com o Utilizador, Tese de Doutoramento, UMa, 2001OSSO, Rafael (1999). Handbook of Emerging Communications Technologies: The Next Decade,CRC Press, Boca Raton, FL, 26 de Agosto de 1999, 416 páginas[Reload] Reload 1.2, disponível em http://www.reload.ac.uk/, Junho de 2004[Santos 99]SANTOS, Ana Paula S. (1999). Quali<strong>da</strong>de de Serviço na Internet, Boletim bimestral sobretecnologia de redes, volume 3, número 6, Rede Nacional de Ensino e Pesquisa, disponívelem http://www.rnp.br/newsgen/9911/qos.html[SCORM CAM 04] SCORM Content Aggregation Model. Advanced Distributed Learning, 30-01-2004, versão1.3, disponível em http://www.adlnet.org/, Março de 2004[SCORM Overview 04] SCORM 2004 Overview, Advanced Distributed Learning, 30-01-2004, disponível emhttp://www.adlnet.org/, Março de 2004[SCORM RT 04] SCORM Run-Time Environment. Advanced Distributed Learning, 30-01-2004, Versão 1.3,disponível em http://www.adlnet.org/, Março de 2004inVídeo: uma aplicação de vídeo interactivo sobre a Internet 110


Referências[SCORM SN 04]SCORM Sequencing and Navigation. Advanced Distributed Learning, 30-01-2004, Versão1.3, disponível em http://www.adlnet.org/, Março de 2004[SEPY] SE|PY, disponível em http://www.sephiroth.it/python/sepy.php, Março de 2004[Silva et al. 01][Simmons 04][SMIL20]Silva, Alberto & Videira, Carlos (2001). UML, Metodologias e Ferramentas CASE, 1ª edição,colecção Tecnologias, Centro Atlântico, Portugal, Abril de 2001SIMMONS, David (2001). Macromedia Flash Communications Server MX Security Overview,disponível em http://www.macromedia.com/devnet/mx/flashcom/articles/security_overview.html, Setembro de 2004Synchronized Multimedia Integration Language (SMIL 2.0), W3C Recommen<strong>da</strong>tion, August2001, http://www.w3.org/TR/2001/REC-smil20-20010807/, de 7 de Agosto de 2001[WMS] Windows Media Services 9 Series. Microsoft Windows, disponível em http://www.microsoft.com/windows/windowsmedia/9series/server.aspx, Fevereiro de 2004[Wu 01a] WU, Dapeng & Hou, Yiwei Thomas & Zhu, Wenwu & Zhang, Ya-Qin & Peha, Jon M.(2001). Streaming Video over the Internet: Approaches and Directions, IEEE Transaction onCircuits and Systems for Video Technology, Vol. 11, Nº 3, March 2001[Wu 01b]WU, Dapeng & Hou, Yiwei Thomas & Zhang, Ya-Qin (2001). Transporting Real-TimeVideo over the Internet: Challenges and Approaches, Proceedings of the IEEE, Vol. 88, Nº 12,December 2000inVídeo: uma aplicação de vídeo interactivo sobre a Internet 111


BibliografiaFLUCKIGER, François (1995). Understanding networked multimedia: applications and technology, 1ª Edição,Prentice Hall, Londres, 1995HARMELEN, M.V. (2001). Object Modeling and User Interface Design: Designing Interactive Systems, M.v.Harmelen, Editor. 2001, Addison-WesleyOSSO, Rafael (1999). Handbook of Emerging Communications Technologies: The Next Decade, CRC Press, BocaRaton, FL, 26 de Agosto de 1999, 416 páginasSILVA, Alberto & Videira, Carlos (2001). UML, Metodologias e Ferramentas CASE, 1ª edição, colecçãoTecnologias, Centro Atlântico, Portugal, Abril de 2001TOPIC, Michael (2002). Streaming Media Demystified, MacGraw-Hill, Nova York, 2002inVídeo: uma aplicação de vídeo interactivo sobre a Internet 112


Anexo A – Documento SMILO exemplo <strong>da</strong> utilização do SMIL é uma cena com uma composição semelhante à existenteno sistema inVídeo. A figura A-1 mostra a apresentação de um vídeo paralelamente com umaimagem e algum texto.Figura A-1 Cena SMILO código seguinte apresenta o ficheiro SMIL que corresponde a to<strong>da</strong> a sequência multimédiaonde se encaixa a cena apresenta<strong>da</strong> na figura A-1.


Anexo A – Documento SMILid="region_notas"background-color="#FFFFCC" />inVídeo: uma aplicação de vídeo interactivo sobre a Internet 114


Anexo B – Manifesto SCORMO exemplo colocado neste anexo mostra um manifesto com as apresentações dos trabalhospráticos de uma disciplina. A Figura B-1 mostra a árvore com todos os elementos (organizações,recursos e meta<strong>da</strong>dos). Alguns dos elementos são apresentados estendidos, mostrando um maiordetalhe, os restantes têm nos seus ‘ramos’ uma estrutura semelhante. Em alguns casos existemmeta<strong>da</strong>dos.Figura B-1 Representação gráfica de um manifestoB-1.De segui<strong>da</strong> é apresentado o código do manifesto que constitui a árvore apresenta<strong>da</strong> na figuracurso_baseLEIinVídeo: uma aplicação de vídeo interactivo sobre a Internet 115


Anexo B – Manifesto SCORMGrupo 01Grupo 03Grupo 05Grupo 06LEnsI, LESC e LETRGrupo 11Grupo 12Grupo 13ptApresentaçoes dos trabalhos de Engenharias deRedes e Dados <strong>da</strong> UMa - 2003/2004redes, apresentaçaoLOMv1.0HierarchicalLOMv1.011LOMv1.0FinalCurso LEILEIinVídeo: uma aplicação de vídeo interactivo sobre a Internet 116


Anexo B – Manifesto SCORMGrupo 01Grupo 03Grupo 05Grupo 06ptPdf's dos slides <strong>da</strong> aprentaçao do grupo01Redes, equipamento activoLOMv1.041LOMv1.0Finalapplication/pdfLOMv1.0LOMv1.0ExpositiveLOMv1.0inVídeo: uma aplicação de vídeo interactivo sobre a Internet 117


Anexo B – Manifesto SCORMSlideLOMv1.0very lowLOMv1.0mediumLOMv1.0AuthorLOMv1.0University FirstCycle20-23LOMv1.0mediumptLOMv1.0noLOMv1.0noLOMv1.0inVídeo: uma aplicação de vídeo interactivo sobre a Internet 118


Anexo B – Manifesto SCORMLOMv1.0Educational LevelinVídeo: uma aplicação de vídeo interactivo sobre a Internet 119


Anexo C – Resultados do inquéritoOs documentos presentes neste anexo são os seguintes:− folha de inquérito envia<strong>da</strong> para os utilizadores;− folha de inquérito com os resultados obtidos;− lista de sugestões deixa<strong>da</strong>s nos inquéritos;− lista de comentários deixados nos inquéritos.inVídeo: uma aplicação de vídeo interactivo sobre a Internet 120


Anexo C – Resultados do inquéritoInquérito sobre Aplicação inVídeoCaracterização TécnicaComputadorProcessador: < 500 MHz 500 a 1399 MHz 1400 a 2399 MHz >= 2400 MHzMemória: < 128 MB 128 a 511 MB 512 a 1023 MB >= 1024 MBDisco Rígido: < 20 GB 20 a 39 GB >= 40 GBSistema Operativo: Windows MacOS Linux/UnixRedePlug-inLocalTipo de ligação: Telefone ADSL Cabo LAN OutraVeloci<strong>da</strong>de de Acesso: ________ bpsFlash Player 7 instalado? Sim Não Se não, instalou? Sim NãoAcesso à aplicação de: Casa UMa Trabalho Outro:_________Caracterização do UtilizadorDados PessoaisSexo: M F I<strong>da</strong>de: ______ Nome (opcional): ____________________________Conhecimentos InformáticosComputadores e Internet em geral: MauUso regular de serviços de áudio e vídeo pela Internet?Áudio: PoucoVídeo: PoucoTempo de respostaListagens cursos, módulos e sessões: MauCaracterização <strong>da</strong> ExperiênciaInício <strong>da</strong> sessão: MauBomMuitoMuitoBomBomQuali<strong>da</strong>de <strong>da</strong>Visualização do vídeo: Má BoaVisualização <strong>da</strong> apresentação: Má BoaRelevância dos seguintes componentesVídeo: PoucaApresentação: PoucaNotas: PoucaLegen<strong>da</strong>s: PoucaDocumentos para download: PoucaMensagens tipo e-mail (a implementar): PoucaMensagens em tempo real (a implementar): PoucaMuitaMuitaMuitaMuitaMuitaMuitaMuitaSugestões de novas funcionali<strong>da</strong>des __________________________________________________________________________________________________________________________________________________________________Espaço para outras observações e comentários________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Muito obrigado pelo tempo e atenção!Inquérito sobre aplicação inVídeo - Eduardo Marques, trabalho de Dissertação, Julho de 2004inVídeo: uma aplicação de vídeo interactivo sobre a Internet 121


ComputadorAnexo C – Resultados do inquéritoInquérito sobre Aplicação inVídeoCaracterização TécnicaProcessador: 1 < 500 MHz 2 500 a 1399 MHz 2 1400 a 2399 MHz 6 >= 2400 MHzMemória: 0 < 128 MB 3 128 a 511 MB 4 512 a 1023 MB 4 >= 1024 MBDisco Rígido: 2 < 20 GB 1 20 a 39 GB 8 >= 40 GBSistema Operativo: 10 Windows 1 MacOS 0 Linux/UnixRedeTipo de ligação: 1 Telefone 2 ADSL 2 Cabo 5 LAN 1 OutraVeloci<strong>da</strong>de de Acesso:entre 44kbps e 100MbpsPlug-inFlash Player 7 instalado? 9 Sim 2 Não Se não, instalou? 1 Sim 1 NãoLocalAcesso à aplicação de: 6 Casa 5 UMa 0 Trabalho 0 Outro:_________Caracterização do UtilizadorDados PessoaisSexo: M 10 F 1 I<strong>da</strong>de: entre 21 e 31 anosConhecimentos InformáticosComputadores e Internet em geral: Mau 0 0 1 2 8 BomUso regular de serviços de áudio e vídeo pela Internet?Áudio: Pouco 2 1 2 4 2 MuitoVídeo: Pouco 1 2 4 3 1 MuitoCaracterização <strong>da</strong> ExperiênciaTempo de respostaListagens cursos, módulos e sessões: Mau 0 0 1 2 6 BomInício <strong>da</strong> sessão: Mau 0 0 1 4 6 BomQuali<strong>da</strong>de <strong>da</strong>Visualização do vídeo: Má 0 0 2 6 3 BoaVisualização <strong>da</strong> apresentação: Má 0 0 1 4 6 BoaRelevância dos seguintes componentesVídeo: Pouca 0 0 1 3 7 MuitaApresentação: Pouca 0 0 2 3 6 MuitaNotas: Pouca 2 2 4 3 0 MuitaLegen<strong>da</strong>s: Pouca 2 5 1 2 1 MuitaDocumentos para download: Pouca 0 2 0 4 5 MuitaMensagens tipo e-mail (a implementar): Pouca 0 0 3 6 2 MuitaMensagens em tempo real (a implementar): Pouca 0 0 3 6 1 MuitainVídeo: uma aplicação de vídeo interactivo sobre a Internet 122


Anexo C – Resultados do inquéritoLista de sugestões para novas funcionali<strong>da</strong>des:− “sistema de aviso automático quando apareçam actualizações usando por exemplomensagens tipo email”− “montar um fórum de forma a ser possível discutir todo e qualquer conteúdo”− “Porque é que a UMa não adopta isto para os próprios docentes/investigadores? Novasfuncionali<strong>da</strong>des… assim de repente só me lembro de uma caixa de procura (por assuntoou natureza do item: exames, aulas teóricas/práticas). Isto consoante a dimensão domódulo em causa, claro. Se me lembrar de mais coisas eu digo”− “Notas para o docente para colocação de informação como p.e. Classificação do grupo,etc…”− “No caso de esta aplicação ser usa<strong>da</strong> pelos alunos tb, poderiam ser coloca<strong>da</strong>s notas tbpara o aluno.”− “Na continui<strong>da</strong>de <strong>da</strong> aplicação a estruturação <strong>da</strong> informação introduzi<strong>da</strong> neste campopoderia ser relevante.”− “Permitir <strong>da</strong>r mais ênfase a determina<strong>da</strong>s partes, <strong>da</strong> aplicação, por exemplo mostrarapenas filme e legen<strong>da</strong>s, maximizando a área de visão (embora já seja possível fazendo ozoom).”Lista de comentários e observações− “As legen<strong>da</strong>s, se fossem utiliza<strong>da</strong>s, onde ficariam? Se fosse na própria imagem de vídeoseria díficil de ler”− “Desde já congratulo pelo trabalho efectuado, visto ser um projecto com muita utili<strong>da</strong>deacadémica e de grandes funcionali<strong>da</strong>des. Tirando o que falta implementar, diria que ficamuito perto de um óptimo trabalho. Parabéns e Felici<strong>da</strong>des”− “Na minha opinião as componentes acima implementa<strong>da</strong>s já são suficientes para ofornecimento de um bom serviço”− "Acho a funcionali<strong>da</strong>de deveras interessante e com muito potencial. Muito útil para todoo tipo de cadeiras com apresentações.”− “Apenas não consegui ouvir som. O vídeo decorreu sem problemas de maior”− “Achei muito interessante a organização e as funcionali<strong>da</strong>des disponibiliza<strong>da</strong>s pelaaplicação e considero que seria benéfico para nós alunos se to<strong>da</strong>s as apresentaçõesrealiza<strong>da</strong>s fossem filma<strong>da</strong>s e disponibiliza<strong>da</strong>s posteriormente, para que possamos nosapercebermos dos erros que cometemos de forma a evitar repeti-los.”− “Tá muito fixe a cena, gostei <strong>da</strong> parte <strong>da</strong>s notas acompanharem o decorrer <strong>da</strong>sapresentações e o interface se lembrar de onde estávamos quando recuamos, permitiupercorrer to<strong>da</strong>s as apresentações. Vê-se que o esqueleto está montado e há agora espaçopara evolução gráfica. Está de parabéns!”− “Para uma <strong>Universi<strong>da</strong>de</strong> com as características <strong>da</strong> UMa parece-me uma aplicaçãoinVídeo: uma aplicação de vídeo interactivo sobre a Internet 123


Anexo C – Resultados do inquéritoexcelente e com enorme potencial (por exemplo, trabalhadores estu<strong>da</strong>ntes ou estu<strong>da</strong>ntesque moram em sítios longínquos). Parabéns!”− “Com a minha ligação levou um bom bocado a transferir o filme em Streaming se calhardevia existir a possibili<strong>da</strong>de de fazer o download do filme, visto que não é em directo e émuito chato ver aquilo aos bocadinhos sempre está a fazer o download.”− “A disponibilização <strong>da</strong>s notas não é imediata, é necessário carregar o filme (apenas umdetalhe não prejudica a visualização do vídeo) ”− “Acho que as funcionali<strong>da</strong>des escolhi<strong>da</strong>s permitem uma vasta possibili<strong>da</strong>des nautilização <strong>da</strong> aplicação, o que está muito bom.”− “As funcionali<strong>da</strong>des (com o botão direito) activas, algumas podem introduzir acçõesindeseja<strong>da</strong>s.”inVídeo: uma aplicação de vídeo interactivo sobre a Internet 124

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!