IIS Smooth Streaming

by Cássio R Eskelsen 28. novembro 2009 13:01

O IIS Smooth Streaming é uma das maiores novidades que surgiram em termos de distribuição de mídia na internet, seja para mídia ao vivo, seja sob demanda.  Particularmente achei a tecnologia tão fantástica que até resolvi escrever um post sobre ela em meu blog, sendo que é um assunto que foge do escopo usual do blog.

Descobri a tecnologia assistindo ao vivo os Keynotes da PDC 2009, que é um evento da Microsoft destinado a desenvolvedores. Os keynotes foram assistidos por milhares de pessoas no mundo todo, durante o horário comercial, e mesmo assim a transmissão fluiu muito bem, sem bufferizações e sem gargalos.
O player funcionava como um legítimo TIVO, ou seja, você podia pausar a qualquer momento e voltar para qualquer ponto. Já assisti muitas transmissões ao vivo usando o Adobe Flash e nunca tive a mesma experiência.

Você pode experimentar a tecnologia vendo essa transmissão on demand: http://www.iis.net/media/experiencesmoothstreaming

Atenção!! Você pode ver também através do seu IPhone!! http://www.iis.net/iphone

Mas o que é o IIS Smooth Streaming afinal?

O IIS SS é uma tecnologia de transmissão de vídeo “adaptativa”, ou seja, ela analisa constamente as condições da sua banda larga e a performance local de renderização de vídeo para transmitir o vídeo na melhor qualidade possível sem gargalar.

Se você tiver uma boa banda larga (superior a 3 Mbits, o que não é raro hoje em dia) e uma placa de vídeo razoável, você será capaz de ver vídeo em Full HD 1080p!

Requerimentos

Para funcionar, a tecnologia depende dos seguintes componentes:

Do lado cliente:
- Plugin do Silverlight

Do lado servidor:
- Windows Vista SP1 ou Windows 7 ou Windows Server 2008
- IIS (servidor WEB que normalmente já vem com o sistema operacional, bastando ativá-lo)
- IIS Media Services: a extensão do IIS que faz o “milagre”. Existem versões de 32 e 64 bits

Produção:
- Os vídeos devem ser convertidos para um formato específico usando-se o Microsoft Expression Encoder

Montando um servidor local de mídia

Se você possuir um computador com Vista, Windws 7 ou 2008, basta baixar e instalar o IIS Media Server conforme indicado acima (versão 32 ou 64 bits, dependendo da versão do seu servidor).

Caso ainda não tenha feito, não esqueça de ativar o Servidor IIS antes de prosseguir. Você pode fazer isso indo em Painel de Controle->Programas->Ativar/Desativar recursos do Windows.

Se a instalação tiver sido feita com sucesso, você terá alguns novos ícones no gerenciador do IIS:

image

Caso você não tenha o Expression Encode e quiser fazer apenas um teste, você pode baixar o vídeo Big Bunny Video já convertido para o formato do Smooth Streaming. Baixe os dois arquivos disponíveis no link.

Uma vez baixado, descompacte os arquivos em algum diretório qualquer ou direto dentro do diretório do IIS (c:\inetpub\wwwroot).
Se você não colocou no diretório default terá que criar um diretório virtual no IIS. Para isso, no gerenciador do IIS, clique com o botão direito sobre Default Web Site e selecione Add Virtual Directory. Preencha conforme abaixo, substituindo pelo caminho físico correto:

image

Agora a demonstração já está disponível no link http://localhost/bunny/default.html, mas antes de abrir, altere o arquivo default.html adicionando o player que você acabou de baixar (o arquivo menor), conforme abaixo:

<div> Silverlight Player: 
    <select id="SilverlightPlayer">
        <option value="SmoothStreamingBlackGlass.xap" selected>Black Glass (Default)</option>
        <option value="SmoothStreamingUXSimulator.xap">User Experience Simulator</option>
        <option value="SmoothStatsTracker.xap">Sample Client Refresh</option>
    </select>
</div>

Pronto! Agora abra o site (não clique direto em default.html, você deve acessar através de http para que o IIS e a extensão intermediem o vídeo para você).

image

Na página que irá abrir, selecione a opção SAMPLE CLIENT REFRESH e clique em Start Playing!.

image

Veja que por default essa demonstração traz algumas informações adicionais sobre o vídeo, como por exemplo, a banda máxima de download possível e a banda sendo consumida no momento (no canto superior direito). Obviamente, como é um video local, estaremos usando a banda máxima. O interessante é que você pode ajustar dinamicamente a banda consumida!

O gráfico no canto inferior esquerdo mostra os bit rates disponíveis e qual está sendo usado no momento (no servidor o arquivo é replicado em vários bit rates diferentes, como você pode perceber no arquivo contendo o exemplo de mídia codificada.

Opinião

O IIS Smooth Streaming possui qualidades suficientes para possibilitar a transmissão de TV via internet, inclusive ela foi criada inicialmente para transmissão das Olimpíadas através de um site americano.

Juntamente com a popularização do Silverlight provavelmente veremos cada vez mais conteúdo sendo disponibilizado nesse formato.

Tags: , , ,

Silverlight