Video streaming Liane Tarouco Mary Lúcia Pedroso Konrath UFRGS 1 Aula virtual A participação em uma aula virtual pode se dar de forma – Assíncrona - as interações entre alunos e destes com os professores ocorrem no momento e local mais conveniente para cada um – Síncrona - as interações são realizadas on-line, como no caso da videoconferência Aprendizagem ubíqua Hoje a informação está em toda parte e, muitas vezes, separada dos estudantes no tempo e/ou espaço, pois o ensinar e aprender exigem hoje muito mais flexibilidade espaço/temporal, pessoal e de grupo, menos conteúdos fixos e processos mais abertos de pesquisa e de comunicação Anytime, anywhere O maior propulsor do treinamento baseado na Web é a necessidade de se encontrar maneiras de trazer o treinamento diretamente para o desktop de uma forma just-in-time contínua —treinamento de uma pessoa que requer uma nova habilidade ou conhecimento, no momento em que essa habilidade ou conhecimento se torna necessário e nunca antes disso tornando as informações disponíveis anytime – anywhere. A qualquer hora, em qualquer lugar. Sistemas híbridos Colaborativo/Interativo: prover mecanismos que proporcionem a interação e colaboração entre os alunos, e destes com o professor, através de multimeios; Baseados em objetivos: o treinamento deverá ser integrado com a avaliação, e proporcionar que os alunos façam suas avaliações via Web; On-line: a tendência de aprender com os outros, continuará a crescer e elementos on-line tornam estes recursos caros. Para isso é necessária troca de informações constantes, utilização de recursos com grande abrangência e baixos investimentos. Aprendizagem ativa O esforço mental que o estudante investirá na tarefa de aprendizado depende de sua percepção frente a dois fatos: – a pertinência do meio e da mensagem contida no mesmo; – sua habilidade em fazer algo significativo fora do material apresentado. Vídeo sob demanda A preparação de vídeos sob demanda e outros materiais didáticos é uma tarefa demorada, na proporção de levar 10 horas de trabalho para gerar 2 horas de aula, Treinamento de docentes Para que o corpo docente incorpore de forma eficaz as novas tecnologias, é necessário, além da conscientização da importância e necessidade da sua adoção, treinamentos específicos que possibilitem que os professores dominem a utilização das mesmas. 3 Cs No caso dos estudantes de EaD, além das habilidades básicas no que se refere à língua escrita e falada e aquelas envolvendo o raciocínio matemático, cada aluno deve também dominar os “3 C”: – Comunicação, – Colaboração e – Criatividade na Resolução de Problemas. Áudio-visuais A incorporação de recursos áudio-visuais, tanto em tempo real quanto sob demanda, tem possibilitado a criação de ambientes virtuais multimídia na Internet, tais como ambientes de videoconferência e ambientes de transmissão de vídeo sob demanda. As conseqüências deste avanço tecnológico para fins educacionais são notórias, principalmente quando se permite a interatividade entre o professor e os alunos. Vídeo sob demanda A transmissão de multimídia sob demanda vem crescendo muito na Internet, como forma de transferência de conteúdo multimídia remoto para microcomputadores locais, consolidando-se o conceito de Vídeo sob Demanda, que compõe toda forma de difusão de filmes e imagens sob a demanda do usuário VoD Conceitualmente, pode-se dizer que um serviço de vídeo sob demanda (VoD- Video On Demand), deve capacitar o usuário a selecionar um vídeo e reproduzi-lo imediatamente, independentemente da existência de outras solicitações de reprodução de filmes por outros usuários Streaming Os sistemas de VoD funcionam de acordo com a tecnologia de streaming, que possibilita a execução do arquivo localmente, sem necessidade de download total mesmo, sendo que à medida que o arquivo é recebido, este já vai sendo mostrado ao usuário. Streaming e buffer Nos primeiros segundos, uma aplicação de vídeo sob demanda armazena em um buffer local (memória temporária) uma porção do arquivo streaming que está sendo acessado. Dessa forma ele também poderá balancear a reprodução em eventuais congestionamentos da rede que comprometam a velocidade de transmissão. Tecnologia de Streaming Um misto de técnicas de compressão e armazenamento em memória temporária (buffering). Ela permite a transmissão de vídeo em tempo real através da Internet. Streaming O streaming faz com que os arquivos de som e imagem comecem a ser exibidos mesmo antes que a transferência seja finalizada, ou seja, antes que o arquivo seja copiado totalmente para o computador local. Isto reduz a espera inicial a poucos segundos, um tempo relativamente razoável para o contexto atual da Internet Streaming Permite ainda enviar o vídeo ao microcomputador de uma forma que ele não pode ser copiado. O aluno pode rever a aula quantas vezes quiser, solicitando novamente o vídeo, porém não é possível armazenar uma cópia. Plugin Para rodar um vídeo clip em streaming da Internet é necessário a presença de um plugin (software especial que trabalha em conjunto com o navegador da Web), o qual manipula o download e descompressão do arquivo Compressão Na compressão do vídeo, aplicam-se complexas fórmulas matemáticas que particionam a seqüência de imagens em quadros denominados frames. Cada frame é quebrado em partes dinâmicas e/ou estáticas. Estas partes, também chamadas de objetos, contém conteúdo móvel ou parado. Um software de compressão age sobre estes objetos, atualizando aqueles com conteúdo móvel e reciclando aqueles com conteúdo estático. Assim, consegue-se reduzir o tamanho e o tempo de transmissão de um arquivo de vídeo. Qualidade do vídeo Para realizar a transmissão de um stream com boa de qualidade, deve-se garantir a captura das mídias com boa sonoridade e nitidez Otimizar para a compressão Evitar movimentos desnecessários (tanto da câmera, quanto do alvo) durante captura das imagens. Cores sólidas com brilho são melhor comprimidas. Cores escuras podem confundir o software de compressão. Deve-se valorizar cenários contraste com os objetos alvo. que tenham bom Sequênciação de pacotes Nas transmissões streaming, a ordem de chegada dos pacotes de informação (ou pedaços de um arquivo) é fundamental, pois a visualização ou execução do conteúdo do arquivo se inicia antes do término da transmissão. Transmissão com perda Outra diferença em relação a transmissão convencional está na flexibilidade de perda de dados; ela pode suportar o descarte de alguns pacotes que farão uma diferença praticamente imperceptível aos sentidos humanos. Compressão de áudio Padrão de compressão de áudio Taxa de transmissão gerada PCM de 64 a 78 Kbps CVSD de 9 a 64 Kbps IDVI cerca de 46 Kbps ADPCM cerca de 36 Kbps VADPCM Variável GSM cerca de 19 Kbps Delta-Modulation cerca de 16 Kbps LPC cerca de 9 Kbps CODEC Os codecs que são encontrados nas ferramentas de empresas que desenvolvem soluções voltadas à transmissão de dados multimídia em ambientes computacionais, na sua maioria, estão baseados em padrões internacionais Compressão de vídeo Basicamente, os mais importantes projetos são baseados nos algoritmos de compressão que podem se – JPEG (Joint Photographic Experts Group), – MPEG 1 e 2 (Moving Pictures Experts Group), – DCT (Discrete Cosine Transform), utilizado nos videotapes Betacam Digital e Digital S da JVC – método DV, do sistema DVCAM, da Sony, híbrido de fita e disco. CODEC de vídeo JPEG: Joint Photographic Experts Group. Desenvolvido para a transmissão de quadros parados, como fotos. Utiliza o DCT como técnica de compressão MJPEG: Uma variação do JPEG para movimento, usado em alguns sistemas de edição não-linear MPEG-1: Inicialmente desenvolvido para permitir o armazenamento de vídeo clips em CD-ROMs ou em aplicações similares com baixa quantidade de informações. MPEG MPEG foram desenvolvidos pelo Moving Picture Experts Group, um grupo de trabalho da International Standards Organization (ISO). A família do padrão MPEG abrange três sistemas principais – MPEG-1 – MPEG-2 – MPEG-4 – além de um quarto em elaboração, que é o MPEG-7. O MPEG-3, originalmente projetado para aplicações de HDTV, mas que deixou de existir em função dos avanços do MPEG-2 MPEG-2 Permite transmissão em alta qualidade de áudio e vídeo sobre links de velocidade limitada. Largamente utilizado em diversos formatos de transmissão de vídeo digital, incluindo televisão, transmissão de sinal via satélite, sistemas de cabo digital, conteúdo de multimídia para ambientes computacionais, DVD (Digital Versatile Disk), entre outros tipos de mídias interativas. H.261 da ITU É um padrão de compressão de vídeo designado para larguras de banda entre 64 kbps e 2Mbps, medidos em intervalos de 64 kbps Define dois formatos de quadro: – CIF - Common Intermediate Format – QCIF - Quarter Common Intermediate Information CIF CIF - Common Intermediate Format possui 288 linhas de 352 pixels/linha de informação de luminância (componente usado para representar infomações de brilho no sistema RGB), e 144 x 180 de crominância (componente usado para representar cor no sistema RGB). QCIF - Quarter Common Intermediate Information QCIF - Quarter Common Intermediate Information Possui 144 linhas de 180 pixels/linha de luminância e 72 x 90 de crominância. Cinepak Este codec é utilizado pelo padrão Video for Windows da Microsoft e possibilita uma reprodução mais rápida do vídeo neste ambiente. Usa técnicas de quantização de vetores e de diferenciação de quadros. Existem três versões para este codec: – Cinepak da Super Mac (versão original 16 bits), Cinepak da Radius (nova versão de 16 bits) e o Cinepak[32] da Radius (versão 32 bits incluída no Windows 95). H.263 H.263: Outra norma internacional da ITU-T que é baseada no DCT e em compensação de movimento, sendo este o principal aperfeiçoamento em relação ao antecessor H.261. Foi concebido para uso e canais de largura de banda estreita – até 64 Kbps Format de transmissão Ponto-a-ponto Multicast Broadcast Unicast Cada usuário recebe um fluxo de pacotes independente mesmo que os fluxos sejam idênticosc Broadcast Todos os usuários recebem recebem o fluxo de pacotes que é transmitido na rede local Multicast Apenas os usuários que solicitam ingresso no grupo de recepção passam a receber o fluxo de pacotes que é transmitido na rede local Helix Producer O Helix Producer é responsável pela produção do conteúdo multimídia, ou seja, ele controla a captura e digitalização do áudio e do vídeo destinados a distribuição, rodando em ambientes Windows, Macintosh ou UNIX (para plataformas Intel). O Helix Producer elabora e transmite multimídia pela porta 4040 (padrão) sob velocidades de recepção distintas. O áudio e vídeo elaborados são oriundos de dispositivos de captura apropriados (placas de som e/ou placas de captura de vídeo). Soluções Real Basicamente, são três aplicativos responsáveis pela composição, distribuição e reprodução de conteúdo multimídia. São eles: – RealProducer – RealServer – RealPlayer Helix Producer O Helix Producer é responsável pela produção do conteúdo multimídia, ou seja, ele controla a captura e digitalização do áudio e do vídeo destinados a distribuição, rodando em ambientes Windows, Macintosh ou UNIX (para plataformas Intel). O Helix Producer elabora e transmite multimídia pela porta 4040 (padrão) sob velocidades de recepção distintas. O áudio e vídeo elaborados são oriundos de dispositivos de captura apropriados (placas de som e/ou placas de captura de vídeo). Real Producer O Real Producer é responsável pela produção do conteúdo multimídia, ou seja, ele controla a captura e digitalização do áudio e do vídeo destinados a distribuição, rodando em ambientes Windows, Macintosh ou UNIX (para plataformas Intel). O Real Producer 8 elabora e transmite multimídia pela porta 4040 (padrão) sob velocidades de recepção distintas. O áudio e vídeo elaborados são oriundos de dispositivos de captura apropriados (placas de som e/ou placas de captura de vídeo). Real Producer É possível, por exemplo, selecionar a forma de transmissão de Live Broadcast para difusão de áudio e vídeo ao vivo; ou, se necessário, utilizar um arquivo localizado em armazenamento físico ou dispositivo de captura como fonte de multimídia. Pode-se definir larguras de banda que o servidor de áudio e vídeo poderia trabalhar Servidor de multimídia Servidor Basic Server Plus G2) Tem a função de receber o conteúdo de multimídia produzido na máquina onde está rodando o Producer e distribuí-lo na rede. Gerenciamento de configuração É possível realizar todo um gerenciamento das configurações atribuídas ao Real Server através de utilitários em Java e HTML (HyperText Markup Language), sendo que essas ferramentas desenvolvidas podem ser acessados via browser numa porta local (criada com número aleatório na instalação), onde roda um pequeno servidor Web da própria RealNetworks destinado a esta função. Gerenciamento do servidor Real Através deste gerenciamento, é possível configurar as portas de cada protocolo (PNM, HTTP, RTSP), o processo de loging, os diretórios HTTP existentes, o endereçamento IP a ser utilizado pelo Real Server, as portas, diretórios e autenticação de acesso dos clientes, normas de segurança e muitas outras funções. Acesso ao servidor Real Os clientes localizados remotamente acessam o Real Server através de um número IP (ou nome do host),para executar este conteúdo remotamente. O número IP ou nome de host são referentes ao servidor Real, seguido da porta de streaming RTSP previamente definida como 554 (default), e finalmente o diretório localizado no Producer (estrutura de pastas virtuais mantidas por ele) seguido do nome do arquivo desejado. Real Player Através de um link em um site na Web é possível executar um conteúdo de multimídia remoto. Para isso, o cliente Real Player (previamente instalado na máquina local) , acessa um endereço determinado e começa a baixar a informação. Nos primeiros segundos, o Real Player armazena em um buffer local (memória temporária) uma porção do arquivo streaming que está sendo acessado no servidor de multimídia da Real Networks. A tecnologia Real Basicamente, portanto, a tecnologia Real permite a gravação de áudio e imagem, utilizando a arquitetura cliente/servidor. O servidor Real é responsável pelo fornecimento de streams de áudio e vídeo comprimidos por um algoritmo proprietário. O lado cliente consome os streams através de um software específico - Real Player - ou como plugin em um browser, permitindo assim que a imagem e o áudio sejam apresentados dentro de uma página WWW. Transmissão de aulas Além da transmissão e gravação de uma aula ao vivo, a tecnologia Real permite também a transmissão de um arquivo contendo streams de áudio e vídeo em um formato específico de grande taxa de compressão através da Internet. Aulas previamente gravadas podem ser transmitidas sob demanda através da rede bem como qualquer vídeo editado através de outras tecnologias convertidas para o formato Real. Transmissão unicast O Real Server envia sinais ou pacotes de informação para cada cliente que solicita recepção. Isto significa a ocorrência de redundância nesta transmissão, pois o servidor irá transmitir o mesmo pacote “n” vezes para os “n” clientes conectados. Multicast simples Transmissão multicast simples numa rede IP, pois o Server manda, através de um roteador, switch ou hub, pacotes de informação sem redundância, ou seja, são enviados somente uma cópia de cada pacote de informação. Estes, por sua vez, são replicados na rede de forma multicast. Multicast segura A terceira forma pode ser classificada como uma transmissão multicast segura numa rede IP. Ela funciona da mesma forma que o caso anterior, salvo a possibilidade dos clientes poderem solicitar retransmissões de pacotes perdidos durante uma transmissão multicast por congestionamentos da rede. Neste caso, a quantidade de clientes conectados não pode ser grande, pois estes pedidos de retransmissão geram um tráfego maior. Protocolos usados PNM: protocolo utilizado em versões anteriores e já em extinção; RTSP: Real Time Streaming Protocol (RFC 2326) é uma especificação da IETF para controle de transmissão de multimídia na Internet. Foi submetido a IETF em outubro de 1996 pela RealNetworks e pela Netscape Communications Corporation; Protocolos usados IGMP: protocolo de agrupamentos (gerenciamento de grupos de clientes) para transmissões em multicast; DVMRP: protocolo de roteamento em transmissões multicast; UDP/TCP: protocolos para transporte de dados; HTTP: protocolo utilizado na transmissão através de firewalls; Múltiplas velocidades Quando utilizamos o RealSystem para transmitir multimídia em redes IP, temos o recurso de realizar esta transmissão em várias velocidades. Quem consegue isso é a tecnologia SureStream, que possibilita alternar velocidades de transmissão e operar em larguras de bandas estreitas. SMIL A solução da Real Networks é compatível com o Synchronized Multimedia Integration Language (SMIL), o qual compõe uma especificação do World Wide Web Consortium (W3C), que permite controle sobre apresentações multimídia. O SMIL descreve a sincronização das informações de mídia que aparecem na tela, a fim de que seja possível uma reprodução fiel e de qualidade. Tipos de recepção Real Pode ser diretamente via RealPlayer – Utiliza arquivo .rm Pode ser incorporado a páginas HTML – Utiliza arquivo .html – Utiliza arquivo .rpm Recepção com RealPlayer Deve-se criar arquivo .rm – Ex: aula.rm – Colocar dentro do arquivo a linha no estilo • <protocolo>://<servidor>:<porta>/encoder/<arquivo.rm> – Ex: para o servidor mcu.ufrgs.br, arquivo virtual transmissão.rm • rtsp://mcu.ufrgs.br:554/encoder/trasmissão.rm Recepção com HTML Permite apresentar conteúdo HTML ao redor do vídeo – Baseia-se na criação de dois arquivos: • Arquivo.rpm – Estilo o arquivo .rm, só muda a extensão • Arquivo .html • O arquivo que será exibido pelo web browser, contendo o vídeo e controles. Criação do arquivo .html No corpo do arquivo .html deverá ter a seguinte linha: – <embed src=“<caminho para o arquivo .rpm" align="baseline" border="0" width=“<largura>" height=“<altura>" console="Clip1" controls="ImageWindow" autostart="true"></noembed> Exemplo de arquivo .html <HTML> <BODY> <CENTER> <embed src=“trasmissao.rpm" align="baseline" border="0" width="352" height="288" console="Clip1" controls="ImageWindow" autostart="true"> </noembed> </CENTER> </BODY> </HTML> Configuração do RealProducer para transmissão ao vivo Ao entrar no RealProducer escolher Live Broadcast Configuração do RealProducer para transmissão ao vivo Marcar as caixas “Capture Audio” e “Capture Video” Configuração do RealProducer para transmissão ao vivo Completar os campos com as informações sobre o vídeo a ser transmitido Configuração do RealProducer para transmissão ao vivo Escolher o tipo de transmissão: Multi-rate ou Single Rate Velocidades usadas no Real Configuração do RealProducer para transmissão ao vivo Escolher as taxas de transmissão (máximo duas simultâneas, na versão gratuita) Configuração do RealProducer para transmissão ao vivo Escolher o formato do áudio a ser transmitido Configuração do RealProducer para transmissão ao vivo Escolher o formato do vídeo Velocidade Abaixo de 15 fps o vídeo não parece contínuo Abaixo de 7 fps o vídeo fica bem entrecortado Abaixo de 3 fps, o vídeo torna-se uma seqüência de quadros Tamanho da janela Recomendações Usar largura de 320 pixels e altura de 240. Pode-se usar 640 x 480 se: – A velocidade de entrega vai ser maior do que 100 Kbps. – Os clips codificados serão maiores do que 320 x 240 – Terá uma estação de trabalho capaz de degitalizar full-motion, full-screen video. Standard PCs tipicamente não conseguem processar esta carga. Área em disco ocupada Você pode calcular a área em disco que vai ser ocupada pelo filme com a seguinte fórmula: (pixel larg) x (pixel alt) x (color bit depth) x (fps) x (duração em seg) 8.000.000 Exemplo: área ocupada por um filme de 3 minutos gravado com 15 fps 24 bits para codificação de cor e janela de 320 x 240 pixels = 622 Mbytes Configuração do RealProducer para transmissão ao vivo Colocar as configurações: nome do servidor, porta, arquivo virtual, user-name e senha. Caso queira armazenar a transmissão marcar Archive Broadcast to File mas isto pode acarretar problemas na máquina levando a congelamento do programa. Configuração do RealProducer para transmissão ao vivo Confirmar as Opções Configuração do RealProducer para transmissão ao vivo Clicar em Start 1. Criar vídeo 2.Digitalizar e editar 3.Codificar 4.Apresentar Produtos atuais da Real Media player – RealOne Player (Windows, Unix, MacOS) – RealOne Player for Mobile Devices – versão Plus (U$39.99) versão grátis Media creation – Helix Producer - U$199.95 – Producer basic - grátis (limitações) Server – Helix Universal Server Produtos da Real Presenter One – Sincronizar vídeo streaming e apresentações PowerPoint Teleaula Televisão instrucional pode motivar e cativar estudantes, e estimular um interesse no processo de aprendizado. Efeito Holliwood Mas visuais estimulantes podem distorcer o currículo através do desvio da atenção dos estudantes para as características provocativas e de entretenimento da apresentação ao invés de encorajar análises interessantes sobre o seu significado. Atividades de laboratório Observação indireta – transmissão de imagens pela rede – CDROM, fitas de vídeo Vídeo interativo, com perguntas embutidas, do tipo: – “o que vai acontecer a seguir?” – “porque isso ou aquilo aconteceu?” – “qual das explicações seguintes são consistentes com os dados?” Modêlos básicos A: Sala de aula distribuída – Extensão do conceito de sala de aula – Curso apresentado a partir de um local para estudantes locais e remotos – Controle do professor Centro de geração de aulas Salas remotas Salas de aula/laboratório Demonstração Modêlos básicos B: Aprendizagem independente – Estudantes recebem material, guia e apostilas – Tem acesso a um professor para orientação, dúvidas, avaliação Modêlo combinado C:Aprendizagem aberta + aula – Guia de curso impresso ou pelo WWW – Video ou CBT para apoiar a auto-instrução – Uso ocasional de telecomunicações para reuniões de grupo Helix Producer É possível, por exemplo, selecionar a forma de transmissão de Live Broadcast para difusão de áudio e vídeo ao vivo; ou, se necessário, utilizar um arquivo localizado no winchester ou dispositivo de captura como fonte de multimídia Pode-se definir larguras de banda que o servidor de áudio e vídeo poderia trabalhar Servidor de multimídia Servidor Helix Server Tem a função de receber o conteúdo de multimídia produzido na máquina onde está rodando o Producer e distribuí-lo na rede. RealOne Através de um link em um site na Web é possível executar um conteúdo de multimídia remoto. Para isso, o cliente Real One (previamente instalado na máquina local) , acessa um endereço determinado e começa a baixar a informação. Nos primeiros segundos, o Real One armazena em um buffer local (memória temporária) uma porção do arquivo streaming que está sendo acessado no servidor de multimídia da Real Networks. A tecnologia Real Basicamente, portanto, a tecnologia Real permite a gravação de áudio e imagem, utilizando a arquitetura cliente/servidor. O HelixServer é responsável pelo fornecimento de streams de áudio e vídeo comprimidos por um algoritmo proprietário. O lado cliente consome os streams através de um software específico - Real Player - ou como plugin em um browser, permitindo assim que a imagem e o áudio sejam apresentados dentro de uma página WWW. HelixServer Antigo RealServer Suporte a múltiplos protocolos – PNA – RTSP Múltiplas mídias com Multicast – Real – Windows Media RealOne Sistema da RealNetworks Suporte tanto a multicast quanto unicast Tenta primeiro multicast, então unicast. Usa SAP para anúncios Recentemente teve o código fonte aberto (com exceção dos CODECs RealAudio e RealVideo)