Streaming em Http

O Real Time Streaming Protocol é um protocolo ao nível da aplicação que fornece controlo sobre a entrega de dados em tempo-real. Este protocolo tem como objectivo controlar múltiplas sessões de transmissão de dados, possibilitar a escolha do tipo de canal de transmissão como UDP, multicast UDP e TCP, e ainda dar a escolher mecanismos de distribuição baseados em Real-time Transport Protocol. Este protocolo aproveita o streaming que divide os dados em pacotes dimensionados de acordo com a largura de banda disponível entre o cliente e o servidor. Quandoum determinado número de pacotes tiver sido recebido pelo cliente, a aplicação do utilizador pode começar a reproduzir um pacote, descomprimir outro e ainda receber um terceiro. Visto que o objectivo principal do RTSP consiste na monitorização de sessões através da troca de mensagens entre servidor e um dado cliente e não propriamente da transmissão dos conteúdos em si, este protocolo pode ser visto como um “controlo remoto da rede” para servidores multimédia. Algumas das mensagens trocadas são referentes à reprodução do conteúdo, como por exemplo os comandos Play, Pause ou Teardown que diz ao servidor para terminar a sessão e consequentemente a transmissão. Uma das grandes desvantagens deste protocolo é o facto de as suas transmissões serem muitas vezes bloqueadas por routers e firewalls. Esta situação acontece pois RTSPgera tráfego normalmente codificado sobre UDP, e utiliza portas não muito comuns. Como os routers ou firewalls não reconhecem este tráfego, bloqueiam-no por motivos de segurança. Apesar de este protocolo ser um dos desenvolvidos para transmissão de conteúdos multimédia, de facto a internet foi desenvolvida sobre HTTP e assim, a transmissão sobre HTTP foi optimizada relativamente a outros tipos. Propriedades do RTSP:
  • Expansível;
  • Independente do protocolo transporte;
  • Compatível com multi-servidores;
  • Controlo de dispositivos de gravação;
  • Separação das transmissões de controlo e inicialização de ligação;
  • Negociação do tipo de transporte;
  • Negociação da capacidade;
  Funcionamento No início de cada sessão RTSP, é disponibilizada uma lista denominada “Presentation”, que contém as streams disponíveis para os clientes. Existe ainda o campo presentation description que contém informação sobre uma ou mais streams, por exemplo sobre os codecs utilizados, endereços de rede (no caso de multicast) e informação sobre o conteúdo. Este ficheiro pode ser obtido por parte do cliente através de HTTP ou outros meios como email, e não tem necessariamente de estar armazenado no servidor multimédia. Através deste ficheiro, o cliente pode escolher quais os conteúdos mais adequados para o seu caso. Cada stream controlável individualmente por RTSP está identificada por um RTSP URL, que indica o servidor responsável pela stream. As streams multimédia podem estar armazenadas em servidores diferentes, por exemplo, conteúdos de áudio/vídeo podem estar divididos por diferentes servidores para diminuir a carga sobre os mesmos.     Figura – Modo de operação do RTSP Os comandos básicos implementados em RTSP, (e representados no próximo diagrama), são os seguintes:
  • SETUP: despoleta a alocação de recursos pelo servidor para uma stream, e inicia a sessão RTSP;
  • PLAY e RECORD: Iniciam a transmissão de dados numa stream alocada via SETUP;
  • PAUSE: Pára temporariamente a stream sem libertar os recursos alocados;
  • TEARDOWN: Liberta os recursos alocados à stream. A sessão RTSP é terminada.
  Figura – Diagrama de estados de uma sessão RTSP. Como já foi referido anteriormente, as principais funções do protocolo RTSP são de controle remoto de servidores multimédia, e de monitorização e manutenção de sessões. Este protocolo não tem interferência no transporte dos dados, deixando essas funções para outros protocolos, normalmente o RTP. RTP O Real-time Transport Protocol é o protocolo standard da internet para o transporte de dados, áudio ou vídeo, em tempo-real. É um protocolo ao nível da aplicação e possibilita a transmissão de dados de forma transparente entre terminais. Pode ser utilizado em media-on-demand ou ainda em serviços interactivos como telefonia através da internet. É constituído por duas partes essenciais, dados e controlo. O último é designado Real-time Transport Control Protocol (RTCP). RTCP O Real-time Transport Control Protocol tem especial importância para esta tese visto que tem a função de comunicar com a aplicação cliente, obtendo parâmetros relativos à transmissão e recepção de dados. Através destes parâmetros, é possível obter algumas estimativas que possibilitam a adaptação da qualidade do vídeo transmitido. Este protocolo baseia-se no envio periódico de pacotes de controlo para todos os participantes de uma sessão de streaming, utilizando o mesmo mecanismo de distribuição que os pacotes de dados. O protocolo subjacente deve multiplexar os pacotes de dados e controlo, por exemplo, através da utilização de diferentes portas com UDP. A principal função deste protocolo é fornecer informações/feedback sobre a qualidade da distribuição de dados através da troca de relatórios sobre os conteúdos recebidos numa transmissão. O diagrama seguinte ilustra as mensagens de controlo trocadas durante uma sessão de transmissão de dados.
  • RE: Relatório de Emissor, contém estatísticas da transmissão e recepção de dados geradas por emissores activos;
  • RR: Relatório de Receptor, contém estatísticas da recepção de dados geradas por participantes que não são emissores activos, ou combinados com RE para emissores activos que informem sobre mais de 31 fontes.
  Figura – Diagrama do funcionamento de RTCP Algumas das informações contidas nos relatórios são:
  • Timestamps que permitem calcular o Round-Trip Time;
  • Contador de pacotes;
  • Variações dos atrasos em transmissões sucessivas;
  • Número de pacotes perdidos;
  • Número de pacotes esperados;
  • Estimativa da largura de banda disponível.
As informações contidas nos relatórios RTCP podem permitir que, não só que os emissores alterem as propriedades das suas transmissões, como também que outros receptores tenham acesso ao estado da distribuição. Dessa forma, podem também identificar se eventuais problemas são localizados, regionais ou ainda globais. Algumas das medidas possíveis de obter a partir das informações dos relatórios RTCP são:
  • Número de pacotes perdidos entre a recepção de dois relatórios – diferença entre os dois valores do número de pacotes perdidos;
  • Número de pacotes esperados durante um intervalo – diferença entre os números de sequência recebidos;
  • Taxa de pacotes perdidos no intervalo – razão entre os anteriores;
  • Taxa de perdas por segundo – quociente entre a taxa de pacotes perdidos e a diferença entre os timestamps NTP;
  • Variação inter-recepção – fornece uma estimativa imediata relativa ao congestionamento da rede. Pode indicar congestionamento antes ainda de ocorrer perda de pacotes;
Os relatórios RTCP devem ser sempre enviados em pares e devem conter o nome canónico (CNAME) do participante. Asaweb oferece pacotes especiais para empresas interessadas em streaming adptativo. Hoje apenas duas tecnologias cumprem isso com eficiência. A Adobe desenvolveu o HTTP Dinâmic Streaming com suporte para dispositivos iOs da Apple, e a a Microsoft o streaming Silverlight adpativo. Isso quer dizer que a qualidade do streaming aumenta a medida que o usuário tem uma internet de alta qualidade, mas irá baixar a qualidade do vídeo streaming ao vivo e ondemand, se a internet for de baixa qualidade, assim o streaming http manterá um fluxo continuo de envio sem travamentos.  A Asaweb tem colocado a disposição essas duas tecnologias para os usuários brasileiros interessados em usá-las para fazer suas transmissões streaming sem travamentos, e com custos menos elevados. Alguns requisitos são necessários para as transmissões de streaming adpativo adobe flash media server e  Streaming Microsoft Silverlight.  

Nossos clientes

  • tvmundomaior
  • tvgeares
  • solucaoead
  • softcineproducoes
  • sada
  • redecnt
  • redebrasil
  • previdenciasocial
  • logo
  • msrecord
  • linx
  • legalecursosjuridicos
  • ipbcuritiba
  • institutoadventistadeensino
  • institutoayrtonsenna
  • igrejaundialcuritiba
  • ifpb
  • idg
  • gvt
  • governomatogrosso
  • globoamazonica
  • cursogenius
  • consorciounilance
  • camaramunicipalsalvador
  • camaramunicipalpocosdecaldas
  • associacaomedicadoparana
  • legrand
  • cidepe
  • nbta
  • db4
  • ideac
  • seichonoie
  • remax
  • centrotecexercito
  • staffvideo
  • proescola
  • matsuda
  • ceaesp