Porquê?
Com a evolução da Web, entramos numa nova perspectiva de consumo de informação… cloud… este “palavrão” que anda na boca dos mais curiosos é um resultado deste novo rumo. Isto leva a que cada vez mais tenhamos não só mais conteúdos disponíveis, mas também que estes sejam de qualidade e de tamanhos nada razoáveis… bom se pensarmos à 5 anos atrás.
O vídeo tem sido dos conteúdos mais publicados e disponibilizados na Web. Não só por fenómenos de sucesso tais como: YouTube, MSN Vídeo (ex soapbox); mas também pelo conceito de transmissões on-line, o streaming. É certo que as novas larguras de banda das ligações domésticas, assim o permitiram de uma forma simples, barata e atractiva. As emissoras televisivas são também responsáveis pelo crescimento neste ramo, não só pelos conteúdos que colocam, mas também por transmitirem em directo, as suas emissões.
Com este cenário, de boas ligações à Internet a tecnologia não teve algum problema em acompanhar e até provocar novas tendências… ora não fosse o streaming chegar… mas e se for em alta definição (HD – 720p)? Ah já agora porque não full high definition (1080p)? Eu até tenho um monitor bom… ou os novos portáteis já possuem ligações HDMI, não custa nada.
Isto é uma realidade! Portanto a tecnologia na Web para ser capaz de entregar ao consumidor conteúdos de alta qualidade, tem que ser fiável, de fácil uso, com uma experiência rica de utilização… sim quem é que não gosta de animações, e bonecos?! (UX para todo lado!) E principalmente para quem vai produzir a informação, ser rápida, compatível com tudo e com todos.
Streaming ou on-demand?
Dependendo do cenário, a escolha é naturalmente óbvia, mas o que importa aqui referenciar é a facilidade com que hoje podemos optar por transmitir em directo, ou seja, por streaming. Não só pelo software gratuito existente no mercado, mas também pela facilidade com que o mesmo pode ser feito. Uma fonte de vídeo, uma captura, um codificador, e um servidor que receba os dados do streaming.
Além do cenário mais real, existe também a necessidade de arquivar, para depois existir em on-demand. O que significa que a melhor opção é aproveitar as gravações da transmissão em directo para depois utilizar em arquivo.
Desta forma a transmissão via http oferece as seguintes vantagens:
- É o serviço mais barato para streaming
- Não existem problemas com firewalls e proxyies (http protocol)
- Facilidade de utilização de cache
- Transporte livre entre vários nós da rede
Assim existem várias opções de mercado, mas vamos apenas focar as opções que o Silverlight oferece.
Opções actuais
Com Silverlight 1.1 e 2.0 temos:
- Streaming via http através do Windows Media Service
- Sem suporte para RTSP e multicast
- MMS através de http pelo Windows Media Service
- Serviço progressivo de download, utilizando o Media pack para o IIS 7, é possível utilizar o Bit Rate Throttling Module.
Vantagens:
- Segundos iniciais de vídeo com máxima capacidade de delivery do servidor;
- Caso o utilizador faça pausa do vídeo, o download pára, existe assim uma poupança de tráfego e velocidade disponível do servidor.
Formatos e codecs:
- ASF (.wmv, .wma, .asf)
- Vídeo codecs: VC-1 avançado e VC-1 simples (conhecido como WMV9)
- Áudio codecs: WMA Str e Pro (sem multi canal, ou alta definição) e mp3
Ferramentas:
Microsoft Expression Encoder 2, não só inclui os codecs para formatos suportados, como também gera templates de aplicações silverlight, para utilizar directamente nas páginas Web. Com o service pack 1 para o Expression Encoder 2, já é permitido gerar templates em silverlight 2.0, com galeria de vídeos e para futuro utilizar o Adaptive streaming.
Silverlight 3 Media - o que aí vem?
Novas funcionalidades:
- Encode em H.264/MPEG-4 AVC com perfis de base, principais e altos em modo progressivo.
- Descodificador AAC para modo AAC-LC Stereo
- Download progressivo de MPEG4 compatível com os formatos: .MOV, 3GPP e F4V
- Logging das operações no IIS e no WMS.
Adaptive Streaming
Esta técnica consiste na divisão de pacotes a serem transmitidos do servidor para o cliente, com tamanhos diferentes. Ou seja, existe um encode do vídeo em bit rates diferentes, (256Kbps, 320Kbps, 512Kbps, 1Mbps, 2Mbps, etc.), e o servidor avalia junto do cliente, a qualidade e capacidade de transmissão. Inicia a transferência de vídeo a uma qualidade muito baixa, e vai aumentando a qualidade do vídeo (ou seja, o tamanho dos pacotes correspondentes a um maior bit rate do vídeo), até ao máximo que o servidor tenha desse vídeo ou o máximo que a transmissão suporta, garantindo que não existem pausas e bufferings constantes.
Vejamos a figura abaixo para uma melhor compreensão:
Uma vez que existe uma negociação e avaliação da transmissão para se escolher a melhor qualidade do vídeo a ser transmitido sem quebrar a continuidade do mesmo, podemos ver as seguintes vantagens:
- Inicio rápido da reprodução do vídeo (não “existe” buffering, para atingir a qualidade na qual o vídeo foi encodado)
- Podemos transmitir em diferentes qualidades, para todas as bandas de redes disponíveis
- Garante a qualidade máxima para clientes exigentes
- Não existem paragens durante a reprodução do vídeo para buffering.
Com estas opções estamos no caminho do smooth streaming, e neste caso o melhor exemplo é o www.smoothhd.com , neste site podemos ver vídeos em alta definição (720p), numa experiência diferente com o conceito de adaptação, entre a nossa ligação e o servidor.
O pack para o IIS 7 suportar o adaptive streaming estará disponível em Fevereiro de 2009.
Mais com o EE2 SP1
Com o Expression Encoder 2 + Service Pack 1, não só podemos fazer as codificações em adaptive streaming, como também já nos dá templates de players com galerias, em silverlight 2.0 e estes podem ser alterados e copiados livremente. Mantém o sistema de upload automático da aplicação que acabámos de fazer, quer para o serviço de Silverlight Streaming, como para outros, utilizando os Plugins para o efeito.
IIS Media
A maior parte das funcionalidades do WMS passarão a estar residentes no IIS, e todas as actualizações serão independentes do ciclo de versões de servidores. Com esta evolução o WMS, deixará de existir com o tempo.
Media Packs:
1.0 (2008)
- Bitrate Throttling (já nosso conhecido, pelo boost inicial no streaming)
- playlist em server-side
2.0 (2009)
- Adaptive streaming (em on-demand e Live-on)
- Divisão temporal (o que introduz melhorias no seek time)
- Logging de eventos
- Streaming tradicional com ficheiros ASF
Windows Media Services VS IIS 7
|
Live Streaming Features |
WMS 2008 |
IIS Wave 2 |
|
Unicast HTTP streaming from WM encoders |
X |
X |
|
Client-side logging |
X |
X |
|
Broadcast stream-splitting |
X |
X |
|
Broadcast streaming from files |
X |
X |
|
High Availability content sourcing (encoder failover) |
X |
X |
|
Archiving of live streams |
X |
X |
|
Multiple-bit-rate streaming (Intelligent vs. Smooth) |
X |
X |
|
HTTP Streaming |
X |
X |
|
RTSP Streaming |
X |
|
|
UDP streaming |
X |
|
|
Broadcast proxying |
X |
|
|
Multicast streaming |
X |
|
|
Play While Archiving (late joiner feature) |
X |
X |
|
Full Network PVR |
|
X |
DRM
Em termos de DRM, digital rights management, o que temos?
A nível de cliente, grátis. Nada mais.
A nível de servidor, existe licenciamento, através do PlayReady Server, ver mais.
Conclusão
Hoje em dia o Streaming é uma realidade na internet, e a oferta de soluções para este mercado, começa a dar os seus "passos" mais a sério. O que significa que cada vez mais existem, soluções para não só melhorar a experiência da transmissão do vídeo, mas também a experiência que o utilizador tem com esta aplicação.
Neste caso o Silverlight, oferece-nos um conjunto de ferramentas, que permite desde o encoding, ao streaming, ao armazenamento e templates, com galerias, para que o utilizador possa assim navegar nos vídeos disponíveis.
Com o Silverlight, podemos realizar estas tarefas de uma forma bastante acessível, mesmo para quem é novo neste ramo. Não pela quantidade de exemplos existentes na web, mas também para fácil utilização que estas ferramentas nos oferecem.
O HD, será brevemente uma realidade e portanto uma exigência dos consumidores! Já ninguém quer ver pixéis nos vídeos... alias e formato 16:9, o 4:3 era das televisões quadradas e velhas. O que significa isto é que para tamanhas exigências, é sem dúvida necessário técnicas que consigam garantir a qualidade de transmissão e também a própria qualidade do vídeo.
Portanto o adpative streaming é uma solução, que nos ajuda a enfrentar este novo paradigma de transmissão on-line.
?>