Treinamento Streaming
Streaming
Streaming é a tecnologia que permite o envio de informação multimídia através de pacotes, utilizando redes de computadores, sobretudo a Internet. Quando a ligação de rede é banda larga, a velocidade de transmissão da informação é elevada, dando a sensação de que o áudio e o vídeo são transmitidos em tempo real.
Permite novos negócios na Internet, como por exemplo, o vídeo sob demanda (vídeo on demand). Também já é possível assistir a vídeos em streaming via telefone celular ou na tela de seu computador.
Faz uso da tecnologia Multicast IP para a transmissão dos dados a partir de um único ponto para vários outros pontos de recepção (um para N).
Atualmente, rádios FM e AM e TV’s, bem como várias empresas que realizam eventos, utilizam esta tecnologia para interação digital com seus ouvintes e clientes.
A primeira transmissão digital via streaming ocorreu no ano de 1988 utilizando a tecnologia Shoutcast com base no MP3 comprimido à 128kbps (qualidade de CD), porém, como a Internet ainda não era capaz de suportar transmissões de elevada velocidade, o projeto foi engavetado.
Hoje com novas tecnologias como o ADSL (Asymmetric Digital Subscriber Line), a Internet via Cabo, rádio, WiMAX e fibra ótica, possibilita que o streaming volte a ser uma ferramenta interessante no mundo da Internet.
Sobre Sistemas de Transmissão
Um sistema de mídia de fluxo contínuo baseado em Windows Media Technologies consiste tipicamente de um computador executando o Codificador do Microsoft Windows Media, um servidor executando o Windows Media Services (chamado servidor do Windows Media) e computadores clientes executando o Windows Media Player. O codificador permite converter áudio, vídeo e imagens da tela do computador ao vivo e pré-gravados em Formato do Windows Media. O servidor do Windows Media permite que você distribua o conteúdo em uma rede. Os usuários recebem o conteúdo distribuído usando o Player.
Em uma situação comum, um usuário clica em um link de uma página da Web para solicitar conteúdo. O servidor Web redireciona a solicitação para o servidor do Windows Media e abre o Player no computador do usuário. Nesse ponto, o servidor Web não desempenha mais uma função no processo de mídia de fluxo contínuo e o servidor do Windows Media começa a transmissão do conteúdo diretamente para o usuário.
Um servidor do Windows Media pode receber conteúdo de várias fontes diferentes. O conteúdo pré-gravado pode ser armazenado localmente no servidor ou recuperado de um servidor de arquivos da rede. Eventos ao vivo podem ser capturados usando um dispositivo de gravação digital e processados através de um codificador antes de serem enviados ao servidor do Windows Media para difusão. O Windows Media Services também pode retransmitir o conteúdo transmitido de um ponto de publicação em um servidor remoto do Windows Media.
Sobre Servidores do Windows Media
Um servidor do Windows Media usa pontos de publicação para traduzir a solicitação de conteúdo por parte de um cliente em um caminho físico no servidor que hospeda o conteúdo. Você pode adicionar dois tipos de pontos de publicação a um servidor do Windows Media. Se você deseja transmitir um arquivo e permitir que os usuários controlem a reprodução do conteúdo (por exemplo, pausar, retroceder ou avançar), a melhor opção é um ponto de publicação por demanda. Para transmitir conteúdo ao vivo a partir de um codificador, a melhor opção é um ponto de publicação de difusão.
Do seu ponto de publicação, selecione o método de distribuição de mídia de fluxo contínuo, seja ele de unicast ou multiicast. Cada método tem suas capacidades e fraquezas exclusivas com base na natureza do público e no tipo de conteúdo.
Unicast. No caso de um fluxo de unicast, os clientes se conectam a um servidor do Windows Media para acessar o conteúdo. Você pode distribuir conteúdo como um fluxo de unicast a partir de um ponto de publicação por demanda ou de difusão.
Multicast. No caso de um fluxo de multicast, o servidor transmite o conteúdo para um endereço IP de multicast na rede e os clientes acessam esse endereço IP para receber o fluxo, em vez de se conectarem ao servidor. Isso reduz a quantidade de largura de banda necessária na rede, já que um único fluxo é capaz de satisfazer as solicitações de vários clientes. Você pode distribuir conteúdo como um fluxo de multicast somente a partir de um ponto de publicação de difusão.
Depois de adicionar um ponto de publicação e identificar o conteúdo a ser transmitido a partir dele, você deve comunicar que o conteúdo está disponível. Um método fácil para realizar essa tarefa é criar um anúncio para o conteúdo.
Também é possível implementar alguns dos recursos mais avançados disponíveis por meio do Windows Media Services. Por exemplo, você pode modificar as configurações para limitar o número de conexões de clientes, configurar medidas de segurança para proteger o conteúdo, registrar dados sobre a atividade dos clientes ou configurar um servidor de distribuição.
Tipos de Arquivos Compatíveis
Por padrão, você pode usar os tipos de arquivos a seguir com o Windows Media Services. As extensões de nome de arquivo desses arquivos são fornecidas entre parênteses:
• Arquivos Advanced Systems Format (.asf). São arquivos do Windows Media que podem conter vários elementos, como vídeo, áudio, comandos de scripts, HTML e metadados. Podem ser codificados com qualquer codec.
• Arquivos Windows Media Áudio (.wma). Esses arquivos de mídia digital são formatados com o Advanced Systems Format e são codificados usando o codec de Áudio do Windows Media Áudio. Geralmente são arquivos de áudio, embora também possam conter scripts, figuras e metadados.
• Arquivos de Vídeo do Windows Media (.wmv). Esses arquivos de mídia digital são formatados com o Advanced Systems Format e são codificados usando o codec de Vídeo do Windows Media. Geralmente são arquivos de vídeo, embora também possam conter scripts e outras instruções.
• Arquivos MP3 (.mp3). Esses arquivos de mídia digital usam o formato de áudio do Motion Pictures Experts Group (MPEG). O Windows Media Services não pode usar o recurso de fluxo contínuo inteligente para transmitir arquivos formatados como MP3. Além disso, o Windows Media Services não pode transmitir arquivos MP3 com taxa de bits múltipla. Se o arquivo MP3 foi codificado usando uma taxa de bits múltipla, ele não será reproduzido como esperado quando for transmitido do servidor do Windows Media.
• Arquivos JPEG (.jpeg ou .jpg). Esses arquivos são arquivos de imagem formatados de acordo com o padrão do Joint Photographic Expert Group. Você pode adicionar imagens codificadas comoJPEG como divulgações intersticiais em uma lista de reprodução do Windows Media para streaming de unicast. Transmitir arquivos de imagem grandes pode causar atrasos no processamento. Para obter o melhor desempenho, evite transmitir arquivos JPEG com mais de 35 KB.
• Arquivos de informações de multicast (.nsc). Esses arquivos são metarquivos do Windows Media que levam os clientes a uma transmissão de multicast. São usados para definir as propriedades de um fluxo de difusão para um player, como o Windows Media Player.
• Arquivos de lista de reprodução do lado do servidor (.wsx). São metarquivos do Windows Media usados como listas de reprodução do lado do servidor. Podem conter combinações de arquivos de áudio, vídeo e imagem.
Para garantir o processamento confiável no Windows Media Player, o conteúdo usado com o Windows Media Services deve ter ou exceder o comprimento de conteúdo mínimo ao qual o Player oferece suporte. O comprimento de conteúdo mínimo ao qual o Windows Media Player 9 Series ou posterior oferece suporte é 5 segundos. O comprimento de conteúdo mínimo ao qual as versões anteriores do Windows Media Player oferecem suporte é 30 segundos.
Usando Pontos de Publicação por Demanda (ON-DEMAND)
O conteúdo de fluxo contínuo de um ponto de publicação por demanda é mais adequado para cenários em que você deseja que os usuários possam controlar a reprodução do conteúdo que está sendo transmitido. Esse tipo de ponto de publicação é mais freqüentemente usado para hospedar conteúdo originado em arquivos, listas de reprodução ou diretórios. Quando um cliente se conecta a um ponto de publicação, o conteúdo é iniciado desde o começo e o usuário final pode usar os controles de reprodução de um player para pausar, retroceder, saltar entre itens em uma lista de reprodução, ou parar.
Um ponto de publicação por demanda transmite conteúdo somente se houver um cliente conectado para receber o fluxo. O conteúdo de um ponto de publicação por demanda é sempre transmitido como um fluxo de difusão ponto a ponto, o que significa que o servidor mantém uma conexão separada com cada cliente.
Um ponto de publicação por demanda também pode ser usado para transmitir fluxos de difusão de um codificador, de um servidor remoto ou de outro ponto de publicação. Qualquer um deles pode ser selecionado como origem única do conteúdo ou pode ser incluído como parte de uma lista de reprodução de conteúdo. Quando um conteúdo for originado de uma fonte diferente do servidor do Windows Media, o usuário não poderá usar os controles de reprodução do Player para pausar, avançar, retroceder, saltar itens de uma lista de reprodução, ou parar.
Usando Pontos de Publicação de Difusão (LIVE)
O conteúdo do fluxo contínuo de um ponto de publicação de difusão é mais adequado para cenários em que você deseja criar uma experiência comparável a assistir a um programa de televisão; o conteúdo é controlado e transmitido no ponto de origem ou no servidor. Esse tipo de ponto de publicação é mais utilizado para distribuir fluxos ao vivo de codificadores, servidores remotos ou de outros pontos de publicação de difusão. Quando um cliente conecta-se com um ponto de publicação de difusão, ele está se juntando a uma difusão que já está em andamento. Por exemplo, se uma reunião da empresa for transmitida às 10h, os clientes que se conectarem às 10h18 terão perdido os primeiros 18 minutos. Um cliente pode iniciar e parar o fluxo, mas não pode pausá-lo, utilizar o recurso de avanço rápido, de retrocesso ou de salto.
Também é possível transmitir arquivos e listas de reprodução de arquivos em um ponto de publicação de difusão. Ao utilizar um ponto de publicação de difusão como fonte, o arquivo ou a lista de reprodução é enviada como um fluxo de difusão pelo servidor e o player não pode controlar a reprodução da forma como controla um fluxo por demanda. A experiência do usuário é exatamente igual à do recebimento de difusão de um fluxo ao vivo codificado; o cliente inicia a execução do fluxo em andamento.
Normalmente, um ponto de publicação de difusão é transmitido assim que é iniciado e continua até ser interrompido ou até que o conteúdo termine. No entanto, é possível configurar um ponto de publicação de difusão para iniciar e executar automaticamente apenas se um ou mais clientes estiverem conectados. Dessa forma, os recursos da rede e do servidor serão economizados quando não houver clientes conectados. Você também pode configurar um ponto de publicação de difusão para iniciar automaticamente quando um servidor do Windows Media for iniciado. Por exemplo, se uma queda de energia causar a reinicialização do servidor do Windows Media, todos os pontos de publicação de difusão poderão começar a ser executados automaticamente após a inicialização do servidor.
É possível distribuir conteúdo de um ponto de publicação de difusão como um fluxo de unicast ou de multicast. É possível salvar o fluxo de um ponto de publicação de difusão como um arquivo morto e, em seguida, oferecê-lo a usuários finais como uma reprodução por demanda da difusão original.
Distribuindo Conteúdo como um Fluxo de Unicast
O fluxo de unicast é o método padrão pelo qual o servidor do Windows Media distribui conteúdo. Um fluxo de unicast é uma conexão de um para um entre o servidor e um cliente, o que significa que cada cliente recebe um fluxo distinto e somente os clientes que solicitam o fluxo o recebem. Você pode distribuir conteúdo como um fluxo de unicast a partir de um ponto de publicação por demanda ou de difusão.
Ele é gerenciado pelo plug-in Gravador de Dados de Unicast do WMS, o qual está habilitado por padrão.
O streaming de unicast oferece os benefícios de interatividade entre o player e o servidor, configuração mais fácil e capacidade de transmissão em taxas de bits múltiplas. No entanto o número de usuários que podem receber fluxos de unicast é limitado pela taxa de bits do conteúdo e pela velocidade da rede do servidor. Um grande público de multicast pode dominar rapidamente uma rede ou servidor. Considere usar o streaming de unicast se:
• Você deseja tirar proveito da codificação de taxas de bits múltiplas e do fluxo contínuo inteligente.
• A taxa de bits projetada do tamanho de seu público e do conteúdo for compatível com as capacidades de sua rede e servidor.
• Você precisar de um log detalhado de clientes.
• Sua rede não estiver habilitada para multicast.
A figura a seguir mostra um exemplo de distribuição de conteúdo como um fluxo de unicast, usando um ponto de publicação por demanda.
Como mostrado na figura, há um ponto de publicação por demanda, chamado TV1, no servidor do Windows Media, chamado Servidor1. Esse ponto de publicação identifica a localização do conteúdo a ser transmitido. O conteúdo pode ser hospedado no servidor local ou em um sistema de arquivos da rede. Você pode usar como origem um arquivo específico, um arquivo de lista de reprodução ou um diretório. Nesse exemplo, o ponto de publicação está usando como origem um arquivo de lista de reprodução armazenado localmente no Servidor1. Quando você estiver pronto para permitir que os usuários iniciem o fluxo contínuo, poderá criar um anúncio para fornecer-lhes a URL para o conteúdo. Como o conteúdo está sendo distribuído como um fluxo de unicast, cada player tem uma conexão exclusiva com o Servidor1.
Sobre Protocolos de Transferência de Dados
Um protocolo de transferência de dados é um formato padronizado para transmissão de dados entre dois dispositivos. O tipo de protocolo usado pode determinar variáveis como o método de verificação de erros, o método de compactação de dados e as confirmações do final do arquivo. Se todas as redes fossem construídas da mesma maneira e todo o software e equipamento de rede se comportasse de maneira similar, somente um protocolo seria necessário para lidar com todas nossas necessidades de transmissão de dados. Na realidade, a Internet inclui milhões de redes diferentes executando uma ampla variedade de combinações de hardware e software. Como resultado, a capacidade de transmitir de maneira confiável o conteúdo de mídia digital para clientes depende de um conjunto de vários protocolos com uma boa engenharia. Os protocolos usados para transmitir conteúdo baseado no Windows Media são:
• Protocolo RTSP
• HTTP O Windows Media Services gerencia o uso desses protocolos usando plug-ins de protocolos de controle. O plug-in do protocolo de controle recebe a solicitação do cliente de entrada, determina a ação indicada pela solicitação (por exemplo, iniciar ou parar a transmissão), traduz a solicitação em uma forma de comando e passa o comando para o servidor. Os plug-ins de protocolo de controle também podem retornar informações de notificação para os clientes, se houver uma condição de erro ou uma alteração do status. O Windows Media Services inclui os plug-ins Protocolo de Controle de Servidor RTSP do WMS e Protocolo de Controle de Servidor HTTP do WMS.
Enquanto os plug-ins de protocolos de controle lidam com a troca de dados de alto nível, os protocolos de rede básicos como UDP e TCP são usados para gerenciar tarefas mais fundamentais como a conectividade da rede e a correção de erros de pacotes. O protocolo RTSP é usado junto com os protocolos UDP ou TCP.
A figura a seguir mostra como o Windows Media Services usa protocolos diferentes para negociar conexões entre um servidor do Windows Media, codificadores, fontes de conteúdo e clientes.
Para facilitar a substituição de protocolos, recomenda-se que a URL do seu conteúdo use o identificador MMS generalizado na conexão URL (por exemplo, mms:servidor/ponto_de_publicação/arquivo). Dessa forma, o Player negocia o melhor protocolo a ser usado (RTSP ou HTTP) para conectar o fluxo. Para forçar o servidor a usar um protocolo específico, você pode identificar o protocolo a ser usado no arquivo de anúncio. O usuário também pode especificar o protocolo no endereço do conteúdo (por exemplo, http://servidor/ponto de publicação/arquivo). ===== Confogurando Fontes (USAR ARQUIVOS COMO FONTE) ===== 1. Na barra de ferramentas, clique em Propriedade e na guia Fontes.
2. Em Fonte de, clique em Arquivo.
-ou-
Clique em Dispositivo e arquivo para usar áudio e vídeo de dois arquivos diferentes como fonte.
3. Para localizar o arquivo de origem, clique em Procurar.
4. Se você pretende aparar o início e o término do arquivo, clique em Início/Fim da Marcação. Apenas a parte restante do arquivo será codificada.
5. Para codificar apenas a parte de áudio ou a parte de vídeo de um arquivo, desmarque a caixa de seleção Vídeo ou Áudio. Observação: • É possível também arrastar um arquivo de origem para o codificador. ===== Configurando Fontes (USAR ARQUIVOS DE ÁUDIO MULTICANAIS COMO FONTE) ===== 1. Na barra de ferramentas, clique em Propriedades e clique na guia Fontes.
2. Em Fonte de, clique em Dispositivos.
3. Em Áudio, clique em Fonte de WAV Multicanais e em Configurar.
4. Para cada canal, insira o arquivo de origem .wav.
5. Clique na guia Compactação.
6. Em Destino, clique em Baixar arquivo, Dispositivos de hardware, Servidor do Windows Media ou Servidor Web, dependendo da situação de reprodução.
7. Em Áudio, clique em Áudio multicanais.
8. Clique em Editar e na guia de taxa de bits.
9. Em Formato de áudio, clique no formato de áudio 5.1 ou 7.1 que deseja usar.
Observação
• O codificador compacta automaticamente os canais em dois para reprodução com alto-falantes estéreos. Se você estiver codificando áudio 5.1, é possível modificar a distribuição de compactação padrão, na guia Processamento. ===== Configurando Fontes (PARA USAR DISPOSITIVOS COMO FONTE) ===== 1. Na barra de ferramentas, clique em Propriedades e clique na guia Fontes.
2. Em Fonte de, clique em Dispositivos.
3. Em Vídeo e Áudio, clique nos dispositivos que deseja usar como fonte. ===== Configurando Fontes (PARA ALTERAR O CANAL DE TV QUE ESTÁ SENDO CODIFICADO) ===== 1. Na barra de ferramentas, clique em Propriedades e na guia Fontes.
2. Em Fonte de, clique em Dispositivos.
3. Em Vídeo, clique na placa de sintonizador de TV que deseja usar como fonte.
4. Clique em Configurar.
5. Em Canal, digite o canal que deseja codificar.
6. Em Entradas, selecione a opção de sintonizador e clique em OK.
7. Em Áudio, clique na placa de captura configurada a ser usada com a placa de sintonizador de TV. ===== Estrutura Telium de Streaming ===== Na estrutura de streaming da Telium, nós possuímos dois servidores chamados de WMS01 e WMS02. Os seus IPs são respectivamente 200.62.47.20 e 200.62.47.22. Por questões de projeto, que não vamos abranger os detalhes aqui, o servidor WMS02, possui uma cópia fiel de todos os publish point que estão na WMS01. No entanto, enquanto o caminho de busca do servidor WMS01 aponta para os IPs dos clientes na internet, o servidor WMS02 aponta para o servidor WMS01. Isso ocorre, para que tudo o que o servidor WMS01 esteja executando (áudio e vídeo), o servidor WMS02 também esteja executando. Desta forma, conseguimos realizar o balanceamento de carga de players entre os dois servidores, que é feito pelo Firewall da estrutura de Miami. O endereço push.wmedia.telium.com.br aponta para o IP 200.62.47.20 justamente por que o firewall realiza o balanceamento de players. Mas por que ele aponta para o 200.62.47.20 e não para o IP do firewall? A questão é bem simples. Como já foi explicado, a WMS01 busca as informações nos encoders de nossos clientes, enquanto a WMS02 busca as informações na WMS01. Agora imagine você configurando uma conexão Push utilizando o IP do firewall. Lembre que o firewall efetua balanceamento de carga. Vamos supor que o firewall mande sua tentativa de conexão para a WMS01. Você conseguirá efetuar o envio dos seus dados normalmente, afinal a WMS01, está configurada para buscar os dados do cliente na internet. Agora imagine se o firewall mandar sua conexão para a WMS02. Você não conseguirá encodar, pois a WMS02 está configurada para buscar informações na WMS01 e não na internet. Este é um erro comum que algumas pessoas cometem ao tentar encodar algo, na tentativa de ajudar o cliente, acabam inserindo o caminho wmedia.telium.com.br.
Lembre-se sempre! Para efetuar conexões Push, sempre utilize o endereço push.wmedia.telium.com.br. Para conexões Pull, o servidor é quem encontra o IP do cliente. Nesse caso, como a conexão é iniciada pelo servidor, você precisará fornecer apenas a porta que o servidor está utilizando. O endereço wmedia.telium.com.br é utilizado apenas para ouvir o que está sendo encodado. Por exemplo, para ouvir a radio “Antena 1” à partir de seu Windows Media Player acesse o endereço mms:wmedia.telium.com.br/antenaum.
Erros Comuns e Testes
1- Ao iniciar uma transmissão, após aproximadamente dois segundos o Windows Media Encoder pára e apresenta o erro abaixo:
Solução: Este erro ocorre quando alguém já está transmitindo para o servidor usando o mesmo publish point que foi utilizado nos testes. Neste caso o máximo que podemos fazer, é verificar se o cliente já está codificando, e se for necessário realizar testes, pedir para ele parar de encodar o arquivo, para que possam ser realizados os testes. Vale lembrar que o servidor bufferiza os dados que ele recebe, antes de começar a enviar aos players, portanto, quando o cliente der stop no encoder, o arquivo que ele estava sendo enviado, continuará a ser enviado aos players por alguns segundos.
2- Durante a configuração do Windows Media Encoder, após clicar em aplicar, o erro abaixo é apresentado:
Solução: Este erro ocorre quando o computador que está executando o Windows Media Encoder não consegue encontrar o servidor que possui o Windows Media Services instalado. Verifique se o nome do servidor está correto. Deve ser push.wmedia.telium.com.br, ou pode ser colocado o IP 200.62.47.20. Se o cliente estiver colocando push.wmedia.telium.com.br e mesmo assim não estiver funcionando, verifique se o encoder do cliente está conseguindo resolver este nome. Se estiver conseguindo resolver, tente encodar a partir da sua estação de trabalho. Se nenhuma das duas maneiras estiver funcionando, pode ser um problema com o servidor de streaming de nossa estrutura, ou o link da IFX pode estar fora.
3- Cliente reclama não conseguir encodar, mas nenhuma dessas telas de erro são apresentadas.
Solução: Se nenhum desses erros apresentados até o momento forem suficientes para resolver o problema do cliente, primeiramente peça ao cliente que lhe informe em que momento o erro está ocorrendo, e que de preferência tire um print screen da tela, para que você possa analisar melhor. Os erros mais comuns são:
A – Cliente digitando usuário e senha errados, ou alteraram no painel e o cliente não viu.
B – Cliente encontra-se atrás de um firewall, NAT ou Proxy.
C – Cliente digitando o nome do servidor incorretamente.
D – Vídeo bufferizando é falta de banda disponível por parte do cliente (player que está assitindo).
E – Vídeo picotando e não sincronizando, pulando partes, verifique a conexão do cliente. Se o cliente utilizar por exemplo, tecnologia 3G para enviar o áudio ou o vídeo, não há garantia de que o vídeo será bem transmitido. Uma coisa que pode ocorrer também é o cliente estar tentando enviar um vídeo ou áudio a 256Kbps e sua conexão ser de 128Kbps. Desta forma irá dar problemas com o arquivo ao tentar assistir. Clientes que utilizam conexões ADSL também deve-se tomar um cuidado extra, pois devemos lembrar que estas operados normalmente só garantem 10% da velocidade contratrada.
FONTES:
HELP DO WINDOWS MEDIA SERVICES 9.5
HELP DO WINDOWS MEDIA ENCODER 9
SITE http://pt.wikipedia.org/wiki/Streaming






Um comentário
Charles Nascimento
Gostaria de fazer um curso de streaming ou treinamento específico de todo o processo de envio de áudio e vídeo via internet.