ESTUDO E DESENVOLVIMENTO DE UMA SOLUÇÃO BASEADA EM PADRÕES ABERTOS PARA SINCRONIZAÇÃO DE SLIDES COM STREAMING DE ÁUDIO E VÍDEO

Tamanho: px
Começar a partir da página:

Download "ESTUDO E DESENVOLVIMENTO DE UMA SOLUÇÃO BASEADA EM PADRÕES ABERTOS PARA SINCRONIZAÇÃO DE SLIDES COM STREAMING DE ÁUDIO E VÍDEO"

Transcrição

1 CENTRO UNIVERSITÁRIO UNIVATES CURSO DE ENGENHARIA DA COMPUTAÇÃO Armando Taffarel Neto ESTUDO E DESENVOLVIMENTO DE UMA SOLUÇÃO BASEADA EM PADRÕES ABERTOS PARA SINCRONIZAÇÃO DE SLIDES COM STREAMING DE ÁUDIO E VÍDEO Lajeado, dezembro de 2007

2 Armando Taffarel Neto ESTUDO E DESENVOLVIMENTO DE UMA SOLUÇÃO BASEADA EM PADRÕES ABERTOS PARA SINCRONIZAÇÃO DE SLIDES COM STREAMING DE ÁUDIO E VÍDEO Trabalho de conclusão de curso apresentado ao Centro Universitário UNIVATES para a obtenção do título de Bacharel em Engenharia da Computação. Orientador: Marcelo de Gomensoro Malheiros Lajeado, dezembro de 2007

3 AGRADECIMENTOS Ao meu orientador, professor Marcelo de Gomensoro Malheiros, pela sugestão do tema, pela dedicação e pela grande ajuda em todas as fases do trabalho. Ao professor Ronaldo Hüsemann, pela grande disponibilidade em ajudar e contribuir e pelas orientações que foram fundamentais em vários momentos. A todos os professores do curso de Engenharia da Computação, que de uma forma ou de outra contribuíram para a realização deste trabalho, seja de forma direta ou indireta. Aos meus pais Sueli e Flávio, e às minhas irmãs, Flávia e Mariana, pelo incentivo e pela infra estrutura, sempre presentes e atuantes e nunca medindo esforços para ajudar quando necessário, sempre da melhor forma possível. À minha namorada Lisandra, que sempre esteve ao meu lado me apoiando, me cuidando e me dando forças para seguir sempre em frente, suportando noites mal dormidas por causa dos estudos e tolerando minhas ausências. Aos meus amigos, sempre presentes, compartilhando idéias e emoções e ajudando a esfriar a cabeça quando ela superaquecia com os estudos. Aos meus colegas formandos de Engenharia da Computação, pela corrente positiva que nos fez chegar até aqui. TEM QUE SER!

4 RESUMO Este trabalho apresenta uma solução para sincronização de slides com um streaming de áudio e vídeo utilizando apenas tecnologias livres de patentes e de código fonte aberto. O objetivo principal é simular virtualmente um ambiente não interativo de sala de aula. A solução contempla os quatro estágios de streaming: captura, codificação, distribuição e visualização. Ela foi desenvolvida combinando se uma série de tecnologias existentes e adaptando se algumas delas. Diversos testes foram feitos e diferentes cenários foram simulados com o intuito de construir uma solução flexível e robusta. Desta forma, este trabalho pretende contribuir para o crescimento do ensino à distância, especialmente no que diz respeito ao uso de soluções livres. Palavras chave: streaming, slides, sincronização, ensino à distância

5 ABSTRACT This work presents a solution for the slide synchronization with audio and video streaming only using patent free and open source technologies. The main goal is to virtually simulate a non interactive classroom environment. The solution comprises the four stages of streaming: capture, coding, distribution and visualization. It was developed combining a set of existing technologies and adapting some of them. Several tests were made and various setups were simulated aiming to build a flexible and robust solution. Therefore, this work wants to contribute for the distance learning expansion, specially regarding to the use of free solutions. Keywords: streaming, slides, synchronization, distance learning

6 LISTA DE SIGLAS E ABREVIATURAS AVC Advanced Video Coding bps bits por segundo CBR Constant Bit Rate HTML HyperText Markup Language IP Internet Protocol ITU International Telecommunications Union MSE Mean Squared Error NTSC National Television Standards Committee PAL Phase Alternation by Line PPM Portable PixMap PSNR Peak Signal-to-Noise Ratio RGB Red Green Blue RLE Run-Length Encoding SECAM Sequential Color and Memory VBR Variable Bit Rate

7 LISTA DE FIGURAS FIGURA 1 Os padrões RGB e YUV...22 FIGURA 2 Uma onda de som é digitalizada usando amostragem discreta...23 FIGURA 3 O modelo cliente/servidor...34 FIGURA 4 O streaming como uma alternativa para transmissão multimídia...37 FIGURA 5 Os quatro estágios do streaming...38 FIGURA 6 O streaming desde a captura até a visualização...41 FIGURA 7 Streaming em tempo real...42 FIGURA 8 Streaming sob demanda...43 FIGURA 9 Reprodução de multimídia via streaming...44 FIGURA 10 Taxa de bits varíavel e constante...46 FIGURA 11 O Gstreamer perante seus plugins e outras aplicações...58

8 8 FIGURA 12 Interligação de elementos do Gstreamer...59 FIGURA 13 Representação de pipeline para reproduzir Ogg com vídeo e áudio...59 FIGURA 14 Exemplo de tela de administração do Flumotion...62 FIGURA 15 Tela de demonstração do Adobe Acrobat Connect Professional...67 FIGURA 16 Tela de demonstração do Microsoft Office Live Meeting...68 FIGURA 17 Tela de demonstração do Wimba Classroom...69 FIGURA 18 Tela de demonstração do LearnLinc...70 FIGURA 19 Esquema para capturar a saída de vídeo do computador...74 FIGURA 20 Esquema para capturar o ambiente compartilhado via RFB...76 FIGURA 21 Esquema para capturar o ambiente compartilhado via chamadas ao modo gráfico do GNU/Linux...77 FIGURA 22 Exemplos de conversores de vídeo...83 FIGURA 23 Applet Cortado adaptado...97 FIGURA 24 Comparação do PSNR do vídeo dos slides entre as três formas de captura FIGURA 25 Comparação do PSNR do vídeo dos slides entre as três formas de captura com base na taxa de bits FIGURA 26 Comparação da taxa de bits do vídeo dos slides entre as três formas de captura

9 9 com base na codificação VBR FIGURA 27 Comparação do uso de processamento entre as três formas de captura usando VBR e CBR...112

10 LISTA DE TABELAS TABELA 1 Comparação entre os codecs de vídeo mais utilizados...50 TABELA 2 Comparação entre os codecs de áudio mais utilizados...52 TABELA 3 Comparação entre os containers mais utilizados para streaming...53 TABELA 4 Versões de tecnologias livres utilizadas...65 TABELA 5 Cenários utilizados nos testes TABELA 6 Testes com forma analógica de captura TABELA 7 Testes com captura via RFB TABELA 8 Testes com captura via Xlib TABELA 8 Comparativo entre formas de captura de slides...113

11 SUMÁRIO 1 INTRODUÇÃO MULTIMÍDIA Vídeo Vídeo analógico Vídeo digital Espaço de conversão de cor Áudio Áudio digital Canais de áudio Compressão de dados Compressão sem perda Compressão com perda Compressão e codificação de vídeo Compressão e codificação de áudio Containers de dados...32

12 12 3 STREAMING Redes de computadores Streaming Aplicações do streaming A arquitetura do streaming Os estágios de captura e codificação O estágio armazenamento e/ou distribuição Streaming em tempo real Streaming sob demanda O estágio de visualização Taxa de bits constante e variável TECNOLOGIAS EXISTENTES Padrões e codecs de vídeo Padrões e codecs de áudio Containers de dados Tecnologias livres O Formato Ogg O Codec Vorbis O Codec Theora O Framework Gstreamer O Servidor Flumotion O applet Cortado O distribuidor Icecast...64

13 Versões utilizadas Ferramentas proprietárias para ensino à distância Adobe Acrobat Connect Professional Microsoft Office Live Meeting Wimba Classroom ilinc ESPECIFICAÇÃO DO AMBIENTE DE TRABALHO Recursos para a captura Captura de vídeo Captura de áudio Captura de apresentação de slides Captura da saída de vídeo do computador Captura do ambiente de trabalho compartilhado via RFB Captura do ambiente de trabalho compartilhado via chamadas ao modo gráfico do GNU/Linux Recursos para a codificação Recursos para a distribuição Recursos para a visualização DETALHAMENTO DA IMPLEMENTAÇÃO O estágio de captura Captura da saída de vídeo do computador Captura do ambiente de trabalho compartilhado via RFB Captura do ambiente de trabalho compartilhado via chamadas ao modo gráfico do GNU/Linux...86

14 O estágio de codificação O estágio de distribuição Os cenários completos desde a captura até a distribuição O cenário de captura da saída de vídeo do computador O cenário de captura da saída do ambiente compartilhado via RFB O cenário de captura da saída do ambiente compartilhado via chamadas ao modo gráfico do GNU/Linux O cenário de distribuição utilizando o Icecast O estágio de visualização ANÁLISE DA IMPLEMENTAÇÃO Captura e codificação Cenários utilizados nos testes Testes com a captura da saída de vídeo do computador Testes com a captura via RFB Testes com a captura via chamadas à Xlib Análises comparativas Distribuição Visualização CONCLUSÃO REFERÊNCIAS APÊNDICES...121

15 1 INTRODUÇÃO Os recursos multimídia, através do som e da imagem, estão cada vez mais presentes em nossas vidas e têm contribuído consideravelmente para o aumento da quantidade de conhecimento disponível, com uma qualidade cada vez maior. O livre acesso à informação é uma realidade cada vez mais notada pela sociedade, principalmente devido à popularização da Internet. A televisão, aos poucos, foi substituindo o rádio e o cinema e se tornou um importante meio de comunicação em massa. A Internet, aos poucos, está tomando espaço da televisão convencional, e a tendência é que isto se acentue com o tempo, principalmente através da adaptação deste modelo de televisão para a televisão digital interativa. O ensino à distância, utilizando se da multimídia, pode possibilitar o acesso a uma parte da população que não tem condições de bancar os estudos, uma vez que este modelo de ensino proporciona redução de custos principalmente em relação à infra estrutura física (DO AMARAL, 2004). O desenvolvimento de novas tecnologias de informação e comunicação tem sido relevante para a criação de ambientes de aprendizagem que expandam as oportunidades de combinação de recursos tecnológicos e humanos. O ensino à distância faz o uso destas novas tecnologias para que o aluno não tenha limitações geográficas e que dependa de uma sala de aula presencial para buscar sua qualificação (MEHLECKE, 2003).

16 16 Seguindo esta linha, está se tornando comum a criação de ferramentas que simulam o ambiente de sala de aula através da Internet. Grandes empresas, como a Adobe e a Microsoft, têm explorado bastante esta área. Porém, atualmente, não existem tecnologias livres que realizem esta tarefa. Este contexto deu a motivação e estabeleceu principal objetivo deste trabalho, que é apresentar uma solução que simula o ambiente de sala de aula não interativo através da Internet, combinando recursos de áudio e vídeo com slides de uma apresentação, utilizando se apenas tecnologias livres. Além do objetivo acima definido, e de características inerentes a ele, como o baixo custo devido ao fato do uso de tecnologias livres, outros objetivos podem ser ressaltados. O primeiro deles é atingir taxas de bits baixas em relação à qualidade do vídeo, do áudio e dos slides, permitindo que diversos clientes possam ser atendidos ao mesmo tempo. O segundo objetivo é atender a vários cenários distintos de captura dos slides, uma vez que a solução apresentada permite capturá los de três formas. O terceiro é fazer uma série de testes para validar a solução apresentada. Por fim, tem se também por objetivo avaliar e validar as tecnologias livres empregadas, para verificar se estas estão suficientemente maduras para utilização em ambientes de ensino à distância. A solução apresentada contempla todos os estágios do streaming, que vão desde a captura dos dados até a visualização do conteúdo por múltiplos clientes conectados através de uma rede de computadores. Com o trabalho aqui descrito, pretende se contribuir para o crescimento do ensino à distância, especialmente no que diz respeito à utilização e à difusão de tecnologias livres.

17 17 Os capítulos iniciais deste trabalho fornecem o embasamento teórico necessário para a compreensão dos capítulos posteriores, sendo que o Capítulo 2 apresenta a teoria sobre multimídia e o Capítulo 3 a teoria sobre streaming. Em seguida, no Capítulo 4, são apresentadas as tecnologias existentes relacionadas a este trabalho, tanto livres quanto proprietárias, bem como um maior detalhamento e uma justificativa da utilização das tecnologias livres empregadas no desenvolvimento do trabalho. Na seqüência, no Capítulo 5, é feita a especificação do ambiente de trabalho, onde são elencados os recursos necessários para a utilização da solução. No Capítulo 6 é feito o detalhamento da implementação, onde são apresentadas as adaptações necessárias a algumas tecnologias livres existentes e são dadas diretivas de configuração destas. No Capítulo 7 é feita uma análise da implementação, onde testes são apresentados juntamente com análises comparativas dos diversos cenários que foram montados para validar a solução. Por fim, no Capítulo 8, é apresentada uma conclusão, onde são comentados os resultados obtidos, são apresentadas as principais contribuições e são citadas possíveis continuações para este trabalho.

18 2 MULTIMÍDIA Este capítulo apresenta uma visão geral sobre multimídia, especialmente sobre os recursos de vídeo e áudio. Estas definições são fundamentais para dar embasamento à solução desenvolvida por este trabalho. 2.1 Vídeo A imagem em movimento, que também pode ser chamada de vídeo, é caracterizada por uma série de imagens projetadas de forma rápida e sucessiva para dar a idéia de movimento Vídeo analógico Quando as câmeras de vídeo foram desenvolvidas, as imagens de entrada eram capturadas, medidas e convertidas em uma série de valores elétricos. Estes valores, então, puderam ser disponibilizados, recebidos e convertidos novamente em imagens. O vídeo foi

19 19 dividido em quadros e cada quadro dividido em unidades que pudessem ser medidas, que são chamadas de linhas. Esta tecnologia é utilizada na televisão convencional até hoje. O NTSC (National Television Standards Committee)1 decidiu por 30 quadros por segundo como o padrão (baseado no valor de 60 Hz da corrente elétrica alternada), com cada quadro dividido em 525 linhas horizontais. Como a maioria dos países europeus tem a corrente elétrica em 50 Hz, houve a necessidade de criação de padrões com 25 quadros por segundo. Assim surgiram o PAL (Phase Alternation by Line)2 e o SECAM (Sequential Color and Memory)3, ambos com 625 linhas horizontais e 25 quadros por segundo Vídeo digital A revolução dos produtos eletrônicos nos últimos 50 anos introduziu o conceito de vídeo e áudio digital. Em vez de armazenar o áudio e o vídeo como valores elétricos ou ondas magnéticas, o sinal é representado como uma série de números (bits) armazenados em formato digital. Os formatos digitais têm alguns benefícios em relação aos analógicos, principalmente pelo fato de que as cópias entre este formato são idênticas, fato que não ocorre no sistema analógico, onde cada cópia sofre degradação, e, conseqüentemente, perde qualidade. Os formatos digitais também são mais fáceis de se editar e processar. 1 NTSC Sistema de televisão analógico usado principalmente nos Estados Unidos, Canadá e Japão. 2 PAL Sistema de televisão analógico usado principalmente na Europa. O Brasil usa uma variante do PAL chamada PAL M. 3 SECAM Sistema de televisão analógico usado principalmente na França e Rússia.

20 20 Antes de iniciar o processo de edição e codificação do vídeo, é necessário que este seja transferido para o computador num formato que ele possa manipular. Se a fonte geradora de vídeo for analógica, é necessária a utilização de algum equipamento, como uma placa de captura de vídeo, que transforme o sinal analógico em digital. Se a fonte geradora for digital, os dados simplesmente são transferidos digitalmente entre a fonte geradora e o computador através de canais de alta velocidade como FireWire1 ou USB 2.0. A digitalização de vídeo consiste em dividir cada quadro em uma série de pixels. O pixel é o menor ponto (ou menor elemento) de uma imagem com uma cor atribuída. A medição do número de pixels horizontais pelo número de pixels verticais é denominada resolução, e esta resolução define o tamanho de cada quadro. O problema é que digitalizar vídeo em alta qualidade significa usar a maior resolução possível, e quanto mais alta for a resolução, mais pixels existirão, o que significa armazenar mais dados. Um dos desenvolvimentos mais importantes dos últimos anos foi o do padrão IEEE Muitos computadores e câmeras estão vindo com este padrão embutido numa porta FireWire. Utilizando FireWire, o vídeo pode ser transferido digitalmente, direto da câmera para o computador. Quando um vídeo analógico é digitalizado, ocorrem perdas de informação, ou seja, degradação da qualidade. Quando o processo é inteiramente digital, os dados são transferidos fielmente para o computador. Neste caso, a única perda que ocorre é em relação à capacidade que o sensor da câmera digital tem de capturar o mundo real. 1 FireWire Interface serial do padrão IEEE 1394 para computadores pessoais e aparelhos digitais de áudio e vídeo que oferece comunicação de alta velocidade. É o padrão digital de conexão para áudio e vídeo mais utilizado profissionalmente.

21 Espaço de conversão de cor O mecanismo biológico responsável pela visão humana tem dois tipos de sensores: os bastões, que são sensíveis à intensidade da luz; e os cones, que são sensíveis aos níveis do espectro visível, composto pelas cores vermelho, verde e azul, que dão origem ao formato chamado de RGB1 (Red Green Blue). Para dar uma impressão realística das cores, o sistema de televisão é baseado no espectro de visão das três cores primárias, justamente composto pelas cores que formam o RGB. Para representar o formato RGB digitalmente, tipicamente são necessários 24 bits para cada pixel de uma imagem, sendo 8 para cada cor, especificando o nível de intensidade de cada uma delas. Uma das necessidades do padrão NTSC inicialmente era manter a compatibilidade com o sistema monocromático. Para este fim, o espaço de cor RGB pode ser mapeado (através de uma matriz de cor) em sinal de luminância (já utilizado pelo receptor monocromático) e duas diferenças de cor ou sinais de crominância. O componente de luminância é chamado de Y, e os componentes de cor são chamado de Blue Y (ou U) e Red Y (ou V). Este esquema de cores é chamado de YUV. Num processo reverso, o sinal original RGB pode ser derivado pelo receptor a partir do YUV. Este processo é ilustrado na FIGURA 1. 1 RGB Sistema de cor aditivo composto pelas cores primárias vermelho, verde e azul.

22 22 FIGURA 1 Os padrões RGB e YUV Fonte: Austerberry (2004) O esquema de cores YUV pode utilizar as limitações da visão humana para mostrar a mesma quantidade de informação perceptível em 24, 16, 12 ou 9 bits, com alguma degradação de qualidade. Isso é feito reduzindo os valores de crominância, que trazem menos informações perceptíveis ao sistema de visão humana que a luminância, e pode ser útil para reduzir a largura de banda necessária e a capacidade de armazenamento. 2.2 Áudio As tecnologias de armazenamento de áudio digital, como os discos compactos (CDs), já estão difundidas há muito tempo, e, principalmente pela qualidade e custo acessível, já se tornaram padrão de mercado.

23 Áudio digital Para digitalizar o áudio, é necessário converter as ondas elétricas do sinal analógico em informação digital. Para fazer isto, são feitas medições da amplitude da onda em diferentes pontos uniformemente espalhados no tempo e os valores resultantes são armazenados seqüencialmente. A FIGURA 2 ilustra esta transformação. FIGURA 2 Uma onda de som é digitalizada usando amostragem discreta Fonte: Mack (2002) Por natureza, o áudio digital envolve amostragem discreta. Cada caixa dentro da forma de onda original na FIGURA 2 representa uma amostra. Quanto mais alta for a taxa de amostragem, mais precisa será a forma de onda digitalizada. Isto ocorre devido à existência de um mecanismo de filtragem analógico inerente ao mecanismo de audição humana. Como pode ser visto na FIGURA 2, transformar um áudio analógico em digital resulta na representação de degraus para simular a curva original. Conforme a taxa de amostragem aumenta, o efeito de degraus fica menos perceptível, e o resultado digital se aproxima da curva original.

24 24 Outra medida importante no áudio digital é a largura de bits (ou bit length). Para cada amostra coletada, é necessário associar um número ao valor elétrico. A largura de bits se refere ao número de bits utilizados para armazenar esse valor numérico. Quanto mais bits forem usados, maior será a precisão. Os CDs, por exemplo, são amostrados numa taxa de amostras por segundo (44.1 khz). Em relação à largura de bits, os CDs utilizam 16 bits de largura para cada amostra. Isto é considerado suficiente para capturar o espectro audível completo Canais de áudio O áudio pode ser transmitido como um canal simples, chamado de monofônico (ou mono), ou pode ter uma informação de alcance espacial através da utilização de multicanais. Quando um som tem dois canais, ele é chamado de estéreo, e esse é o padrão mais popular para a reprodução de áudio digital. O cinema e os home theaters introduziram o áudio surround, que simula um som envolvente, como se o ouvinte estivesse dentro do som. O surround geralmente está no formato 5.1, que se refere a cinco canais mais um canal de efeitos de baixa freqüência (graves).

25 Compressão de dados A compressão de dados reduz o número de bits utilizados para representar uma informação. As técnicas utilizadas para comprimir vídeo e áudio são diferentes, ou seja, deve se procurar uma técnica de compressão adequada para cada situação. Os algoritmos de compressão de dados são classificados de duas maneiras: sem perda, onde o arquivo original pode ser recriado exatamente a partir de um arquivo comprimido e com perda, onde o arquivo descomprimido é uma aproximação do arquivo original o quanto aproximado é em relação ao original depende da quantidade de compressão utilizada Compressão sem perda A compressão sem perda tira vantagem da informação redundante. Esta redundância pode ser representada de uma maneira mais eficiente. Por exemplo, a seqüência AAAAAAAA pode ser armazenada como 8A. Esta técnica é conhecida como compressão RLE (Run Length Encoding). Neste exemplo, em vez de armazenar oito caracteres, é necessário armazenar apenas dois. Neste caso simples, a necessidade de armazenamento é reduzida em 75%. Outra técnica de compressão sem perda é conhecida como entropia. Entre estas técnicas, está a codificação de Huffman, nomeada pelo seu criador, David Huffman. Esta técnica se baseia na distribuição de valores para garantir maior eficiência, ou seja, valores repetidos, muitas vezes, têm menor representação de bits.

26 26 Os algoritmos de compressão de arquivos utilizam técnicas de compressão sem perdas. Os arquivos originais podem ser recriados exatamente como estavam antes de serem comprimidos. A compressão de dados sem perda é útil para manter a qualidade, porém a proporção de compressão costuma ser moderada Compressão com perda A compressão com perda é caracteriza por altas proporções de compressão através do descarte de informações que são consideradas redundantes ou desnecessárias. Pelo fato de algumas informações serem descartadas, a recriação da informação original se torna impossível. Algumas vezes os algoritmos de compressão com perda precisam ser severos. Em casos de extrema compressão, estes algoritmos fazem o melhor para reter a qualidade original, mas podem ser forçados a descartar uma grande quantidade de informação. O objetivo em casos como este é tentar manter a informação mais importante e descartar o resto, fazendo com que a perda se torne menos perceptível. Inevitavelmente, com o aumento da complexidade dos algoritmos de compressão com perda, aumenta também a quantidade de recursos de processamento necessários para comprimir os dados.

27 Compressão e codificação de vídeo Um vídeo digitalizado bruto, ou seja, sem nenhuma compressão, com uma resolução de 640x480 pixels, com 30 quadros por segundo, pode ter seu tamanho obtido através do seguinte cálculo: 640 * 480 * 30 = pixels * 24 bits (RGB) = bits / 8 = bytes / 1024 / 1024 = 26,4 MB Em apenas um segundo de um vídeo bruto em formato VGA, tem se 26,4 MB de informação, o que torna praticamente inviável o seu armazenamento em termos de volume de dados, pois uma hora de vídeo ultrapassa 92 GB de informação. Inevitavelmente é necessário encontrar uma forma de reduzir este volume de dados. Caso a resolução do vídeo seja maior, como um vídeo de alta definição (1920x1080), este problema é ainda mais crítico. As formas mais imediatas para reduzir os dados são o tamanho da tela e a relação de quadros. A redução desses dois fatores não caracteriza uma compressão de dados, e sim um descarte de informação ajustado de acordo com a necessidade da aplicação. Num exemplo simples, se for multiplicado um quadro de 640x480, teremos mais de trezentos mil pixels de informação. Se o quadro for dividido pela metade, ou seja, 320x240, teremos apenas um quarto dos pixels em relação ao quadro anterior. Essa é uma definição importante para se definir um meio termo entre o tamanho do quadro e a qualidade do vídeo. Outra forma de economia é reduzir a relação de quadros por segundo. Qualquer valor acima de vinte quadros por segundo é adequado para que o olho humano tenha a idéia de

28 28 movimento. Porém, para conteúdos que têm pouco movimento, é seguro reduzir o número de quadros obtendo uma percepção de movimento aceitável. Só para se ter uma idéia, se aquela resolução inicial de 640x480, com trinta quadros por segundo, for reduzida para 160x120, com dez quadros por segundo, teremos apenas 3,125% de informação em relação ao início. Após este redução de informação, caso ela seja necessária, inicia se o processo de compressão propriamente dito. Os sistemas de compressão de imagem exploram o mecanismo de percepção visual para remover informações redundantes, mas produzem uma experiência visual convincente. Existem diversas técnicas que os algoritmos de compressão de vídeo utilizam para economizar informação. Entre elas está a compressão interframe, que também é conhecida por compressão temporal. Esta técnica conta com o fato de que boa parte (ou todo) do conteúdo do vídeo pode permanecer inalterado entre os quadros, ou seja, que haja uma redundância entre as imagens. Desta forma, é armazenada apenas a diferença entre os quadros, e o que permaneceu inalterado é descartado. Como existe erro associado à localização das redundâncias, os algoritmos que utilizam essa técnica precisam inicialmente comprimir um quadro completo para estabelecer os elementos presentes na imagem para então calcular as diferenças entre os quadros. O quadro estabelecido é chamado de quadro de referência e os outros são chamados de quadros de diferença. Em vídeos onde há pouco movimento, essa economia pode ser significativa, pois não será necessário utilizar muitos quadros de referência. Outra técnica importante é a compressão intraframe. Esta técnica se baseia na compressão de cada quadro separadamente, ao contrário da interframe, que utiliza a relação entre quadros. Como exemplos de mecanismos que utilizam essa técnica pode se citar o PNG e o JPEG.

29 29 Além das técnicas citadas, existem outras que exploram as redundâncias existentes em um sinal de vídeo. Basicamente a redundância pode ser classificada em espacial, temporal, de percepção e estatística. A redundância espacial é explorada através de técnicas como a compressão intraframe. A temporal é explorada por compressões como a interframe. A redundância de percepção explora o sistema de visão humano, que não trata todos os tipos de informação visual com a mesma relevância, como, por exemplo, a baixa habilidade de perceber detalhes de cor se comparados com luminosidade. Por último, vem a compressão estatística, que busca repetições (já visto na compressão sem perda) no sinal de vídeo para economizar informação. Todas estas técnicas podem ser combinadas para que se obtenha um resultado final mais satisfatório. Os programas que realizam esta compressão são chamados de codec. Eles utilizam uma série de algoritmos matemáticos que transformam dados de um formato para outro. Seu nome é dado através de uma abreviação de codificação/decodificação. Os codecs são utilizados para reduzir o tamanho das informações de vídeo e áudio originais (brutos). Posteriormente, eles são utilizados para converter os dados comprimidos de volta ao formato original para que possam ser visualizados pelo cliente. Para que isto seja possível, o mesmo codec que foi utilizado para comprimir os dados deve ser utilizado para os descomprimir. Os codecs costumam combinar diversas técnicas de compressão de dados para conseguir um maior desempenho na compactação, e podem ser caracterizados como simétricos ou assimétricos. Um codec simétrico necessita de menos processamento no servidor, porém, a quantidade de processamento utilizada na codificação e na decodificação

30 30 são semelhantes. Já os codecs assimétricos utilizam técnicas de compressão que exigem mais tarefas que as de descompressão. Isto significa que o processo de codificação necessita de mais processamento que a decodificação Compressão e codificação de áudio Um áudio digitalizado bruto com uma taxa de amostragem de 44.1kHz, com uma largura de 16 bits, com dois canais, pode ter seu tamanho obtido através do seguinte cálculo: * 16 * 2 = bits / 8 = bytes / 1024 = 172,27 KB 172,27 * 60 / 1024 = 10MB Em um minuto de um áudio bruto em formato PCM, teremos aproximadamente 10MB de informação. Neste caso, o problema de armazenamento não é tão crítico quanto do vídeo, mas uma transmissão através da Internet utilizando estes dados se torna inviável. Uma técnica simples para diminuir a quantidade de informação relativa ao áudio é diminuir o número de canais. Por exemplo, se um sinal estéreo for convertido num sinal monofônico, a quantidade de informação necessária para representar o áudio será reduzida pela metade. Outro fator determinante para a diminuição dos dados é taxa de amostras. Este valor pode ser restringido de acordo com o tipo de conteúdo que está sendo comprimido. Por

31 31 exemplo, para voz humana, 8kHz é suficiente, mas para sons de alta definição é necessário utilizar freqüências maiores que 44kHz, como é utilizado no CD. Após esta redução de informação, inicia se o processo de compressão propriamente dito. Na compressão de áudio, o objetivo é manter a taxa e a dinâmica da freqüência original. Se a taxa de bits por segundo for alta, isso é facilmente atingido. Porém, conforme a taxa de bits for diminuindo, esse objetivo fica difícil de ser atingido, e torna se necessário abrir mão de alguns dados. As técnicas de compressão baseadas na percepção auxiliam na manutenção da fidelidade tomando decisões sobre o que pode seguramente ser descartado e para que parte do áudio é necessário destinar mais bits. Muitas características da audição humana também são exploradas pelas técnicas de compressão baseadas na percepção. O estudo desta audição é chamado de psicoacústica. Entre os fatores que são explorados por esta técnica estão a faixa de freqüência que o ouvido humano pode detectar, com a definição do ponto mínimo da audição, onde freqüências acima e abaixo dessa faixa podem ser descartadas, o mascaramento, onde sons muito altos fazem outros de volume mais baixo se tornem inaudíveis, tornando possível que esses possam ser descartados, e também a curva de resposta da audição humana, que não é linear. Os codecs utilizados para vídeo e áudio são diferentes, pois as técnicas de compressão também são diferentes. No caso dos codecs de áudio, existe um detalhe que torna a codificação mais complexa. As técnicas que os codecs utilizam para comprimir música e voz são diferentes. Em virtude disto, existem codecs de áudio específicos para voz e outros para propósito geral.

32 Containers de dados Depois de o áudio e o vídeo serem codificados, eles precisam ser colocados encapsulados. Este encapsulamento, que podem conter vários tipos de dados, geralmente áudio e/ou vídeo comprimidos por um codec, são chamados de containers. Os containers empacotam o áudio e o vídeo usando marcações ou índices. Isto permite que diversos áudios e/ou diversos vídeos possam estar dentro de um único arquivo, tornando possível, por exemplo, que um vídeo possa ser transmitido em múltiplas línguas. Os containers mais modernos possibilitam também que o arquivo contenha outros tipos de conteúdo, como legendas e imagens.

33 3 STREAMING Neste capítulo são apresentados os conceitos de redes de computadores e de streaming. Estes assuntos também são fundamentais para dar embasamento à solução proposta por este trabalho. 3.1 Redes de computadores Devido ao rápido progresso tecnológico, principalmente no campo da informação, todas as áreas da tecnologia estão convergindo rapidamente. À medida que cresce nossa capacidade de colher, processar e distribuir informações, torna se ainda maior a necessidade de formas de processamento de informações cada vez mais sofisticadas (Austerberry, 2004). Para atender essas necessidades, surgiram as redes de computadores, que tornaram possível a troca de informações entre uma série de computadores interconectados. Com o passar dos anos, surgiu a necessidade de que as redes de computadores, além de interligarem computadores próximos, também pudessem interligar computadores ou redes

34 34 mais distantes. A partir dessa necessidade, com a conglomeração de diversas redes de computadores, surgiu a Internet. Através da Internet, é possível que pessoas e empresas de todo o mundo estejam interligadas e possam trocar informações e compartilhar recursos. Esta interligação possibilita, entre outras coisas, o acesso a informações remotas, a comunicação entre pessoas, a diversão interativa, podendo até, em alguns casos, substituir a presença física. As redes de computadores possibilitam a utilização de computadores centralizadores de serviços, que são chamados de servidores. Esses computadores centralizam serviços para uma rede local, como compartilhamento de arquivos e autenticação ou até mesmo para a Internet, como um servidor de páginas de conteúdo ou um servidor de correio eletrônico. Os usuários que utilizam esses serviços, através de seus computadores pessoais, são os clientes. No modelo cliente/servidor, a comunicação costuma se dar através de uma mensagem de solicitação do cliente enviada ao servidor, pedindo para que alguma tarefa seja executada ou alguma informação seja disponibilizada. Em seguida, o servidor atende à requisição e envia a resposta. Geralmente, há muitos clientes usando um pequeno número de servidores (Tanenbaum, 1997). Este modelo é ilustrado na FIGURA 3. FIGURA 3 O modelo cliente/servidor Fonte: Tanenbaum (1997)

35 35 Para a comunicação entre cliente e servidor, a definição de largura de banda é um característica fundamental. A largura de banda se refere à taxa de dados que são enviados num intervalo de tempo, sendo calculada através do número de bytes transmitidos por segundo em uma direção durante um determinado intervalo de tempo. 3.2 Streaming O áudio e o vídeo são meios mais naturais de comunicação do que o texto e a imagem, já usados por décadas na Internet. A multimídia está e estará cada vez mais presente na Internet, principalmente através das páginas Web. A tendência é que as páginas estáticas, aos poucos, sejam substituídas por páginas dinâmicas com cada vez mais recursos multimídia. Uma boa alternativa para contribuir com isso é o streaming, que é a tecnologia que possibilita o envio de informações multimídia (geralmente vídeo e áudio) através de uma rede de computadores. O streaming é caracterizado pelo fato de o cliente receber o conteúdo multimídia como um um fluxo de informação contínuo. Também é caracterizado por não ser necessário que todos os dados cheguem no cliente, pois a apresentação pode começar assim que chegarem os primeiros dados. Depois que o cliente visualiza o conteúdo do streaming, os dados são descartados. Esta característica de descarte de dados é inédita do streaming. Na televisão convencional, o aparelho doméstico apenas recebe o sinal, o que caracteriza uma conexão de apenas uma direção. No streaming, uma conexão bidirecional é mantida enquanto o espectador estiver recebendo informação, o que possibilita adicionar

36 36 recursos de interatividade ou até mesmo saber quantos espectadores estão conectados em determinado momento. Conforme os equipamentos relacionados à multimídia foram evoluindo, a qualidade e a fidelidade das imagens também foram aumentando, e essa é uma relação que deve se manter com o surgimento de novas tecnologias. Ironicamente, o streaming inverteu essa tendência. Enquanto clientes e produtores de conteúdo necessitam da melhor qualidade possível, as limitações das larguras de banda impuseram severas restrições na taxa de bits por segundo do streaming, o que afeta sua qualidade. O cabo de guerra entre qualidade e largura de banda é o que direciona o desenvolvimento do streaming atualmente. Conforme a tecnologia melhora e a largura de banda aumenta, essa relação tende a mudar, e, portanto, pode ser vista como um empecilho temporário. Novas tecnologias estão começando a auxiliar na inversão desta relação Aplicações do streaming Potencialmente, o streaming pode ser utilizado em ensino à distância (aulas, palestras, treinamentos), entretenimento, publicidade e comunicação corporativa (relações humanas, monitoramento, relacionamento com imprensa). O ensino à distância deve crescer exponencialmente com a consolidação do streaming como uma alternativa de disponibilização de informação. Ainda hoje, boa parte do ensino à distância é baseado em correio eletrônico e conteúdos estáticos. Com streaming, é possível que a informação seja disponibiliza de uma forma mais eficaz, ou seja, em tempo real com recursos de interatividade.

37 37 A FIGURA 4 ilustra algumas aplicações do streaming, neste caso como uma alternativa para o CD ROM e para o DVD, e principalmente para o videocassete e para o conteúdo disponibilizado via satélite, nesses últimos casos substituindo a televisão convencional. FIGURA 4 O streaming como uma alternativa para transmissão multimídia Fonte: Austerberry (2004)

38 A arquitetura do streaming Basicamente, existem quatro estágios que definem a arquitetura de um streaming, desde sua captura até sua visualização. A FIGURA 5 ilustra esta arquitetura. FIGURA 5 Os quatro estágios do streaming Fonte: Austerberry (2004) O estágio de captura capta o áudio e o vídeo do microfone e da câmera. O estágio de codificação processa o áudio e o vídeo e os encapsula em um arquivo. Posteriormente, este arquivo é enviado para um servidor de conteúdo, que pode transmiti lo em tempo real ou armazená lo para transmissão em outro momento. O último estágio, o de visualização, recebe o streaming e é responsável por descompactar o arquivo e reproduzir o vídeo e o áudio no cliente.

39 Os estágios de captura e codificação Antes do áudio e do vídeo serem transmitidos via streaming, eles precisam passar por uma série de estágios de processamento. Os estágios de captura e codificação de vídeo começam com alguma fonte geradora de imagem ou de som, como uma câmera, por exemplo. O segundo passo é capturar o vídeo ou o áudio e transformá los em vídeo bruto ou em áudio bruto, ou seja, nem nenhuma compactação, processo que é chamado de captura de vídeo ou digitalização. Finalmente, ele deve ser processado pelo codec, que comprime os dados conforme for indicado pelo administrador do sistema para atender a largura de banda desejada. 3.4 O estágio armazenamento e/ou distribuição O segundo estágio do streaming é o de armazenamento e/ou distribuição. Depois de criado o arquivo com os dados de vídeo e áudio, esse arquivo deve ser enviado a um servidor para distribuição através de uma rede de computadores ou armazenado para posteriormente ser distribuído sob demanda. O processo que permite a disponibilização do conteúdo através da rede é o streaming propriamente dito. O computador que executa esse processo pode ser o mesmo que executa o processo de captura e codificação. Um servidor de streaming é mais do que apenas um simples servidor de arquivos, pois ele controla a entrega do fluxo de informação em tempo real. Para disponibilizar o streaming, é necessária uma conexão persistente entre o cliente e o servidor e um fluxo contínuo de

40 40 dados. Se algum problema ocorrer, o serviço pode ser comprometido, o que pode resultar em um vídeo distorcido ou trancado ou em um áudio mudo ou com ruídos. O problema é que a Internet não foi originalmente projetada para suportar fluxos contínuos através de conexões persistentes. Uma série de desenvolvimentos estão ajudando a melhorar a qualidade de entrega. Um deles é o aumento da largura de banda das conexões com a Internet. Novos padrões estão se difundindo e as chamadas conexões de banda larga (conexões mais rápidas que as discadas) se popularizando. Um ponto importante da distribuição é a capacidade de atendimento de clientes. Este detalhe é muito importante para definir a taxa de bits do streaming na hora da codificação. Por exemplo, se o servidor tiver uma largura de banda de saída de 1Mbit/s, e o streaming estiver sendo codificado numa taxa de bits de 100kbps, no máximo dez clientes poderão ser atendidos simultaneamente. Se o streaming for codificado em 50kbps, vinte clientes poderão ser atendidos simultaneamente. Esta é uma decisão importante a ser tomada na hora de montar um serviço de streaming, sempre encontrando uma melhor relação custo x benefício. A FIGURA 6 ilustra um streaming desde a captura até a sua visualização. Primeiramente o áudio e o vídeo são digitalizados e comprimidos. Depois eles são unidos num container de dados. Posteriormente esse container é empacotado para que possa ser enviado através de uma rede de computadores. O passo seguinte é o tráfego dos pacotes de sua origem até seu destino através de uma rede IP (Internet Protocol). Já no cliente, container é desempacotado. Por último, o áudio e o vídeo são separados e descomprimidos para então serem reproduzidos.

41 41 FIGURA 6 O streaming desde a captura até a visualização Fonte: Austerberry (2004) Um streaming pode ser caracterizado como sendo em tempo real ou sob demanda.

42 Streaming em tempo real Um streaming pode ser considerado em tempo real quando a informação está sendo transmitida direto da fonte de captura para o espectador, ou seja, sem passar por um processo intermediário de gravação. Um sinônimo para streaming em tempo real é streaming ao vivo. O processo é similar à televisão convencional, onde o conteúdo é capturado e distribuído através de uma rede até o receptor doméstico. Nesta categoria do streaming, todos os espectadores assistem ao mesmo conteúdo ao mesmo tempo. Uma ilustração dessa categoria é mostrada na FIGURA 7. FIGURA 7 Streaming em tempo real Fonte: Austerberry (2004) Streaming sob demanda O streaming pode ser considerado sob demanda quando o conteúdo disponibilizado ao espectador está previamente gravado. Nesta categoria, o conteúdo é disponibilizado ao cliente do ponto que ele escolher. É possível que a qualquer momento o espectador possa assistir a um vídeo, e, também a qualquer momento, pausá lo. Este é o processo utilizado por grandes sites concentradores de arquivos multimídia. Este processo difere um pouco do download

43 43 tradicional, pois o conteúdo não precisa ser inteiramente baixado para ser assistido. Uma ilustração dessa categoria é mostrada na FIGURA 8. FIGURA 8 Streaming sob demanda Fonte: Austerberry (2004) 3.5 O estágio de visualização O último estágio do streaming é a visualização. Este processo é executado pelo reprodutor multimídia, que é equivalente ao receptor de televisão. Para que o reprodutor multimídia interprete os dados, é necessário que o mesmo codec que foi utilizado para codificar os dados seja utilizado para os decodificar.

44 44 Um reprodutor multimídia pode ser um software independente, instalado no sistema operacional ou um plug in1 em um navegador Web. Neste último caso, o streaming é tratado como parte de uma mídia rica (que pode ser composta por texto, imagem, som e vídeo), ou de uma página Web dinâmica. Atualmente este processo não se restringe a computadores normais. Já é possível que os streamings sejam disponibilizados para a televisão digital e para redes sem fio, onde celulares 3G e computadores de mão (PDAs) podem interpretar os dados. A FIGURA 9 ilustra esta relação. FIGURA 9 Reprodução de multimídia via streaming Fonte: Austerberry (2004) 1 Plug in Extensão que fornece recursos adicionais a um programa de computador, geralmente desenvolvido por terceiros.

45 Taxa de bits constante e variável Como a compressão de vídeo e de áudio se baseia, entre outras coisas, em redundância na informação, quanto ela ocorre bastante, a qualidade fica melhor, pois não é necessário descartar muita informação para atingir a taxa de bits especificada. Porém, quando há pouca redundância, é necessário descartar muita informação para atingir a taxa de bits especificada, o que acaba fazendo com que a qualidade piore. A maioria dos codecs de streaming, por padrão, codificam em taxa de bits constante (CBR Constant Bit Rate). Isto significa que sempre, em um determinado intervalo de tempo, teremos a mesma quantidade de dados. Por exemplo, em um streaming de 56kbps, teremos sempre bits por segundo. Quando a largura de banda disponível para distribuir o streaming for limitada, isto é uma vantagem, pois é possível saber exatamente quantos clientes poderão ser atendidos pelo serviço de streaming, supondo que a rede esteja sempre disponível. Além da codificação em taxa de bits constante, existe também a codificação em taxa de bits variável (VBR Variable Bit Rate). O vídeo MPEG 2, por exemplo, que é utilizado no DVD, tem uma taxa de bits variável, dependendo da entropia do conteúdo original. Para evitar a queda de qualidade, a taxa de bits do DVD aumenta quando há muito movimento na cena, passando do valor típico de 3Mbit/s para até 8Mbit/s. O resultado final é uma qualidade constante para quem está visualizando o vídeo. Na codificação do DVD, para otimizar a codificação com um tamanho de arquivo específico (capacidade do DVD) é necessário usar a técnica de duas passadas. A primeira apenas analisa o conteúdo e a segunda codifica utilizando os parâmetros da primeira.

46 46 A técnica de taxa de bits variável tem sido utilizada por alguns codecs de streaming, conseguindo melhorar a qualidade quando comparado com os mecanismo CBR. Os codecs utilizam o servidor e o buffer do cliente para usar uma taxa de bits média, simulando assim uma taxa de bits constante, o que para a rede de computadores fica imperceptível, ou seja, semelhante a uma taxa de bits fixa. A FIGURA 10 ilustra dois streamings, sendo um constante e outro variável. Pode se perceber que, durante as cenas de ação, a qualidade do streaming VBR é melhor que a do CBR. FIGURA 10 Taxa de bits varíavel e constante Fonte: Austerberry (2004)

47 4 TECNOLOGIAS EXISTENTES Neste capítulo são listadas as tecnologias existentes de codificação de vídeo, de codificação de áudio e de containers de dados, tanto proprietárias quanto livres. Na seqüência é apresentada uma visão mais aprofundada das tecnologias livres utilizadas para desenvolver a solução que este trabalho propõe, juntamente com a justificativa de escolha de cada uma delas. Por fim, são apresentadas as soluções proprietárias existentes para utilização em ensino à distância, que tem objetivo semelhante ao da solução livre apresentada por este trabalho. 4.1 Padrões e codecs de vídeo Existem diversos codecs de vídeo, entre proprietários, abertos e livres. Entre eles, muitos podem ser utilizados para streaming. Os principais padrões e codecs relacionados a esta tecnologia são listados a seguir. O H.261, criado em 1990, e o H.263, criado em 1995, são dois padrões de vídeo conferência que foram desenvolvidos pela ITU (International Telecommunications Union) quando começou a ficar muito óbvio que as

48 48 telecomunicações e as indústrias de computadores estavam andando cada vez mais lado a lado. Estes dois padrões formam a base de diversos outros codecs. A entidade MPEG (Moving Picture Experts Group) foi formada no final dos anos 80 para desenvolver um sistema para codificar os vídeos a serem usados pelas aplicações do CD ROM. O MPEG 1 foi criado em 1992 e foi inicialmente projetado para trabalhar com uma taxa de bits de 1.5Mbit/s (velocidade máxima de leitura do CD ROM na época) e fornecer qualidade semelhante ao VHS. O MPEG 2, criado em 1995, é uma evolução do MPEG 1, possibilitando a utilização de tamanhos de imagens e taxas de bits maiores, entre outros recursos. O padrão MPEG 2, até hoje, é muito difundido no mercado, e é a codificação de vídeo utilizada nos DVDs. O MPEG 4 engloba novos mecanismos de codificação de vídeo e áudio, assim como novas tecnologias de compressão de vídeo que tratam diferentes elementos no vídeo como objetos separados. Isto permite, por exemplo, que personagens e fundo de cena sejam tratados isoladamente com recursos de taxa de bits e qualidades diferentes. Entre as implementações de codecs de vídeo mais difundidas do MPEG 4 estão o DivX e o Xvid. O DivX é um codec de vídeo proprietário,. O Xvid é um codec de vídeo aberto e livre de patentes. Os dois disputam o posto de codec mais utilizado do padrão MPEG 4. O H.264 é um padrão para compressão de vídeo, também conhecido como MPEG 4 parte 10 ou AVC (Advanced Video Coding). A intenção do projeto H. 264/AVC foi criar um padrão capaz de fornecer boa qualidade de vídeo com uma taxa de bits muito baixa em relação aos padrões já existentes, como o MPEG 2 e o H.263, que gerou um aumento significativo na complexidade computacional do codificador. Outra meta do projeto foi fazer um padrão que fosse compatível com todas as

49 49 necessidades, isto é, compatível com vídeos de baixa e alta taxa de bits ou com baixa e alta resolução. O H.264 é o padrão de codificação de vídeo mais promissor do mercado e vem sendo amplamente adotado. Exemplos desta adoção são as especificações dos padrões de televisão digital e a compatibilidade com o Flash, da Macromedia, o que está fazendo com que portais concentradores de vídeos, como o YouTube, migrem para este formato. Um exemplo da implementação deste padrão é o x264. O padrão Ogg é um formato aberto e livre de patentes, mantido pela fundação Xiph.Org1. O principal codec de vídeo que utiliza esse padrão é o Theora. Outro codec desse formato é o Tarkin, que ainda está em fase de desenvolvimento, e, portanto, pouco difundido. A Tecnologia Windows Media da Microsoft tem uma família de codecs com uma série de recursos internos de tecnologias de terceiros. Os principais codecs de vídeo desse padrão são o Windows Media Video 9 e o Microsoft MPEG 4 V3. As tecnologias QuickTime, da Apple, já são utilizadas na criação multimídia há muitos anos, e, de fato, o formato de arquivo do QuickTime foi usado como base para o formato de arquivo do padrão MPEG 4. Um dos principais codecs de vídeo do Quicktime é o Sorenson. A TABELA 1 apresenta uma comparação entre os principais codecs de vídeo com perda existentes no mercado em relação à especificação de padrão (se é aberto ou fechado) e em relação à dependência de patentes. 1 Xiph.Org Fundação sem fins lucrativos dedicada a proteger as fundações de multimídia via Internet do controle da iniciativa privada.

50 50 TABELA 1 Comparação entre os codecs de vídeo mais utilizados Aberto Livre de patentes Windows Media Video não não Sorenson não não DivX (MPEG 4) sim não x264 sim não Xvid (MPEG 4) sim não MPEG 1/MPEG 2 sim não Theora sim sim Tarkin sim sim Codec 4.2 Padrões e codecs de áudio Assim como no vídeo, existem diversos codecs de áudio proprietários, abertos e livres. Muitos deles podem ser utilizados por um streaming. Os principais padrões e codecs relacionados a essa tecnologia são listados a seguir. Desde sua versão inicial, o MPEG já definia um padrão de codificação para áudio e para vídeo. Do padrão MPEG 1, surgiu o codec MP3, que é uma abreviação de MPEG 1 Layer 3, ou seja, utiliza a terceira camada do algoritmo MPEG de áudio. O MP3 é o codec de áudio mais difundido, amplamente usado na Internet e em aparelhos eletrônicos. Apesar de já ser bem antigo e de ser menos eficiente que boa parte dos codecs de áudio existentes atualmente, o MP3 ainda é padrão de mercado. Outro codec da família MPEG muito importante é o AAC (Advanced Audio Coding). Ele é compatível com os padrões MPEG 2 e MPEG 4 e foi criado para ser o sucessor

51 51 do MP3. O AAC possui uma qualidade bem superior à do MP3 para a mesma taxa de compressão. Dois codecs do padrão Ogg também muito importantes são o Vorbis e o Speex. O Vorbis é um codec de áudio de propósito geral, enquanto o Speex é um codec especializado em compressão de voz humana. Outro codec importante e muito utilizado pelo fato de utilizar compressão sem perda é o FLAC (Free Losless Audio Codec). Esse codec tem um formato de arquivo próprio, mas pode ser disponibilizado também no formato Ogg. Dos formato desenvolvidos pela Microsoft, os codecs de áudio mais importantes são o Windows Media Audio 9 para música e o ACELP.net para voz. Do formato da Apple, os codecs de áudio mais utilizados são o Qdesign para música e o QualComm PureVoice (QCELP) para voz. A TABELA 2 apresenta uma comparação entre os principais codecs de áudio existentes no mercado em relação à especificação de padrão (se é aberto ou fechado), em relação à dependência de patentes, ao tipo de compressão de dados e finalidade.

52 52 TABELA 2 Comparação entre os codecs de áudio mais utilizados Codec Aberto Livre de patentes Tipo de compressão Utilização Windows Media Audio não não com perda geral ACELP.net não não com perda voz Qdesign não não com perda geral QCELP não não com perda voz MP3 sim não com perda geral AAC sim não com perda geral Vorbis sim sim com perda geral Speex sim sim com perda voz FLAC sim sim sem perda geral 4.3 Containers de dados Existem diversos containers que podem ser utilizados para streaming. A maioria deles já foi citado acima na definição dos padrões dos codecs. Os principais e suas respectivas extensões de arquivo são os seguintes: MPEG 4,.mp4; MPEG 2,.mpeg ou.mpg; Formato de sistemas avançado da Microsoft,.asf; Quicktime,.mov; Ogg,.ogg.

53 53 A TABELA 3 apresenta uma comparação entre os principais containers existentes no mercado que suportam streaming em relação à especificação de padrão (se é aberto ou fechado), em relação à dependência de patentes e aos principais codecs suportados. TABELA 3 Comparação entre os containers mais utilizados para streaming aberto livre de patentes principais codecs suportados ASF não não Windows Media Audio (WMA), Windows Media Video (WMV) QuickTime não não MP3, WMA,Vorbis, AAC, FLAC, MPEG 1, MPEG 2, Xvid, DivX, WMV, Theora MPEG 4 sim não MP3, AAC, MPEG 1, MPEG 2, Xvid, DivX Ogg sim sim Vorbis, Speex, FLAC, Theora, Tarkin Container 4.4 Tecnologias livres Para o desenvolvimento do trabalho, foram utilizadas diversas tecnologias livres, que serão aprofundadas a seguir O Formato Ogg O Ogg é um padrão aberto de um formato de container, livre de patentes de softwares e projetado para streaming e manipulação de conteúdo multimídia. O Ogg é mantido pela fundação Xiph.Org.

54 54 O container Ogg pode multiplexar diversos codecs para áudio, vídeo, texto e metadados. Entre os codecs mais utilizados e difundidos compatíveis com este formato estão o Vorbis e o Theora, mas o Ogg também suporta outros codecs, como o MP3 e os do padrão MPEG 4. O formato de bitstream (fluxo de bits) do Ogg foi criado como sendo um framework para o desenvolvimento de uma série de componentes para a codificação e decodificação de conteúdo multimídia livres. Esse formato foi definido pela RFC 3533 (Pfeiffer, 2003) e seu conteúdo pela RFC 3534 (WALLEIF, 2003). O formato consiste em blocos de dados que são chamados de página Ogg. Cada página começa com a string OggS para identificar o arquivo como um formato Ogg. Um número de série e número de página no cabeçalho da página Ogg identificam cada página como um pedaço da seqüência de páginas que formam o bitstream. Múltiplos bitstreams podem ser multiplexados no arquivo onde páginas de cada bitstream são ordenadas pelo tempo do conteúdo de dados. Uma biblioteca livre chamada libogg está disponível para codificar e decodificar dados de um stream Ogg. O formato Ogg foi escolhido como container de dados por ser a melhor alternativa livre disponível, com mais recursos e mais largamente testada.

55 O Codec Vorbis O Vorbis é um codec de áudio com perda para propósito geral, aberto e livre de patentes. Foi desenvolvido e é mantido pela fundação Xiph.Org e foi concebido para concorrer com o MP3 e o AAC. Ele é mais comumente usado juntamente com o container Ogg, e juntos, ganham o nome Ogg Vorbis. O Vorbis foi projetado para permitir uma grande flexibilidade de codificação e também para permitir uma grande faixa de taxa de bits. Ele é um codec monolítico que executa transformações adaptativas pra frente (forward adaptive) e é baseado na Transformada Discreta de Cosseno Modificada. O Vorbis pode ser configurado para utilizar uma taxa de bits constante ou uma taxa de bits variável. Quando deseja se utilizar uma taxa de bits constante, a opção bitrate deve ser informada ao codec juntamente com o tamanho da taxa de bits. Esta opção força o codec a adaptar a codificação a uma taxa de bits específica, que será mantida ao longo do tempo. Para utilizar se uma taxa de bits variável, a opção quality deve ser informada ao codec, acompanhada de um número fracionário entre 0 e 1. Juntamente com a opção quality pode ser usada a opção max bitrate, que define um teto para a quantidade de bits por segundo quando se está utilizando uma taxa de bits variável. O Vorbis foi escolhido como codec de áudio também por ser a melhor alternativa livre disponível, com mais recursos e mais largamente testada.

56 O Codec Theora O Theora é um codec de vídeo com perda para propósito geral, aberto e livre de patentes. Ele é baseado no VP3, da empresa On2, e foi desenvolvido para concorrer com os codecs do padrão MPEG 4, RealVideo e Windows Media. Apesar do VP3 ser patenteado, a On2 tem permitido o seu uso livre de royalties, permitindo que o Theora e outros codecs baseados nele sejam usados para qualquer propósito. O Theora é mais comumente usado juntamente com o container Ogg e com o codec de áudio Vorbis, formando o Ogg Vorbis/Theora. Estes três componentes juntos formam a melhor opção multimídia entre as soluções existentes totalmente livres de patentes. Tal como vários outros formatos de imagem e vídeo, o Theora usa subamostragem da crominância, além de empregar o processo de estimativa/compensação de movimentos em blocos e um bloco DCT 8x8. Isto é comparável ao padrão MPEG 1/2/4. Além disso, o Theora suporta quadros internos (intra coded) e quadros preditivos para frente (forward predictive), mas não suporta quadros bi preditivos que podem ser encontrados em vários outros codecs de vídeo. Assim como o Vorbis, o Theora pode ser configurado para utilizar uma taxa de bits constante ou uma taxa de bits variável. Quando deseja se utilizar uma taxa de bits constante, a opção bitrate deve ser informada ao codec juntamente com seu tamanho em bits. Para utilizar se uma taxa de bits variável, a opção quality deve ser informada ao codec, juntamente com um número de 0 a 63, que define a faixa desde a codificação mínima até a máxima. Estas opções são mutuamente exclusivas.

57 57 Outras opções relativas aos quadros de referência e sensibilidade à movimentação também podem ser configuradas no Theora. O Theora foi escolhido como codec de vídeo também por ser a melhor alternativa livre disponível, com mais recursos e mais largamente testada O Framework Gstreamer O Gstreamer é um framework bastante versátil, aberto e livre de patentes, voltado para a criação de aplicações multimídia baseadas em streaming. A forma básica do Gstreamer se baseia no pipeline1 do Oregon Graduate Institute, com algumas idéias do DirectShow. O Gstreamer foi projetado para que aplicações para gerenciar vídeo e áudio (ou ambos) sejam escritas facilmente. Além de vídeo e áudio, o Gstreamer também pode processar qualquer tipo de fluxo de dados. Um dos usos mais óbvios para o Gstreamer é a construção de um reprodutor multimídia. Por padrão, ele já inclui componentes para construir um reprodutor com suporte a vários formatos e codecs, incluindo MP3, Ogg/Vorbis, MPEG 1/2, AVI, Quicktime, entre outros. Entretanto, o Gstreamer é muito mais que um reprodutor multimídia. Sua principal característica é que seus componentes podem ser mesclados e combinados através de pipelines, tornando assim possível a criação de editores de áudio ou vídeo. 1 pipeline Consiste em uma série de elementos de processamento organizados de forma que a saída de um elemento seja conectado à entrada do próximo.

58 58 O framework é baseado em plugins que provêm codificação e decodificação de vários codecs, entre outras funcionalidades. Conforme já foi dito, esses plugins são interligados através de pipelines. São esses pipelines que controlam o fluxo de dados. O GStreamer provê uma camada de abstração sobre componentes de manipulação para qualquer formato para o qual haja um plugin instalado. Com ele, as aplicações não precisam mais se preocupar em implementar decodificadores, mixers, sincronia ou codecs. Elas podem se concentrar apenas nas funcionalidades mais úteis para o usuário. Essa abstração, é representada na FIGURA 11. FIGURA 11 O Gstreamer perante seus plugins e outras aplicações Fonte: Lira (2006) O GStreamer é ainda multiplataforma e já roda nas seguintes arquiteturas e sistemas operacionais: Linux x86, PPC, ARM, Solaris x86 e SPARC, MacOSX, Microsoft Windows e IBM OS/400. No Gstreamer, tudo começa com uma fonte (source) de fluxo de mídia, que pode ser um arquivo, dados de áudio de um microfone ou da entrada da placa de som, dados de vídeo capturado por uma webcam, por uma placa de captura de vídeo ou uma placa FireWire, um

59 59 streaming da internet, entre outras fontes. O fluxo proveniente dessa fonte é recebido por um consumidor (sink). Essa interligação entre os elementos é apresentada na FIGURA 12. FIGURA 12 Interligação de elementos do Gstreamer Fonte: Lira (2006) Na nomenclatura do Gstreamer, cada componente, exceto o fluxo, é um Elemento (Element), e este deve ter pelo menos um source e um sink. No meio do caminho do fluxo para seu destino, podem haver elementos que recebem o fluxo em seu sink, façam alguma manipulação, e entreguem o resultado em seu source. Estes elementos são chamados de filtros (filters) e sua utilização geralmente é necessária. Sources e sinks são chamados conjuntamente de pads, que são as portas por onde passa o fluxo. Eles possuem capacidades de manipulação de dados bem específicas e podem restringir o tipo de dados que pode passar por eles. Os pads também fornecem informações sobre suas capacidades para elementos que queiram se conectar a eles. FIGURA 16 Demuxer de áudio e vídeo Fonte: Lira (2006) FIGURA 13 Representação de pipeline para reproduzir Ogg com vídeo e áudio Fonte: Lira (2006)

60 60 Interligando os diversos elementos do Gstreamer e seus plugins é possível criar diversas aplicações. Na FIGURA 13 é apresentado um pipeline para reproduzir um arquivo já salvo em formato Ogg, com um canal de vídeo Theora e um canal de áudio Vorbis. O pipeline inicia com o elemento filesrc que lê um arquivo do disco. Posteriormente, a fonte desse elemento é consumida pelo oggdemux que separa os canais de áudio e de vídeo do container Ogg. Neste momento, é aberta uma thread (tarefa concorrente) para cada canal. Na thread de vídeo, o elemento theoradec consome o vídeo do demuxer e o transforma em um vídeo de espaço de cor YUV. Na seqüência, o filtro ffmpegcolorspace converte o vídeo decodificado pelo theoradec no espaço de cor RGB, para que possa ser exibido na tela pelo ximagesink. Na outra thread, o elemento vorbisdec consome o áudio do demuxer e o transforma em um áudio do tipo com amostragem de ponto flutuante. Na seqüencia, o filtro audioconvert transforma o áudio em amostragem inteira e em seguida é reamostrado pelo audioresample para que possa ser reproduzido na placa de som pelo osssink. A escolha do Gstreamer se deve ao fato de ser uma ferramenta com muitos recursos e bastante flexibilidade, compatível com a codificação de formatos e codecs livres. Além disso, o Gstreamer vem sendo constantemente aprimorado, e é o framework multimídia mais completo e mais promissor que existe atualmente no mundo livre O Servidor Flumotion O Flumotion é um servidor de streaming multimídia, aberto e livre de patentes. Ele é escrito na linguagem Python e utiliza o framework Gstreamer para multimídia e o framework

61 61 Twisted1 para aplicações de redes de computadores. Em outras palavras, pode se dizer que ele é, entre outras coisas, uma interface operacional (front end) para esses dois frameworks. O Flumotion é uma ferramenta distribuída e extensível, e foi desenvolvida com o foco principal de ser fácil de ser utilizado. Ele permite que o trabalho de captura, codificação, empacotamento, distribuição e arquivamento seja feito por múltiplos computadores denominamos trabalhadores (workers), e tudo isso seja gerenciado por um computador denominado gerente (manager). Existe também uma ferramenta para administração do gerente totalmente gráfica, com um assistente de configuração que facilita o trabalho de produção de streaming. Além disso, o Flumotion tem uma arquitetura interna baseada em componentes que fazem o trabalho desde a produção até a distribuição ou arquivamento. É possível ainda, criar novos componentes ou alterar os já existentes com certa facilidade. Para captura, o Flumotion possui componentes para FireWire (vídeo e áudio), placas de captura de vídeo, webcams e placas de som, além de um componente que permite que parte de um pipeline do Gstreamer seja utilizada como fonte de captura. Para codificação e empacotamento, o Flumotion tem componentes para Theora, Vorbis e Speex, bem como um componente que junta o áudio e o vídeo (ou apenas um deles) no formato Ogg. Possui também componentes para distribuição de streaming e para gravar em disco. Além disso, possui também componentes para equilíbrio de cores e overlay (sobreposição no vídeo) de texto e imagem. A FIGURA 14 apresenta um exemplo de uma tela de administração do Flumotion em produção. O exemplo apresenta duas fontes de vídeo ( producer video1 e producer video2 ) e uma fonte de áudio ( producer audio ). Cada uma das fontes de vídeo é codificada para Theora pelo componentes encoder video1 e encoder video2 e a fonte de áudio, 1 Twisted Framework dirigido a eventos para aplicações de rede escrito em Python de código fonte aberto e livre de patentes.

62 62 encoder audio é codificada para Vorbis. Na seqüência, essas três fontes codificadas são encapsuladas num arquivo Ogg através do componente muxer audio video. Finalmente, o arquivo Ogg é distribuído via streaming pelo componente http audio video e ao mesmo tempo é armazenado pelo componente disk audio video. FIGURA 14 Exemplo de tela de administração do Flumotion A escolha do Flumotion se deve ao fato de ser uma ferramenta voltada para a usabilidade, por ter interface amigável e também por ser bastante flexível. O Flumotion também vem sendo constantemente aprimorado e se apresenta como a melhor ferramenta livre de alto nível para streaming de vídeo e áudio.

63 O applet Cortado O Cortado é um applet em Java, capaz de decodificar Ogg com Vorbis e Theora, aberto e livre de patentes. O Cortado contém, internamente, uma série de componentes que são implementações de algumas tecnologias para Java. O primeiro deles é o JST, uma implementação do Gstreamer para Java. Há também o jcraft, que é uma implementação de Ogg (denominada Jogg) e de Vorbis (denominada Jorbis) para Java. E ainda o jheora, uma implementação do Theora para Java. O Cortado não vem sendo mantido atualmente, sendo que a última alteração publicada por sua equipe de desenvolvimento foi em 28/05/2007. Mesmo assim, ainda se apresenta como uma solução viável para visualização de Ogg/Vorbis/Theora por rodar embutido em uma página HTML (HyperText Markup Language) através de um plug in de Java. Para a visualização, o applet Cortado foi o escolhido para ser adaptado, por ser o único reprodutor multimídia livre de Ogg com Vorbis e Theora que roda embutido numa página HTML. Com isso, é possível adicionar mais recursos a uma página HTML facilmente, como um chat, por exemplo, e criar um ambiente de ensino à distância mais completo, sem exigir mais do que um plug in de Java dos clientes.

64 O distribuidor Icecast O Icecast é um servidor de streaming multimídia aberto e livre de patentes, que suporta a distribuição de Ogg (Vorbis e Theora) e também MP3. Atualmente, o Icecast roda em GNU/Linux, FreeBSD, OpenBSD, Solaris e Microsoft Windows. O Icecast funciona como um multiplicador, que recebe dados na forma de streaming e multiplica o conteúdo para diversos clientes através de uma rede de computadores. Também é possível utilizar diversos servidores Icecast para replicar streamings, colocando um servidor como mestre e diversos outros como escravos, aumentando significativamente a largura de banda disponível para a distribuição. Internamente, o Icecast se baseia na biblioteca libshout, que é uma biblioteca de comunicação que gerencia as conexões, o tempo dos dados e previne perda de dados. Para a distribuição de streaming, dependendo da necessidade, a solução propõe o uso do Flumotion ou do Icecast. A proposição de mais de uma ferramenta se deve a diversos fatores. O primeiro deles é que o Gstreamer pode ser utilizado para captura e codificação sozinho, sem o Flumotion, e como ele não faz a distribuição, uma outra ferramenta, como o Icecast, é necessária. Outro fator muito importante é que o Icecast possui o recurso de replicação de servidores, tornando possível o aumento da largura de banda, característica que não é contemplada pelo Flumotion. Ainda é possível combinar as duas alternativas através de um componente do Flumotion que envia dados para o Icecast, permitindo assim que o Flumotion faça a distribuição para um rede interna, e que o Icecast faça a distribuição através da Internet.

65 Versões utilizadas Na TABELA 4 são apresentadas todas as versões das tecnologias escolhidas que foram utilizadas na implementação e nos testes. As versões citadas são as últimas publicadas por cada projeto no momento deste trabalho. No caso do gstreamer plugins bad, do Cortado e do Flumotion, foi utilizada a versão de desenvolvimento, para que as alterações feitas por este trabalho pudessem ser submetidas como contribuições para estes projetos. TABELA 4 Versões de tecnologias livres utilizadas Tecnologia Versão GNU/Linux Ubuntu 7.10 Ogg libogg Vorbis libvorbis Theora libtheora alpha7 Gstreamer gstreamer , gstreamer0.10 ffmpeg , gstreamer0.10 plugins bad (versão CVS1 do dia ), gstreamer0.10 plugins base , gstreamer0.10 plugins good Flumotion flumotion (versão SVN2 do dia ) Cortado cortado (versão SVN do dia ) Icecast icecast CVS (Concurrent Versions System) Sistema de controle de versão que auxilia no desenvolvimento colaborativo de desenvolvedores espalhados geograficamente. 2 SVN (Abreviação de Subversion) Sistema de controle de versão que auxilia no desenvolvimento colaborativo de desenvolvedores espalhados geograficamente. É uma evolução do CVS.

66 Ferramentas proprietárias para ensino à distância Existem algumas soluções no mercado que permitem a sincronização de imagens (ou slides) com um streaming de vídeo e áudio. Além de fazer isso, essas ferramentas também contam com outros recursos, tornando o ambiente virtual ainda mais próximo do real. Todas estas soluções são proprietárias e, geralmente, têm um custo muito elevado. As mais utilizadas são descritas a seguir. Todas estas ferramentas têm recursos semelhantes, voltados principalmente à criação de salas de aula virtuais Adobe Acrobat Connect Professional Entre as ferramentas que simulam o ambiente de sala de aula virtualmente, o Adobe Acrobat Connect Professional, anteriormente conhecido como Macromedia Breeze, é o mais utilizado (Wagner, 2006). O Acrobat Connect Professional é uma solução de comunicação via Internet que permite encontros virtuais, salas de aulas virtuais e colaboração em grupo, podendo ser acessado em qualquer momento e de qualquer lugar, a partir de um navegador de Internet. Entre suas principais características estão a disponibilização de conteúdo de slides do Microsoft PowerPoint, vídeo e áudio ao vivo e sob demanda, conteúdo Adobe Flash, compartilhamento do ambiente de trabalho (captura de tela) ao vivo e chat multiusuário. A FIGURA 15 apresenta o ambiente de trabalho do Adobe Acrobat Connect Professional.

67 67 FIGURA 15 Tela de demonstração do Adobe Acrobat Connect Professional Microsoft Office Live Meeting O Microsoft Office Live Meeting é um outra ferramenta comercial para conferência via Web que permite encontros virtuais, treinamentos e eventos. Entre suas principais características estão o compartilhamento de apresentação de slides, envio e recebimento de vídeo e áudio, participação em chat, edição de arquivos e compartilhamento de quadro branco. A FIGURA 16 apresenta a tela do Microsoft Office Live Meeting.

68 68 FIGURA 16 Tela de demonstração do Microsoft Office Live Meeting Wimba Classroom O Wimba Classroom é uma ferramenta que permite ensinar e fazer encontros virtualmente. Suas salas de aulas virtuais suportam áudio, vídeo, compartilhamento de aplicações, conversas via chat e disponibilização de conteúdo. A FIGURA 17 apresenta uma tela de demonstração do Wimba, que tem toda sua interface via Web.

69 69 FIGURA 17 Tela de demonstração do Wimba Classroom ilinc O ilinc é um conjunto de ferramentas da empresa de mesmo nome (Ilinc Communication), voltado para conferência via Web que permite encontros virtuais, conferências, ensino à distância e prestação de suporte a clientes. Entre suas principais características estão a transmissão de áudio e de vídeo, chat, disponibilização de conteúdo, compartilhamento de aplicações e de quadro branco. A FIGURA 18 apresenta uma tela de demonstração do LearnLinc, a ferramenta do conjunto ilinc responsável pelo ensino à distância.

70 70 FIGURA 18 Tela de demonstração do LearnLinc

71 5 ESPECIFICAÇÃO DO AMBIENTE DE TRABALHO A transmissão de vídeo e áudio através de um streaming pela Internet está se tornando mais comum a cada dia. Atualmente, existem diversas ferramentas que fazem esse trabalho, inclusive ferramentas livres de patentes e com padrões e códigos fonte abertos. Além disso, novas tecnologias e novas ferramentas para essa área surgem e são aprimoradas constantemente. Porém, a maioria das ferramentas disponíveis, especialmente as livres, limita se a transmitir apenas vídeo e áudio. Não é comum a existência de ferramentas livres com mais recursos, que além de vídeo e áudio permitam, por exemplo, transferir imagens em qualidade mais alta ao mesmo tempo que um vídeo e um áudio. Outra questão importante a ser levantada é a largura de banda disponível, principalmente no lado do cliente, que costuma ser relativamente pequena. Esta limitação geralmente implica em transmissões que utilizam baixas taxas de bits, e conseqüentemente, qualidades baixas, com vídeos de resolução em torno de 320x240. Com resoluções como essa é inviável transmitir slides de uma apresentação, uma vez que pequenos elementos tornam se ilegíveis.

72 72 Para resolver os problemas citados acima, este trabalho apresenta uma solução baseada na combinação e adaptação de algumas tecnologias livres, que tornam possível a utilização de vídeo e áudio juntamente com a transmissão de slides sincronizados. Esta solução simula um ambiente virtual de sala de aula não interativo, onde o aluno pode ter virtualmente os mesmos recursos de visão e audição que tem presencialmente. Isto faz com que esta solução seja ideal para utilização em ensino à distância. Ela também permite a disponibilização de conteúdo em tempo real e sob demanda. Por exemplo, enquanto uma aula estiver ocorrendo, ela pode ser disponibilizada num streaming em tempo real e ao mesmo tempo ser armazenada, para que os alunos que não puderem assistir à aula ao vivo possam vê la posteriormente através de um streaming sob demanda. Também é possível que seja apenas disponibilizada em tempo real ou apenas gravada para ser disponibilizada futuramente. Diversos recursos são necessários para a utilização desta solução. Para um melhor entendimento, eles foram divididos nas áreas de captura, codificação, distribuição e visualização. 5.1 Recursos para a captura Para a utilização da solução, é necessária a utilização de uma fonte captadora de vídeo e outra de áudio, de forma que a imagem e a voz possam ser codificadas e transmitidas via streaming. Além disso, também é necessário capturar a imagem da apresentação de slides. A seguir, cada uma destas fases de captura é detalhada.

73 Captura de vídeo Para a captura de vídeo é necessária a utilização de uma câmera, que poderá prover a imagem através de sinais analógicos ou digitais. No caso da utilização de um sinal analógico, é necessária a utilização de uma placa de captura de vídeo analógico, que digitaliza o sinal analógico. Se a câmera for digital é possível utilizar uma conexão USB ou FireWire Captura de áudio Para a captura de áudio, pode ser utilizado qualquer componente compatível com a entrada de som das placas de som tradicionais, como um microfone ou uma saída de uma mesa de som Captura de apresentação de slides A captura do sinal de vídeo com os slides de uma apresentação é um pouco mais complexa que as anteriores. Esta complexidade é um fator que contribui para que as ferramentas livres existentes não contemplem esta característica. A seguir são apresentadas três formas possíveis para a captura de slides. A discussão sobre vantagens e desvantagens de cada uma é apresentada no Capítulo 7.

74 Captura da saída de vídeo do computador A primeira alternativa para a captura dos slides é através da saída de vídeo do computador. Como pode ser visto no esquema da FIGURA 19, existem cinco formas para o sinal da saída de vídeo do computador que apresenta os slides chegar até o computador produtor (computador onde ocorre a captura e a codificação). FIGURA 19 Esquema para capturar a saída de vídeo do computador Duas dessas formas estão atreladas à saída analógica S Video1 da placa de vídeo do computador que contém a apresentação de slides. Um caminho possível utilizando essa saída é ligá la diretamente a uma placa de captura de vídeo analógico, conectada ao computador 1 S Video (Separate Video) Padrão de vídeo analógico que separa os dados em sinais de brilho e cor. Este padrão é erroneamente confundido com S VHS e Super Video.

75 75 produtor. O outro caminho possível é utilizar um equipamento que converte este sinal analógico para digital (FireWire), e este por sua vez, ser conectado a uma placa FireWire no computador produtor. As outras três formas estão atreladas à saída VGA1 da placa de vídeo do computador apresentador de slides. Destas três formas, duas passam por um equipamento conversor de VGA para S Video. A partir da saída analógica desse conversor, o caminho é semelhantes às duas formas comentadas anteriormente, ou seja, através da placa de captura de vídeo analógico ou através de um conversor de analógico para digital. A terceira forma utilizando a saída VGA é utilizar um conversor de VGA para FireWire. Destas cinco formas, as quatro que estão atreladas a um sinal S Video, seja na saída do computador ou na saída do conversor de VGA para analógico, sofrem degradação de qualidade, uma vez que os computadores geralmente utilizam resoluções superiores a 800x600, e a resolução equivalente de um sinal S Video está em torno de 640x480, sem contar a degradação de qualidade que ocorre devido ao ruído gerado pelo canal analógico. No caso da utilização do equipamento conversor de VGA para FireWire, esse problema é minimizado, uma vez que o sinal VGA pode ser convertido pra FireWire mantendo se uma resolução mais alta e minimizando se o ruído. 1 VGA (Video Graphis Array) Padrão analógico de exibição para computadores. Este termo também representa o conector de 15 pinos presente nas placas de vídeo, mais comumente usado para conectar um monitor de vídeo.

76 Captura do ambiente de trabalho compartilhado via RFB A segunda alternativa possível é a utilização de um ambiente compartilhado, utilizando o protocolo RFB1, utilizado em servidores e visualizadores de VNC2. Na FIGURA 20 é apresentado o esquema para captura através do protocolo RFB, da codificação, da distribuição e da visualização. FIGURA 20 Esquema para capturar o ambiente compartilhado via RFB Esta forma exige que haja uma conexão de rede entre o computador apresentador de slides e o computador produtor, bem como um servidor RFB instalado no apresentador de slides. Em termos de qualidade, esta forma é excelente, pois não há nenhuma degradação no processo, uma vez que a captura é inteiramente digital. 1 Protocolo RFB (Remote Framebuffer) Protocolo simples para acesso remoto utilizando interfaces gráficas. 2 VNC (Virtual Networking Computing) Sistema de compartilhamento de ambiente de trabalho que utiliza o protocolo RFB para visualizar e controlar outros computadores através da rede, passando em um sentido a informação visual, e no outro os eventos de dispositivos de entrada como mouse e teclado.

77 Captura do ambiente de trabalho compartilhado via chamadas ao modo gráfico do GNU/Linux A terceira alternativa possível é a utilização de um ambiente compartilhado utilizando o modo gráfico do GNU/Linux1. Na FIGURA 21 é apresentado o esquema para captura através de chamadas ao modo gráfico do GNU/Linux, da codificação, da distribuição e da visualização. Esta forma difere das anteriores uma vez que a apresentação dos slides, a captura e a codificação acontecem no mesmo computador. Obviamente, essa técnica requer mais recursos de hardware, sendo discuta no Capítulo 7. FIGURA 21 Esquema para capturar o ambiente compartilhado via chamadas ao modo gráfico do GNU/Linux Em termos de qualidade, esta forma também é excelente, pois também não há nenhuma degradação no processo, uma vez que o processo também é inteiramente digital. 1 GNU/Linux Sistema Operacional livre mais utilizado no mundo

78 78 Das três formas apresentadas, esta é a única que depende de um sistema operacional específico, no caso, o GNU/Linux. 5.2 Recursos para a codificação Para fazer a codificação de vídeo e áudio depois destes já terem sido capturados, é necessária a utilização de um computador com o sistema operacional GNU/Linux, com os pacotes Gstreamer e Flumotion instalados. Estas ferramentas fazem tanto a captura quanto a codificação. A codificação é feita para o formato Ogg, utilizando o codec Vorbis para áudio e Theora para vídeo. Dentro do container Ogg, são colocados um canal de áudio e dois canais de vídeo, sendo um da câmera de vídeo e outro da apresentação de slides. A sincronização é garantida pelo próprio container Ogg, desde que não haja atraso na captura em relação ao outro sinal de vídeo e ao áudio. Os dois vídeos são injetados no container com resoluções, número de quadros por segundo e qualidades diferentes. A discussão desses parâmetros que resultam em diferentes qualidades e diferentes necessidades de largura de banda, bem como os resultados obtidos são apresentados no Capítulo Recursos para a distribuição Para fazer a distribuição do conteúdo codificado através de streaming, é possível utilizar duas ferramentas: o Flumotion e o Icecast.

79 79 Este computador pode ser o mesmo que captura e codifica os dados. É possível, por exemplo, que o computador produtor esteja dentro de uma rede interna e o computador distribuidor visível pela Internet. Também é possível que tanto a produção quanto a distribuição sejam feitas no mesmo computador. Caso dois computadores sejam utilizados, é possível que o produtor também faça o trabalho de distribuição para uma rede interna e o distribuidor faça a distribuição para a Internet. É possível ainda, a utilização de replicadores de distribuição, caso seja necessário aumentar a largura de banda disponível para atender os visualizadores. Todos estes cenários são discutidos nos Capítulos 6 e Recursos para a visualização Para a visualização do conteúdo do streaming, pode se utilizar o applet em Java modificado por este trabalho. Dentre os reprodutores multimídia compatíveis com os formatos livres, o VLC1 foi o único que se manteve compatível com os dois vídeos encapsulados no Ogg. A compatibilidade do Cortado depende de um plug in de Java instalado no navegador de Internet. O Java é compatível com os principais sistemas operacionais, tornando o Cortado possível de ser exibido por praticamente qualquer navegador do mercado. Como o applet é embutido numa página HTML, ele pode ser facilmente integrado com outros recursos, como ferramentas de chat por exemplo, que também podem ser embutidas em páginas HTML. Utilizando esses dois recursos, cria se uma solução ainda mais completa para utilização em ensino à distância, pois adiciona recursos de interatividade e colaboração. 1 VLC (VideoLan Client) Reprodutor multimídia multiplataforma livre para os principais formatos de containers e codecs do mercado. Também pode ser usado como servidor de streaming.

80 80 O VLC pode ser uma boa alternativa caso o cliente queira utilizar um software compilado para a arquitetura de seu sistema operacional a fim de consumir menos recursos de memória e processamento.

81 6 DETALHAMENTO DA IMPLEMENTAÇÃO A proposta deste trabalho é apresentar uma solução livre em um ambiente em que seja possível transmitir slides de uma apresentação juntamente com um streaming de vídeo e áudio, com boa qualidade, pouca largura de banda e o mínimo de interferência no ambiente do cliente. Diante disso, um dos principais problemas a ser resolvido por este trabalho é a definição de como os slides podem ser capturados e também como podem ser encapsulados num streaming, mantendo uma sincronia com o áudio e com o vídeo. Para atender a estas necessidades, foram feitos diversos testes e combinações de ambientes e tecnologias livres, a fim de obter um resultado flexível e que atendesse os requisitos citados acima. A seguir é feito o detalhamento da implementação em cada um dos estágios do streaming, bem como o detalhamento dos cenários completos desde a produção até a distribuição.

82 O estágio de captura A captura de áudio de um microfone ou da entrada de linha da placa de som, bem como a captura de câmeras FireWire, webcams ou placas de captura de vídeo analógica são problemas bem resolvidos pelas tecnologias apresentadas em suas características originais. Para a captura dos slides, diversas formas foram pesquisadas a fim de se ter uma solução flexível. Três formas de captura dos slides foram desenvolvidas. Estas formas se diferem umas das outras apenas na captura, pois a partir do estágio de codificação, as implementações são semelhantes para as três. A seguir são detalhadas as implementações de cada uma das três formas de captura de slides desenvolvidas Captura da saída de vídeo do computador A primeira forma desenvolvida foi a captura da saída de vídeo do computador, através de um conector VGA ou S Video. Como esta forma atua direto na saída de vídeo, existe a independência de sistema operacional e não há nenhuma interferência no ambiente de trabalho do cliente. Nessa primeira forma, para o estágio de captura, não foi necessário nenhuma implementação em termos de código, já que o Flumotion e o Gstreamer já suportam fontes de placas de captura de vídeo analógico e de placas FireWire.

83 83 Foram pesquisadas diversas maneiras de se capturar esta saída de vídeo do computador, bem como os equipamentos que são necessários para fazer esta captura. No caso mais simples, quando o computador tiver uma saída S Video, basta ligar esta saída a uma placa de captura de vídeo analógico. Também é possível digitalizar esse sinal antes deste chegar ao computador produtor, utilizando um conversor de S Video para FireWire, como o Canopus ADVC 100, que é apresentado na FIGURA 22. Para utilizar a saída VGA, é possível que o sinal chegue ao computador produtor de três formas. A primeira delas consiste em utilizar um conversor de VGA para S Video, ligando essa saída à placa de captura de vídeo analógico. Para essa forma, pode se usar o conversor PixelView Game Show, que é apresentado na FIGURA 22. Também é possível que esse sinal S Video seja conectado ao Canopus ADVC 100 para ser transformado para FireWire, para então ser conectado ao computador produtor. A última e melhor forma é ligar a saída VGA a um conversor de VGA para FireWire, como o Canopus TwinPact 100. De todas as formas, esta é a que apresenta melhor qualidade, pois o conversor de VGA para FireWire mantém a resolução alta do sinal VGA, porém este conversor custa cerca de dez vezes mais que o conversor de VGA para S Video. FIGURA 22 Exemplos de conversores de vídeo

3 Qualidade de serviço na Internet

3 Qualidade de serviço na Internet 3 Qualidade de serviço na Internet 25 3 Qualidade de serviço na Internet Além do aumento do tráfego gerado nos ambientes corporativos e na Internet, está havendo uma mudança nas características das aplicações

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PLACAS DE EXPANSÃO... 3 PLACAS DE VÍDEO... 3 Conectores de Vídeo... 4 PLACAS DE SOM... 6 Canais de Áudio... 7 Resolução das Placas de Som...

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Ementa Introdução a Redes de

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 16

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 16 Informática Prof. Macêdo Firmino Representação da Informação Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 16 Introdução Estamos acostumados a pensar nos computadores como mecanismos complexos,

Leia mais

Curso de Instalação e Gestão de Redes Informáticas

Curso de Instalação e Gestão de Redes Informáticas ESCOLA PROFISSIONAL VASCONCELLOS LEBRE Curso de Instalação e Gestão de Redes Informáticas LIGADORES DE VIDEO: VGA, DVI, S-VIDEO E COMPONENTE VIDEO José Vitor Nogueira Santos FT2-0749 Mealhada, 2009 Introdução

Leia mais

Prof. Daniel Hasse. Multimídia e Hipermídia

Prof. Daniel Hasse. Multimídia e Hipermídia Prof. Daniel Hasse Multimídia e Hipermídia AULA 02 Agenda: Algoritmos de Codificação/Decodificação; Codec de Áudio. Atividade complementar. Algoritmos de Codificação/Decodificação - Comunicação tempo real,

Leia mais

1 Introduc ao 1.1 Hist orico

1 Introduc ao 1.1 Hist orico 1 Introdução 1.1 Histórico Nos últimos 100 anos, o setor de telecomunicações vem passando por diversas transformações. Até os anos 80, cada novo serviço demandava a instalação de uma nova rede. Foi assim

Leia mais

Tecnologias de Banda Larga

Tecnologias de Banda Larga Banda Larga Banda larga é uma comunicação de dados em alta velocidade. Possui diversas tecnologia associadas a ela. Entre essas tecnologias as mais conhecidas são a ADSL, ISDN, e o Cable Modem. Essas tecnologias

Leia mais

Oficina de Multimédia B. ESEQ 12º i 2009/2010

Oficina de Multimédia B. ESEQ 12º i 2009/2010 Oficina de Multimédia B ESEQ 12º i 2009/2010 Conceitos gerais Multimédia Hipertexto Hipermédia Texto Tipografia Vídeo Áudio Animação Interface Interacção Multimédia: É uma tecnologia digital de comunicação,

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com

Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com Protocolo é a linguagem usada pelos dispositivos de uma rede de modo que eles consigam se comunicar Objetivo Transmitir dados em uma rede A transmissão

Leia mais

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

:: Telefonia pela Internet

:: Telefonia pela Internet :: Telefonia pela Internet http://www.projetoderedes.com.br/artigos/artigo_telefonia_pela_internet.php José Mauricio Santos Pinheiro em 13/03/2005 O uso da internet para comunicações de voz vem crescendo

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet: Comunicação em uma rede Ethernet A comunicação em uma rede local comutada ocorre de três formas: unicast, broadcast e multicast: -Unicast: Comunicação na qual um quadro é enviado de um host e endereçado

Leia mais

Codificação/Compressão de Vídeo. Tópico: Vídeo (Codificação + Compressão)

Codificação/Compressão de Vídeo. Tópico: Vídeo (Codificação + Compressão) Tópico: Vídeo (Codificação + Compressão) Um vídeo pode ser considerado como uma seqüência de imagens estáticas (quadros). Cada um desses quadros pode ser codificado usando as mesmas técnicas empregadas

Leia mais

Unidade 2. Largura de Banda e Throughput

Unidade 2. Largura de Banda e Throughput Unidade 2 Largura de Banda e Throughput 48 Conceitos Fundamentais Largura de Banda = Velocidade Largura de Banda vs. Througput 49 Largura de Banda É a quantidade de informações que flui através da conexão

Leia mais

Informática Aplicada a Radiologia

Informática Aplicada a Radiologia Informática Aplicada a Radiologia Apostila: Imagem Digital parte I Prof. Rubens Freire Rosa Imagem na forma digital A representação de Imagens na forma digital nos permite capturar, armazenar e processar

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo Manual Sistema MLBC Manual do Sistema do Módulo Administrativo Este documento tem por objetivo descrever as principais funcionalidades do sistema administrador desenvolvido pela MLBC Comunicação Digital.

Leia mais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

TRANSMITINDO CONHECIMENTO ON-LINE

TRANSMITINDO CONHECIMENTO ON-LINE TRANSMITINDO CONHECIMENTO ON-LINE POR MEIO WEB-RÁDIO E WEB-TV 1 BORGES, Caio C. A.; DEUS JÚNIOR, Getúlio A. de; CASTRO, Marcelo S. Escola de Engenharia Elétrica e de Computação, Universidade Federal de

Leia mais

Características do vídeo. Aquisição, síntese, edição e reprodução de vídeo. Características do vídeo analógico. Características do vídeo analógico

Características do vídeo. Aquisição, síntese, edição e reprodução de vídeo. Características do vídeo analógico. Características do vídeo analógico Características do vídeo Aquisição, síntese, edição e reprodução de vídeo Vídeo media dinâmico Vídeo corresponde a um movimento sequencial de um conjunto de imagens, chamados fotogramas ou frames. Frame

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Redes I Fundamentos - 1º Período Professor: José Maurício S. Pinheiro AULA 2: Transmissão de Dados 1.

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

ESTRUTURAS DE DADOS II

ESTRUTURAS DE DADOS II ESTRUTURAS DE DADOS II Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Conteúdo Programático 1. Introdução

Leia mais

Novo cabo HDMI AVIS da Discabos

Novo cabo HDMI AVIS da Discabos sac@discabos.com.br www.discabos.com.br Novo cabo HDMI AVIS da Discabos O primeiro cabo HDMI High Speed (1.4) com Ethernet e retorno de áudio. O padrão HDMI acaba de se tornar muito mais poderoso, com

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente

Leia mais

2- Conceitos Básicos de Telecomunicações

2- Conceitos Básicos de Telecomunicações Introdução às Telecomunicações 2- Conceitos Básicos de Telecomunicações Elementos de um Sistemas de Telecomunicações Capítulo 2 - Conceitos Básicos de Telecomunicações 2 1 A Fonte Equipamento que origina

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Introdução Fabricio Breve Onde estão as redes? Caixa Eletrônico Terminais conectados a um computador central Supermercados, farmácias, etc... Vendas Caixa Estoque Etc... Por que Redes?

Leia mais

Aspectos básicos do vídeo

Aspectos básicos do vídeo Vídeo Aspectos básicos do vídeo Codec: quer dizer compressor e descompressor. É um algoritmo que controla a forma como os ficheiros de vídeo são comprimidos durante a codificação e descomprimidos durante

Leia mais

TECNOLOGIA DA INFORMAÇÃO

TECNOLOGIA DA INFORMAÇÃO TECNOLOGIA DA INFORMAÇÃO TELECOMUNICAÇÕES As telecomunicações referem -se à transmissão eletrônica de sinais para as comunicações, incluindo meios como telefone, rádio e televisão. As telecomunicações

Leia mais

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho. Entregue três questões de cada prova. Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor

Leia mais

1 Problemas de transmissão

1 Problemas de transmissão 1 Problemas de transmissão O sinal recebido pelo receptor pode diferir do sinal transmitido. No caso analógico há degradação da qualidade do sinal. No caso digital ocorrem erros de bit. Essas diferenças

Leia mais

Como medir a velocidade da Internet?

Como medir a velocidade da Internet? Link Original: http://www.techtudo.com.br/artigos/noticia/2012/05/como-medir-velocidade-da-suainternet.html Como medir a velocidade da Internet? Pedro Pisa Para o TechTudo O Velocímetro TechTudo é uma

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

O vídeo. O vídeo. Sistemas analógicos de vídeo. O vídeo. 2001 Wilson de Pádua Paula Filho

O vídeo. O vídeo. Sistemas analógicos de vídeo. O vídeo. 2001 Wilson de Pádua Paula Filho O vídeo O vídeo Interfaces de vídeo Sistemas de televisão: as características do sinal de vídeo são determinadas pelos padrões de televisão principais padrões existentes: televisão em preto-e-branco televisão

Leia mais

SOBRE A CALLIX. Por Que Vantagens

SOBRE A CALLIX. Por Que Vantagens Callix PABX Virtual SOBRE A CALLIX Por Que Vantagens SOBRE A CALLIX Por Que Vantagens Por Que Callix Foco no seu negócio, enquanto cuidamos da tecnologia do seu Call Center Pioneirismo no mercado de Cloud

Leia mais

Telecomunicações e Teleprocessamento

Telecomunicações e Teleprocessamento Telecomunicações e Teleprocessamento Telecomunicações Telecomunicações podem ser definidas como comunicações por meios eletrônicos, normalmente a grandes distâncias. Como veículos de transmissão podem

Leia mais

Administração de Sistemas de Informação I

Administração de Sistemas de Informação I Administração de Sistemas de Informação I Prof. Farinha Aula 03 Telecomunicações Sistemas de Telecomunicações 1 Sistemas de Telecomunicações Consiste de Hardware e Software transmitindo informação (texto,

Leia mais

Subunidade 6: publicação

Subunidade 6: publicação Disciplina de Aplicações Informáticas B Subunidade 6: publicação Professor: Miguel Candeias Aluno: Francisco Cubal, nº11 12ºA Ano lectivo 2010/2011 1. Divulgação de vídeos e som via rede 1.1. A Internet

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Aula 09. Exportação e Licenças

Aula 09. Exportação e Licenças Aula 09 Exportação e Licenças Exportação Como exportar um vídeo para celular, dispositivos móveis e internet? As propriedades para exportar um vídeo para celular e dispositivos móveis Dica Como saber qual

Leia mais

7. DIVULGAÇÃO DE VÍDEOS E SOM VIA REDE MÉTODO STREAMING

7. DIVULGAÇÃO DE VÍDEOS E SOM VIA REDE MÉTODO STREAMING 7. DIVULGAÇÃO DE VÍDEOS E SOM VIA REDE Internet meio por excelência para a divulgação de todo o tipo de informação. Na época da 2ª guerra mundial, os cientistas necessitavam de divulgar, trocar informações

Leia mais

Trabalhando com arquivos de som. Prof. César Bastos Fevereiro 2008

Trabalhando com arquivos de som. Prof. César Bastos Fevereiro 2008 Trabalhando com arquivos de som Prof. César Bastos Fevereiro 2008 Usando a mídia de som Vamos considerar os programas gratuitos como base de nossas ferramentas nesse curso, assim todos poderão usufruir

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

VOIP A REVOLUÇÃO NA TELEFONIA

VOIP A REVOLUÇÃO NA TELEFONIA VOIP A REVOLUÇÃO NA TELEFONIA Introdução Saiba como muitas empresas em todo mundo estão conseguindo economizar nas tarifas de ligações interurbanas e internacionais. A História do telefone Banda Larga

Leia mais

WHITEPAPER. Guia de compra para câmeras IP: tudo o que você precisa saber antes de adquirir a sua solução digital

WHITEPAPER. Guia de compra para câmeras IP: tudo o que você precisa saber antes de adquirir a sua solução digital WHITEPAPER Guia de compra para câmeras IP: tudo o que você precisa saber antes de adquirir a sua solução digital Câmera IP ou câmera analógica? Se você está em dúvida sobre a aquisição de uma solução analógica

Leia mais

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

INTRODUÇÃO BARRAMENTO PCI EXPRESS. INTRODUÇÃO BARRAMENTO EXPRESS. O processador se comunica com os outros periféricos do micro através de um caminho de dados chamado barramento. Desde o lançamento do primeiro PC em 1981 até os dias de hoje,

Leia mais

Streaming na pratica Shoutcast Flumotion

Streaming na pratica Shoutcast Flumotion Streaming na pratica Shoutcast Flumotion Felipe Santos dos Santos 1 1 Faculdade de Tecnologia Senac Pelotas(FATEC) Rua Gonçalves Chaves, 602 Centro CEP: 96.015-560 Pelotas RS Brasil Curso Superior de Tecnologia

Leia mais

XDOC. Solução otimizada para armazenamento e recuperação de documentos

XDOC. Solução otimizada para armazenamento e recuperação de documentos XDOC Solução otimizada para armazenamento e recuperação de documentos ObJetivo Principal O Que você ACHA De ter Disponível Online todos OS Documentos emitidos por SUA empresa em UMA intranet OU Mesmo NA

Leia mais

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

Leia mais

Subcamada MAC. O Controle de Acesso ao Meio

Subcamada MAC. O Controle de Acesso ao Meio Subcamada MAC O Controle de Acesso ao Meio Métodos de Acesso ao Meio As implementações mais correntes de redes locais utilizam um meio de transmissão que é compartilhado por todos os nós. Quando um nó

Leia mais

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto Introdução Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 1. Introdução i. Conceitos e Definições ii. Tipos de Rede a. Peer To Peer b. Client/Server iii. Topologias

Leia mais

Entenda os formatos mais populares de vídeo

Entenda os formatos mais populares de vídeo Entenda os formatos mais populares de vídeo Com o grande crescimento da internet banda larga no país muitos internautas estão cada vez mais tendo contato com arquivos de vídeo, tanto na visualização online

Leia mais

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA Muitas organizações terceirizam o transporte das chamadas em seus call-centers, dependendo inteiramente

Leia mais

Você pode dizer isso de novo! Compressão de Texto

Você pode dizer isso de novo! Compressão de Texto Atividade 3 Você pode dizer isso de novo! Compressão de Texto Sumário Desde que os computadores possuíam apenas uma quantidade limitada de espaço para armazenar informações, estes precisavam armazená-las

Leia mais

Passo 3: Posicionando a Câmera na Prova Didática Teórica ou na Prova de Defesa da Produção Intelectual

Passo 3: Posicionando a Câmera na Prova Didática Teórica ou na Prova de Defesa da Produção Intelectual Este manual descreve um procedimento para o registro de Concursos Públicos por meio de áudio e vídeo utilizando-se recursos tecnológicos básicos i. A gravação segue o disposto na Resolução 020/09 da UFSM

Leia mais

FUNDAMENTOS DE HARDWARE CD-ROM. Professor Carlos Muniz

FUNDAMENTOS DE HARDWARE CD-ROM. Professor Carlos Muniz FUNDAMENTOS DE HARDWARE CD-Rom Até pouco tempo atrás, as opções mais viáveis para escutar música eram os discos de vinil e as fitas cassete. Porém, a Philips, em associação com outras empresas, desenvolveu

Leia mais

Multimédia, Qualidade de Serviço (QoS): O que são?

Multimédia, Qualidade de Serviço (QoS): O que são? Multimédia, Qualidade de Serviço (QoS): O que são? Aplicações Multimédia: áudio e vídeo pela rede ( meios contínuos ) QoS a rede oferece às aplicações o nível de desempenho necessário para funcionarem.

Leia mais

Virtual Welding. Treinamento do futuro

Virtual Welding. Treinamento do futuro Virtual Welding Treinamento do futuro Aprendizagem real via simulador 100% seguro Economia de recursos O pacote de sucesso GERAL O treinamento em soldagem tem agora um novo nome: Fronius Virtual Welding

Leia mais

Miguel Nascimento Nº 2010426 TIM LTM 12 Janeiro 2011

Miguel Nascimento Nº 2010426 TIM LTM 12 Janeiro 2011 Miguel Nascimento Nº 2010426 TIM LTM 12 Janeiro 2011 Introdução Existem actualmente diversos formatos para reprodução de som multi-canal, mas neste trabalho serão abordados os seguintes: Estéreo LCRS 5.1

Leia mais

4 Mercado setor de telecomunicações

4 Mercado setor de telecomunicações 4 Mercado setor de telecomunicações Nesta sessão é apresentada uma pequena visão geral do mercado de telecomunicações no Brasil, com dados históricos dos acontecimentos mais relevantes a este trabalho,

Leia mais

http://www.locamega.com.br

http://www.locamega.com.br Manual W indow s Media Ao vivo Com o Codificador do Microsoft Windows Media (Windows Media Encoder), você poderá converter seu sinal de áudio e vídeo, seja ele ao vivo ou pré gravado, no formato Windows

Leia mais

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP 1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se

Leia mais

Multimídia. Conceitos Básicos (Parte II)

Multimídia. Conceitos Básicos (Parte II) Universidade do Estado de Minas Gerais Campus de Frutal Sistemas de Informação 7º Período Multimídia Conceitos Básicos (Parte II) Prof. Sérgio Carlos Portari Jr profsergio@frutalhost.com.br Carga Horária:

Leia mais

2 Atualidade de uma base de dados

2 Atualidade de uma base de dados 2 Atualidade de uma base de dados Manter a atualidade de uma base de dados é um problema que pode ser abordado de diferentes maneiras. Cho e Garcia-Molina [CHO] definem esse problema da seguinte forma:

Leia mais

Universidade de Brasília. Departamento de Ciência da Informação e Documentação

Universidade de Brasília. Departamento de Ciência da Informação e Documentação Universidade de Brasília Departamento de Ciência da Informação e Documentação Profa.: Lillian Alvares Aspectos Gerais O uso da tecnologia digital traz grandes perspectivas de trabalho para os arquivos

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

Placa Acessório Modem Impacta

Placa Acessório Modem Impacta manual do usuário Placa Acessório Modem Impacta Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. A Placa Modem é um acessório que poderá ser utilizado em todas as centrais

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Redes I Fundamentos - 1º Período Professor: José Maurício S. Pinheiro AULA 6: Switching Uma rede corporativa

Leia mais

2 de maio de 2014. Remote Scan

2 de maio de 2014. Remote Scan 2 de maio de 2014 Remote Scan 2014 Electronics For Imaging. As informações nesta publicação estão cobertas pelos termos dos Avisos de caráter legal deste produto. Conteúdo 3 Conteúdo...5 Acesso ao...5

Leia mais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante

Leia mais

Largura de banda e Throughput (Tanenbaum,, 2.1.2)

Largura de banda e Throughput (Tanenbaum,, 2.1.2) Largura de banda e Throughput (Tanenbaum,, 2.1.2) A largura de banda,, em termos gerais, indica a quantidade máxima de dados que podem trafegar no meio em um determinado momento. É medida em bps (bits

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

IP Camera Tutorial. CNet Technology Jan 2008

IP Camera Tutorial. CNet Technology Jan 2008 IP Camera Tutorial CNet Technology Jan 2008 O que é Câmera IP? Camera IP é a combinação entre câmera e computador. As câmeras podem ser conectadas diretamente na sua rede. Ela possui internamente software

Leia mais

TECNOLOGIAS DE TRANSMISSÃO

TECNOLOGIAS DE TRANSMISSÃO 1º ENCONTRO DE PROFISSIONAIS DE WEBRADIOS BRASILEIRAS TECNOLOGIAS DE TRANSMISSÃO DO ESTÚDIO AO PLAYER DO SEU OUVINTE PRIMEIROS PASSOS - PLANEJAR COMO SERÁ A SUA EMISSORA ( AO VIVO OU GRAVADA ) - ESTUDAR

Leia mais

ANIMAÇÕES WEB AULA 2. conhecendo a interface do Adobe Flash. professor Luciano Roberto Rocha. www.lrocha.com

ANIMAÇÕES WEB AULA 2. conhecendo a interface do Adobe Flash. professor Luciano Roberto Rocha. www.lrocha.com ANIMAÇÕES WEB AULA 2 conhecendo a interface do Adobe Flash professor Luciano Roberto Rocha www.lrocha.com O layout do programa A barra de ferramentas (tools) Contém as ferramentas necessárias para desenhar,

Leia mais

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Formatos de Imagens

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Formatos de Imagens IntroduçãoàTecnologiaWeb HTML HyperTextMarkupLanguage XHTML extensiblehypertextmarkuplanguage FormatosdeImagens ProfªMSc.ElizabeteMunzlinger ProfªMSc.ElizabeteMunzlinger FormatosdeImagens Índice 1 FORMATOS

Leia mais

3. Cite o nome e características do ponto mais alto e do ponto mais baixo de uma onda?

3. Cite o nome e características do ponto mais alto e do ponto mais baixo de uma onda? Exercícios: 1. Sobre:Ondas Responda: a. O que é a Natureza de Ondas? b. O que origina as Ondas Mecânicas? c. As Ondas Mecânicas se propagam no vácuo? Explique a sua resposta. d. Quais são os elementos

Leia mais

Prof. Samuel Henrique Bucke Brito

Prof. Samuel Henrique Bucke Brito - QoS e Engenharia de Tráfego www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito Introdução Em oposição ao paradigma best-effort (melhor esforço) da Internet, está crescendo

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

Leia mais

Automação de Locais Distantes

Automação de Locais Distantes Automação de Locais Distantes Adaptação do texto Improving Automation at Remote Sites da GE Fanuc/ Water por Peter Sowmy e Márcia Campos, Gerentes de Contas da. Nova tecnologia reduz custos no tratamento

Leia mais

Hit dos Bits. Série Matemática na Escola

Hit dos Bits. Série Matemática na Escola Hit dos Bits Série Matemática na Escola Objetivos 1. Apresentar o sistema de numeração binário; 2. Mostrar aplicações de sistemas de numeração diferentes do decimal; Hit dos Bits Série Matemática na Escola

Leia mais

Prof. Esp. Lucas Cruz

Prof. Esp. Lucas Cruz Prof. Esp. Lucas Cruz O hardware é qualquer tipo de equipamento eletrônico utilizado para processar dados e informações e tem como função principal receber dados de entrada, processar dados de um usuário

Leia mais

Introdução à multimídia na Web

Introdução à multimídia na Web Aplicações Multimídia Aplicações Multimídia para Web Introdução à multimídia na Web Co-autoria com Profº. Diogo Duarte Aplicações Multimídia para Web Multimídia Multimídia é tudo que você ouve ou vê. Textos,

Leia mais

TRABALHO COM GRANDES MONTAGENS

TRABALHO COM GRANDES MONTAGENS Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais