Você está na página 1de 171

Prof. Dr. Cesar A. C.

Teixeira
Giliard de Freitas Erick Melo

Propiciar condies para que os alunos possam entender, de maneira ampla os principais conceitos envolvidos nos diversos nveis de arquitetura de um sistema de TV Digital; Propiciar ao aluno condies para o desenvolvimento de habilidades para a concepo e construo de aplicaes interativas com sincronizao de mdias para tv digital;

Arquitetura de sistemas de TV Digital terrestre Middleware para tv digital Linguagens declarativas para TV Digital Linguagens imperativas para TV Digital

http://www.forumsbtvd.org.br/ http://www.ncl.org.br/ http://www.ncl.org.br/documentos/JAI2008.pdf http://www.ginga.org.br/ Interactive TV Standards: a guide to MHP, OCAP and JavaTV, Steven Morris e Anthony Smith-Chaigneau. http://www.tvwithoutborders.com/book

Exerccios: aplicaes multimdia para TV digital

Melhor Imagem Melhor Som Interatividade

TV digital terrestre TV digital satlite TV digital cabo IPTV

Telecomunicaes Hardware Compresso e Codificao de udio e vdeo Middleware Aplicaes (novidades) Interface com usurio Produo / Programao Negcios / Gesto

Proprietrios: OpenTV, NDS, Canal+, PowerTV, Microsoft MHP (Multimedia Home Platform), um projeto DVB (Digital Video Broadcast) 3 anos frente do OCAP (OpenCable Application Platform) e do ACAP (Advanced Common Application Platform). GEM (Globally Executable MHP) GINGA (ISDTV-T- International System for Digital TV)

Ou Java + Linguagem Declarativa? NCL Smil BML XHTML Ginga: NCL + Lua + JavaDTV

Mais canais Melhor qualidade da imagem (at HDTV: high definition TV resolution, 1366x768 pixels versus 720x480 usado no SDTVstandard definition DTV) Melhor qualidade do som Servios adicionais e novas aplicaes
T-commerce T-learning T-banking Propaganda interativa Interatividade com shows Estatsticas (esportes)

Servios mveis (carro, nibus, metro) Tela mais ampla (16:9) Transmisses em mltiplas lnguas e com legendas Sinopse de programas Agendamento de programas Guia de programao eletrnica TV Personalizada (gravador de vdeo pessoal, payper-view, video-on-demand) Jogos e muito mais

Evoluo x revoluo Revoluo: TV preto e branco colorida (vendas cresceram a taxas enormes) DTV por satlite j existe h muito tempo. Pouca evoluo. Talvez HDTV e novos servios com canal de retorno barato possa acelerar a evoluo.

Captura Compresso Empacotamento Transporte Multiplexao Randomizao para disperso de energia Correo de erros Modulao Difuso (cabo, satlite, terrestre) Mobilidade (oportunidades de negcios) Acesso ao contedo (tv por assinatura) Canal de retorno: consideraes tcnicas e comerciais

Converso do sinal analgico capturado pela cmera em valores digitais. Compresso: bit rate para SDTV, sem compresso, na ordem de 160 Mbits/segundo. MPEG (Moving Picture Experts Group ISO) DTV: MPEG-2 SDTV: 3 a 15Mbits/s (tpico: 4 a 5) ISDTV: MPEG-4 !! Estudo aprofundado MPEG: fora do escopo.

Elementary streams ES: stream que representa um nico fluxo, de udio ou de vdeo. TV: uma ES para vdeo e outra para dois canais de udio ES: fluxo contnuo de informao, difcil de manipular quebrar em pacotes. Cada pacote PES (packetized elementary stream) inclui time stamp, ID (tipo de contedo e codificao) e informaes de sincronizao. Tamanho: alguns kilobytes. Protocolo de transporte: MPEG-2 (inclusive ISDTV)

Program stream: carrega informaes de um nico programa (mltiplos ngulos de cmeras, mltiplas linguagens, ). Ex: DVD Transport stream (DTV): carrega diversos programas, diversos canais DTV, carrega diversos servios ou canais, como so conhecidos na nomenclatura MPEG. (precisa ser mais robusto p/ superar erros) Multiplexar mais que um servio em uma transport stream significa multiplexar as PES utilizadas por esses servios. (fig )

PID: identifica a que PES pertence cada pacote SI- service information: informa como PES so organizadas em servios ; dados sobre o servio para serem exibidos ao usurio; parmetros de servios

-Quebra PES em pacotes de 188 bytes; atribui PID a cada PES; transmite - Anlise da complexidade da cena e alocao de banda para melhor aproveitamento bit rate varivel

Satlite: abrange vasta regio; poucas restries geogrficas; susceptibilidades condies do tempo; comeando a oferecer canal de retorno; pode transmitir sinais de diferentes operadoras. Cabo: pode oferecer banda mais larga, tanto para download como p/ canal de retorno (servios interativos); custo elevado para reas remotas ou de difcil acesso; privado: uma operadora por rede. Terrestre: servios mveis (ex: TVMobile Singapura); problemas de recepo em algumas reas; reutilizao do espectro em diferentes regies; menor largura de banda (8MHz tem capacidade para distribuir 5 ou 6 canais DTV num total de 24 Mbits/s.

Vantagens e desvantagens de se utilizar a internet como canal de retorno viewer number is what makes money in the TV world, not viewrs leaving their TV to go do something else. Enhanced broadcast: Interao entre o usurio e o receptor, interao local Interactive broadcast: walled garden web access; quiz; chat, etc. Internet TV: Interatividade total; requer, eventualmente, banda larga.

TV no computador
Tela de menor resoluo Distncia entre o usurio e a tela maior Componentes visuais pouco sofisticados Sistema de transmisso em broadcasting Assistncia coletiva Geralmente hardware limitado Dispositivos para entrada de dados limitados
Controle Remoto

1817 Selnio 1932 Primeira TV Eletrnica 1950 (dcada) TV no Brasil; TV a cabo; TV a cores (NTSC) 1960 (dcada) PAL; SECAM; Videotape; Testes no Brasil para adoo de
um sistema colorido 1972 PAL-M

1980 (dcada) HDTV no Japo 1990 (dcada) DVB (1993), ATSC (1998), ISDB (1999)

SOARES (2008)

SOARES (2008)

SOARES (2008)

SOARES (2008)

Vantagens:
Conservao da qualidade; Livre de fantasmas e chuviscos; Multiprogramao; Dispensa o canal livre entre dois canais; Interatividade

Possibilidades:
T-gov T-commerce T-banking T-learning

SOARES (2008)

Arquitetura de Hardware
CPU Processador grfico Memria RAM e ROM Unidade(s) de armazenamento Interface(s) de comunicao

Arquitetura de Software
Sistema Operacional Middleware Camada de Aplicao

Formatos e resolues para TV Digital

Componentes:
Luminncia (Y) Crominncia (Cb/Cr)

Exemplo: vdeo Full HD (1920x1080)


2 Mpixels x 8 bits (Y) = 16 Mbits 0.5 Mpixel x 8 bits (Cb) = 4 Mbits 0.5 Mpixel x 8 bits (Cr) = 4 Mbits 24 Mbits = 1 frame 720 Mbits = 1 segundo

Desafios
Transmisso Processamento Memria

24 Mbits = 1 frame 720 Mbits = 1 segundo

Eliminao de redundncia de dados:


Compresso espacial; Compresso temporal; Compresso preditiva.

Explorao da percepo humana.


Mascaramento Subamostragem

Com MPEG-2: 20 Mb/s = 1 canal HD Com H.264: 20 Mb/s = 1 canal HD (10 Mb/s) + 3 SD (2.5 Mb/s)
24 Mbits = 1 frame 720 Mbits = 1 segundo

10 Mbits = 1 segundo

Desafios
Transmisso Processamento Memria

Implicaes
Implementao de algoritmos especficos para decodificao (h.264) (HW ou SW???)

Paralelismo (SO, aplicaes, decodificao, demultiplexao, formatao, etc) Desempenho Confiabilidade Consumo de energia
Software = + ciclos de clock = + energia

Soluo: Processador especfico

Local
Todo o contedo enviado via broadcasting; Usurio interage com uma aplicao, que apresenta diversas configuraes previamente programadas; Exemplos: legendas, guias de programao, enquetes

Plena
Demanda o uso do canal de retorno; Aplicaes acessam outros servios via canal de retorno Contedo personalizado (unicasting); Exemplos: compras, homebanking

Telefonia fixa Telefonia mvel Rdio Satlite Energia Eltrica (PLC) WiMAX

Recepo do contedo da TV Digital em qualquer momento e em qualquer lugar


Dispositivos mveis Celular TV PDA

Domiclios:

47,56 millhes

Televiso:
Rdio: Telefone celular: Telefone fixo: Computador:

95.7%
91.6% 61,2% 54.0% 16.91%

Acesso Internet :
Acesso Internet (Computador): TV a cabo:

21.0%
10.08% 5.6%

Suporte a sincronizao
Sincronizao baseada na estrutura Suporte a canal de retorno Suporte sincronizao

Suporte a mltiplos dispositivos Suporte a adaptao de contedo e programao Suporte a edio ao vivo

Middleware Codificao Vdeo udio

DASE
MPEG-2 HDTV

MHP
MPEG-2 SDTV

ARIB
MPEG-2 HDTV

GINGA MPEG -4 MPEG-2 AAC MPEG-2 TS COFDM

DOLBY AC-3 MPEG-2 TS 8 - VSB

MPEG-2 BC MPEG-2 TS COFDM

MPEG-2 AAC MPEG-2 TS COFDM

Transporte Transmisso

Privilegia a TV Privilegia a de alta multiprogramao, definio interatividade e novos servios

Privilegia a TV de Privilegia a TV de alta definio, a alta definio, a recepo mvel e recepo mvel e porttil porttil

Utiliza o mesmo esquema de modulao e transporte do sistema japons Grandes diferenciais:


Middleware Ginga Codec de vdeo: H.264

70

Suporte a sincronizao Suporte a adaptao do contedo e da apresentao Suporte a mltiplos dispositivos

ENTITY

NODE

ANCHOR

LINK

N: Contedo Lista de Elos

NCORA: Regio

ELO: ncora de Origem ncora de Destino

Privilegia a interatividade em detrimento da sincronizao e da adaptabilidade de contedo Sincronizao e adaptabilidade por meio de scripts procedurais (ECMAScripts)

Interao do usurio como um caso particular de sincronismo Suporte a adaptabilidade e mltiplos dispositivos de exibio
NCL SMIL

Uma linguagem declarativa deve tambm oferecer suporte a objetos que contm cdigo imperativo. NCL permite:
Aplicaes HTML com cdigo ECMASCript NCLet (objetos com cdigo Java Xlet) NCLua (objetos com cdigo Lua)

Lua simples e poderosa; Lua portvel; Lua embeddable; Lua rpida; Lua robusta; Lua software livre.

ENTITY
Entidade: Identificador

NODE

ANCHOR

LINK

N: Contedo Lista de Elos

NCORA: Regio

INTERFACE

PROPERTY

ANCHOR

ENTITY

NODE

INTERFACE

LINK

N: Contedo Conjunto de Interfaces

ENTITY

NODE

INTERFACE

LINK

MEDIA

TEXT

IMAGE

VIDEO

ENTITY

NODE

INTERFACE

LINK

CONNECTOR

MEDIA

CONECTOR: Conjunto de Papis Glue Expression

TEXT

IMAGE

VIDEO

ENTITY

NODE

INTERFACE

LINK

CONNECTOR

MEDIA

ELO: Conjunto de Binds Conector

TEXT

IMAGE

VIDEO

ENTITY

NODE

INTERFACE

LINK

CONNECTOR

MEDIA
COMPOSITION TEXT IMAGE VIDEO

ENTITY

NODE

INTERFACE

LINK

CONNECTOR

MEDIA
COMPOSITION TEXT IMAGE VIDEO
CONTEXTO: Conjunto de Ns Conjunto de Elos

CONTEXT

INTERFACE

PROPERTY

PORT

ANCHOR

ENTITY

NODE

INTERFACE

LINK

CONNECTOR

MEDIA
COMPOSITION TEXT IMAGE VIDEO
SWITCH: Conjunto de Ns Conjunto de Regras

CONTEXT

SWITCH

INTERFACE

PROPERTY

SWITCH PORT

PORT

ANCHOR

ENTITY

REGION

DESCRIPTOR

NODE

INTERFACE

LINK

CONNECTOR

MEDIA

COMPOSITION

CONTEXT

SWITCH

NCL Eclipse Composer Ginga Live CD

Ginga VMWare Ginga-NCL Emulator Lua Eclipse

http://www.softwarepublico.gov.br http://www.clube.ncl.org.br http://www.ginga.org.br http://lince.dc.ufscar.br

Arquivo local Arquivo remoto (http, rtp, rstp) Fluxo elementar (sbtvd-ts) Alguns tipos de mdia
Texto (HTML, TXT, XML, SRT) Imagem (BMP, PNG, GIF, JPG) Audio (MP3, WAV, MP4) Video (MPEG4, MPEG2) Codigo procedural (lua, java)

Um evento uma ocorrncia no tempo que pode ser instantnea ou durar um perodo de tempo
Evento de apresentao Evento de seleo Evento de atribuio

PAUSED

stop | abort
pause start PREPARED stop (natural end) | abort

start | resume

OCCURRING

Connector:
Homem casado com mulher
Roles: homem, mulher Glue Expression: casado com

media1 onBeginStart media2


Roles: media1, media2 Glue Expression: onBeginStart

Connector:
Homem casado com mulher
Roles: homem, mulher Glue Expression: casado com

Link:
Joo casado com Maria
Bind: Joo = Homem Bind: Maria = Mulher Connector: homem casado com mulher

Connector:
media1 onBeginStart media2
Roles: media1, media2 Glue Expression: onBeginStart

Link:
video1 onBeginStart image1
Bind: video1 = media1 Bind: image1 = media2 Connector: media1 onBeginStart media2
Bind = Node + Interface

Define atributos como:


Background Folha de estilos Transparncia Visibilidade Localizao Propriedades de udio (sound level, balance)

<?xml version= 1.0 encoding=ISO-8859-1?> <ncl id=identificador <head> </head> <body> </body> </ncl>

Cabealho do documento Corpo do documento

O qu? Onde? Como? Quando?

Ns Regies Descritores Elos e Conectores

VDEO

UDIO

IMAGEM

rgVideo1

dVideo1

VDEO

dVideo1

rgVideo1

VIDEO1

AUDIO1

Quando video1 terminar, iniciar audio1

Quando audio1 iniciar, iniciar img1

IMG1

<?xml version= 1.0 encoding=ISO-8859-1?> <ncl id=identificador <head> </head> <body> </body> </ncl>

Cabealho do documento Corpo do documento

<ncl id=identificador <head> <regionBase>

<body>

</regionBase> <descriptorBase>

</descriptorBase> <connectorBase>

</connectorBase> </head> </body>

Todo elemento NCL deve possuir um identificador nico em todo o documento Exemplo:
<region id=video1/> <media id=video1/>

Representam as regies da tela onde as mdias so apresentadas


Posio (relativas regio-pai)
Left, top, right, bottom

Dimenses
Width, height

Unidades: pixels ou %

Sobreposio
zIndex (quanto maior, mais no topo)

<head> <regionBase> <region id=rgTV left=0 top=0 width=100% height=100%> <region id=rgVideo left=10 top=10 width=600 height=600/> </region> </regionBase> </head>

Definem como um n de mdia vai ser apresentado Atributos


Player Region (Onde?) explicitDur (formato: 9.9s) Parmetros usados pelo exibidor da mdia
Exemplos: volume do udio, borda, transparncia

dVideo1

<head> <descriptorBase> <descriptor id=dImagem1 region=rgImagem1/> </descriptor id=dVideo1 region=rgVideo1> <descriptorParam name=soundLevel value=1/> </descriptor> </descriptorBase> </head>

dVideo1

Exemplos de parmetros:
top, left, bottom, right, height, width bounds (valores para left, top, width, height) background (ex: white, black, green) visible (true, false) transparency (0= opaco, 1=transparente) fit (opes de preenchimento da regio) scroll (barra de rolagem) soundLevel (0=mudo, 1=volume original)

dVideo1

Definem um objeto de mdia a ser apresentado Atributos


type (MIME type) src (caminho para o arquivo de mdia) descriptor (id do descritor) Refer (referncia a outro n de mdia)

VIDEO1

<body> <media id=imagem1 type=image/png src=image1.png descriptor=dImagem1/> <media id=video1 src=rtp://SERVIDOR/video1.mpg descriptor=dVideo1/> <media id=videoPrincipal refer=video1/>

</body>

VIDEO1

VIDEO1
A1 A2

ncora 1: 10 a 15 segundos

ncora 1: 20 a 27 segundos

Alguns Atributos
shape (rect, circle, poly) coords (coordenadas em pixels da ncora espacial)
If shape= rect : X , Y , width , height If shape=cricle: Xcenter , Ycenter , radius If shape=poly: X1 , Y1 , X2 , Y2 , ... , XN , YN

Para mdias contnuas:


begin, end, dur: incio, fim, durao da ncora (segundos) first, last : quadro definindo o incio/trmino da ncora
A1

VIDEO1
A2

<body> <media id=video1 src=video1.mpg descriptor=dVideo1> <area id=a1 begin=10s end=15s/> <area id=a2 begin=20s end=27s/> </media> </body>

A1

A2

VIDEO1

Estruturam um documento O body de um documento tambm representa um contexto.


programa1 bloco1 comercial1

<body id=programa1>
<context id=bloco1> ... </context>

<context id=comercial1> ... <context id=cena1> ... </context> </context>


</body>

<head> <ruleBase> <rule id=rEn var=idioma op=eq value=en/> <rule id=rPt var=idioma op=eq value=pt/> </ruleBase> ... </head> <body> <media type=application/x-ginga-settings id=nodeSettings> <property name=idioma/> </media>

</body>

<head> <ruleBase> <rule id=rEn var=idioma op=eq value=en/> <rule id=rPt var=idioma op=eq value=pt/> </ruleBase> </head> <body> <switch id=switchAudio> <bind rule=rEn constituent=audioEn/> <bind rule=rPt constituent=audioPt/> <media id=audioEn src=en.mp3 descriptor=dAu/> <media id=audioPt src=pt.mp3 descriptor=dAu/> </switch> </body>

Switches cujos componentes so contextos


<body>
<switch id=switchNivel> <bind rule=rNivel1 constituent=nivel1/> <bind rule=rNovel2 constituent=nivel2/> <switchPort id=pNivel/> <mapping component=nivel1 interface=porta1/> <mapping component=nivel2 interface=porta2/> </switchPort> </switch> </body>

Definem os acessos aos componentes de um contexto Interface


Uma porta de um outro contexto Uma ncora de um n de contedo
programa1 bloco1 comercial1

<body id=programa1> <context id=bloco1> <port id=pInicioBloco1 component=video1/> <media id=video1 src=video1.mpg ... /> </context>

<context id=comercial1> <port id=p2 component=cena1 interface=p3/> <context id=cena1> <port id=p3 component=video3/> </context> </context>
</body>

VIDEO1

AUDIO1

Quando video1 terminar, iniciar audio1

Quando audio1 iniciar, iniciar img1

IMG1

VIDEO1

onEnd A Start B

AUDIO1

Quando video1 terminar, iniciar audio1

C onBegin Start D

Quando audio1 iniciar, iniciar img1

Elo (link) Papel (role) Conector (connector)

IMG1

<body id=programa1>
<link id=lOnEndVideo1StartAudio1 xConnector=onEndStart> <bind component=video1 role=onEnd> <bind component=audio1 role=Start> </link> <link id=lOnBeginAudio1StartImg1 xConnector=onBeginStart> <bind component=audio1 role=onBegin> <bind component=start role=Start> </link>

</body>

Conectores costumam ser genricos. possvel reusar uma base externa de conectores.
<head>
<connectorBase> <importBase alias=connectors documentURI=connectors.xml/> </connectorBase>

</head>

<body id=programa1>

<link id=lOnEndVideo1StartAudio1 xconnector=connectors#onEndStart> <bind component=video1 role=onEnd> <bind component=audio1 role=Start> </link> <link id=lOnBeginAudio1StartImg1 xconnector=connectors#onBeginStart> <bind component=audio1 role=onBegin> <bind component=start role=Start> </link>

</body>

Cardinalidade dos Conectores


VIDEO1
onEnd Start

AUDIO1

Quando video1 terminar, iniciar audio1, img1 e img2

IMG1

IMG2

Role Value onBegin onEnd onAbort onPause onResume onSelection

Transition starts stops aborts pauses resumes

Event Type presentation presentation presentation presentation presentation selection

onAttribution

attribution

Role Value start stop abort pause resume set

Action Type start stop abort pause resume set

Event Type presentation presentation presentation presentation presentation attribution

Conector com um parmetro, uma nica condio e um nico tipo de ao


<causalConnector id=onKeySelectionStartN> <connectorParam name=keyCode/> <simpleCondition role=onSelection eventType=selection key=$keyCode/> <simpleAction role=start max=unbounded qualifier=par actionType=start eventType=presentation/> </causalConnector>

Conector com uma nica condio e mltiplas aes:


<causalConnector id=onBeginStartNStopN> <simpleCondition role=onBegin/> <compoundAction operator=seq> <simpleAction role=start max=unbounded qualifier=par/> <simpleAction role=stop max=unbounded qualifier=par/> </compoundAction> </causalConnector>

Reproduo de um vdeo simples


Sem elos de sincronismo Sem elos de interatividade
body

VIDEO

dVideo

<ncl id=exemplo01> <head> <regionBase> <region id=rgVideo1 left=25% top=25% width=50% height=50%/> </regionBase>

</head> </ncl>

<ncl id=exemplo01> <head> <regionBase> <region id=rgVideo1 left=25% top=25% width=50% height=50%/> </regionBase>
<descriptorBase> <descriptor id=dVideo1 region=rgVideo1/> </descriptorBase>

</head> </ncl>

dVideo1

<ncl id=exemplo01> <head> <regionBase> <region id=rgVideo1 left=25% top=25% width=50% height=50%/> </regionBase> <descriptorBase> <descriptor id=dVideo1 region=rgVideo1/> </descriptorBase> </head> <body> <media id=video1 src=video1.mpg descriptor=dVideo1/> </body> </ncl>

VIDEO1

<ncl id=exemplo01> <head> <regionBase> <region id=rgVideo1 left=25% top=25% width=50% height=50%/> </regionBase> <descriptorBase> <descriptor id=dVideo1 region=rgVideo1/> </descriptorBase> </head> <body> <port id=pInicio1 component=video1/> <media id=video1 src=video1.mpg descriptor=dVideo1/> </body> </ncl>

Sincronizando dois objetos de mdia


Com elos de sincronismo Sem elos de interatividade
Quando video1 iniciar, iniciar img1

Elo (link) Papel (role)

Conector (connector)
onBegin A Start B

VIDEO1
A onEnd B Stop

IMG1

Quando video1 terminar, parar img1

PAUSED

stop | abort
pause start PREPARED stop (natural end) | abort

start | resume

OCCURRING

<ncl id=exemplo02> <head> <regionBase> <region id=rgVideo1 left=25% top=25% width=50% height=50%/> <region id=rgImg1 left=0 top=0 width=25% height=25%/> </regionBase>

</head> </ncl>

<ncl id=exemplo02> <head> <regionBase> <region id=rgVideo1 left=25% top=25% width=50% height=50%/> <region id=rgImg1 left=0 top=0 width=25% height=25%/> </regionBase> <descriptorBase> <descriptor id=dVideo1 region=rgVideo1/> <descriptor id=dImg1 region=rgImg1/> </descriptorBase> </head> </ncl>

dVideo1

dVideo2

<ncl id=exemplo02> <head> ... <connectorBase> <importBase alias=connectors documentURI=connectors.xml/> </connectorBase> </head> <body> ... </body> </ncl>

<ncl id=exemplo02> <head> ... </head> <body> <port id=pInicio1 component=video1/> <media id=video1 src=video1.mpg descriptor=dVideo1/> <media id=img1 src=img1.png descriptor=dImg1/> </body> </ncl>

VIDEO1

IMG1

<body>
... <link id=lOnBeginVideo1StartImg1> xconnector=connectors#onBegin1StartN> <bind component=video1 role=onBegin/> <bind component=img1 role=start/> </link> <link id=lOnEndVideo1StopImg1> xconnector=connectors#onEnd1StopN> <bind component=video1 role=onEnd/> <bind component=img1 role=stop/> </link> ... </body>

VIDEO1

IMG1

Sincronizando trs objetos de mdia


Com elos de sincronismo Sem elos de interatividade
A1 onBegin A Start B

VIDEO1
A2 A onEnd B Stop

IMG1

onBegin A Start B

IMG2
A

onEnd B Stop

VIDEO1
A1 A2

ncora 1: 10 a 15 segundos

ncora 1: 20 a 27 segundos

Alguns Atributos
shape (rect, circle, poly) coords (coordenadas em pixels da ncora espacial)
If shape= rect : X , Y , width , height If shape=cricle: Xcenter , Ycenter , radius If shape=poly: X1 , Y1 , X2 , Y2 , ... , XN , YN

Para mdias contnuas:


begin, end, dur: incio, fim, durao da ncora (segundos) first, last : quadro definindo o incio/trmino da ncora

<ncl id=exemplo03> <head> <regionBase> <region id=rgVideo1 left=25% top=25% width=50% height=50%/> <region id=rgImg1 left=0 top=0 width=25% height=25%/> </regionBase> </head> </ncl>

<ncl id=exemplo03> <head> <regionBase> <region id=rgVideo1 left=25% top=25% width=50% height=50%/> <region id=rgImg1 left=0 top=0 width=25% height=25%/> </regionBase> <descriptorBase> <descriptor id=dVideo1 region=rgVideo1/> <descriptor id=dImg1 region=rgImg1/> </descriptorBase> </head> </ncl>

dVideo1

dVideo2

<ncl id=exemplo02> <head> ... <connectorBase> <importBase alias=connectors documentURI=connectors.xml/> </connectorBase> </head> <body> ... </body> </ncl>

<ncl id=exemplo03> <head> ... </head> <body> <port id=pInicio1 component=video1/> <media id=video1 src=video1.mpg descriptor=dVideo1/> <media id=img1 src=img1.png descriptor=dImg1/> <media id=img2 src=img2.png descriptor=dImg1/> </body> </ncl>

VIDEO1

IMG1

IMG2

<ncl id=exemplo03> <head> ... </head> <body> <port id=pInicio1 component=video1/> <media id=video1 src=video1.mpg descriptor=dVideo1> <area id=a1 begin=10s end=15s/> <area id=a2 begin=20s end=27s/> </media> ... </body> </ncl>

A1

A2

VIDEO1

<link id=lOnBeginVideo1A1StartImg1/> xconnector=connectors#onBegin1StartN> <bind component=video1 interface=a1 role=onBegin/> <bind component=img1 role=start/> </link> <link id=lOnEndVideo1A1StopImg1/> xconnector=connectors#onEnd1StopN> <bind component=video1 interface=a1 role=onEnd/> <bind component=img1 role=stop/> </link>

VIDEO1 A1

IMG1

<link id=lOnBeginVideo1A2StartImg2/> xconnector=connectors#onBegin1StartN> <bind component=video1 interface=a2 role=onBegin/> <bind component=img2 role=start/> </link> <link id=lOnEndVideo1A2StopImg2/> xconnector=connectors#onEnd1StopN> <bind component=video1 interface=a2 role=onEnd/> <bind component=img2 role=stop/> </link>

VIDEO1 A2

IMG2

Interatividade com o usurio


Com elos de sincronismo Com interatividade

Reproduz um vdeo em LOOP at que o usurio pressione o boto VERMELHO

Cdigo de teclas
RED, GREEN, YELLOW, BLUE VK_LEFT, VK_RIGHT, VK_UP, VK_DOWN VK_ENTER 1,2,3,4,5,6,7,8,9,0 MENU

<link id=lSelecaoVermelho/> xconnector=connectors#onKeySelectionAbortN> <bind component=botaoVermelho role=onSelection> <bindParam name=keyCode value=RED/> </bind> <bind component=video1 role=abort/> <bind component=botaoVermelho role=abort/>

</link>

Interatividade com o usurio


Com elos de sincronismo Com interatividade

Reproduzir um vdeo em LOOP at que o usurio pressione o boto VERMELHO e redimensionar o vdeo caso o boto VERDE seja apertado.

Alterar os valores das propriedades:


left, top, width ou height ou ... bounds (formato: left, top, width, height)

Reproduz um vdeo em LOOP at que o usurio pressione o boto VERMELHO e redimensiona o vdeo caso o boto VERDE seja apertado.
<media id=video1 src=video1.mpg descriptor=dVideo1> <property name=bounds/> </media> <link id=resizeVideo1 xconnector=onSelectionSetN> <bind component=botaoVermelho role=onSelection> <bindParam name=keyCode value=RED/> </bind> <bind component= video1 interface=bounds role=set> <bindParam name=var value=10,10,100,100/> </bind> </link>

Defina um conector que:


1. Quando uma tecla pressionada, 2. pause uma nica mdia imediatamente, 3. cause o trmino de uma ou mais mdias imediatamente e finalmente 4. cause o incio de uma ou mais mdias imediatamente
Todas aes devero ocorrer em sequncia, conforme descrio textual

Defina uma apresentao que utilize o conector definido no exerccio anterior.

Todas aes devero ocorrer em sequncia, conforme descrio textual. Requisito: pelo menos 2 mdias para cada uma das duas ltimas sentenas.

O programa inicia com um vdeo e um menu com 3 botes de opo. A navegao entre os botes do menu feita com as setas direcionais (para cima e para baixo). A seleo de um dos botes feita com o boto OK do controle remoto.
Ao pressionar OK (com o foco em um dos 3 botes), o vdeo e o menu so pausados e um texto com a opo selecionada exibido.

<descriptorBase> <descriptor id=dVideo1 rg=rgVideo1/> <descriptor id=dOpcao1 rg=rgOpcao1 focusIndex=1 moveDown=2 focusBorderWidth=0 focusSrc=opcao1.png/> <descriptor id=dOpcao2 rg=rgOpcao2 focusIndex=2 moveDown=3 moveUp=1 focusBorderWidth=0 focusSrc=opcao2.png/> </descriptorBase>

Este material foi desenvolvido com base no material fornecido pela PUC-Rio na oficina de formao de tutores do Projeto Ginga Brasil (2008) e no material relacionado a TV Digital do Dia de Java (2008) UFSCar. Agradecimentos:
Prof. Luiz Fernando Gomes Soares (PUC-Rio) Prof. Carlos de Salles Soares Neto (PUC-Rio) Prof. Simone D.J.Barbosa (PUC-Rio) Giliard Brito de Freitas (UFSCar) Paulo Muniz de vila (UFSCar)

http://lince.dc.ufscar.br http://www.softwarepublico.gov.br