La tecnología de IIS Media Services, Smooth Streaming (Disponible en Windows 7 y Windows Server 2008+), permite que una transmisión de video sea reproducida sin cortes entre los clientes con distintas velocidades de conexión, distintas configuraciones de equipo, y otras consideraciones. Si un cliente tiene un alto ancho de banda sumado a una computadora poderosa, podrá reproducir la mejor calidad de video posible, incluso en alta definición, mientras que si un cliente no cuenta con alguno de estos factores, recibirá una calidad de video acorde a sus capacidades.

Y todo esto se realiza de manera automática y sin que el cliente lo note o tenga que hacer alguna acción específica. Incluso, para los proveedores de contenido es sencillo, pues se realiza la codificación una sola vez y provee estas facilidades, incluso, de reproducción en dispositivos móviles.

Para lograrlo, se utiliza cliente Silverlight que, si no eres programador, aún así puedes implementar, ya que hay un cliente gratuito para Smooth Streaming hecho en Silverlight que puedes bajar y utilizar para que tus clientes obtengan acceso a video sin cortes. Pero además hay ocasiones donde se busca que el contenido se pueda reproducir en dispositivos móviles como iPhones, y sigue siendo posible utilizando la misma fuente de video.

Todo esto se logra con IIS Media Services 4, junto con Expression Encoder 4 y Silverlight 4 proveen todas las herramientas necesarias para que puedas comenzar en minutos a servir tu contenido en la red, de la mejor manera posible: sin cortes y en la mayor calidad posible para las circunstancias.

Puedes ver las capacidades de Smooth Streaming en el sitio para experimentarlo.

Para darte una mejor explicación, separaremos la implementación en 3 partes: Creación del contenido, Servicio del Contenido y finalmente el cliente de reproducción, que ocurren, respectivamente, en la máquina proveedora de contenido, en el servidor de IIS Smooth Streaming y en el cliente.

Creación de Contenido

La creación de contenido – sea contenido en vivo o bajo demanda – se crea utilizando Expression Encoder 4, que es parte de la suite Expression Studio 4, que puedes descargar gratuitamente para su uso con IIS Smooth Streaming.

Con Expression Encoder Instalado, podemos aprovechar sus configuraciones pre-seleccionadas para Smooth Streaming, e incluso, puedes escoger un reproductor cliente (o usar el predeterminado, como se explicará más adelante).

El proceso para convertir tu contenido es muy sencillo, pero varía según sea contenido por demanda o en vivo. También puedes bajar el contenido de ejemplo para probar más rápidamente Smooth Streaming, si no tienes contenido a mano, o quieres probarlo con contenido en Alta definición. Para hacer la conversión de video en demanda, abre Expression Encoder 4 y selecciona el tipo de proyecto

Encoder_Project_selection

El primer tipo de proyecto permite que conviertas tus videos en videos compatibles con Smooth Streaming. La segunda opción, permite incluir además el reproductor y personalizarlo, pero con las mismas opciones de transformación que el primer tipo de proyecto. En el último tipo de proyecto, es que puedes preparar una entrada de video en vivo o una serie de videos previamente guardados, como fuente para una transmisión en vivo. Es importante que para la transmisión en vivo tengas listo un punto de transmisión en el servidor.

Para más información sobre como transmitir en vivo, visita este sitio de iis.net.

Servicio de Contenido (Servidor)

En el servidor necesitas tener instalado IIS junto con IIS media services, y la manera más sencilla y rápida es utilizar Web Platform Installer. Luego de la instalación, selecciona el vínculo opciones, y en el área de Escenarios Adicionales, selecciona Multimedia. Al darle clic en Aceptar, se volverán a cargar las aplicaciones disponibles, luego se selecciona Host, Deliver And Scale using IIS media Services, Create Media Content y Customize Your media client.

web_pi_media

Al darle clic en Instalar, la aplicación se encargará de instalar y configurar automáticamente todas las opciones.

Ahora, solo resta que subas tu contenido al servidor a una carpeta específica que sea accesible por HTTP, por ejemplo, en C:\inetpub\wwwroot\media\, asegurándonos de incluir todos los archivos.

Cliente

Finalmente, para que los clientes puedan apreciar la transmisión sin cortes de Smooth Streaming, es necesario incluir un reproductor basado en Silverlight 4, pero para evitar hacer uno propio, podemos usar el reproductor de ejemplo que puedes descargar gratis de aquí (es un archivo ejecutable que se extrae, e incluye la licencia de uso, y un archivo zip. Del archivo Zip necesitaremos el archivo *.html y el archivo *.xap).

Luego de extraerlo, lo ponemos en alguna parte accesible de nuestro servidor web, por ejemplo en C:\inetpub\wwwroot\, y utilizamos un editor de texto normal para editar la linea 66, en la parte de mediaurl, lo apuntamos al archivo “*.ism” que está junto con el contenido de ejemplo o el contenido que codificamos, y le agregamos “/manifest” al final. Con esto estamos listos para probar nuestro Smooth Streaming.

ssplayer

Nota Importante: La ruta en mediaurl tiene que tener el mismo dominio que la ruta en el navegador para que funcione. Si lo probamos con  el navegador en localhost, utilicemos http://localhot/ruta/al/archivo.ism/manifest como ruta en el mediaurl.

Si sale bien y se configuró correctamente, al apuntar tu navegador favorito a http://localhost/SmoothStreamingPlayer.html, podremos disfrutar de Smooth Streaming. Si no te funciona, verifica lo siguiente:

  • Se pueda acceder al archivo manifest usando la misma ruta que se configuró en mediaurl
  • La ruta al archivo manifest tiene el mismo dominio que la solicitud hecha en el navegador.
  • Si no carga ni el reproductor, asegurate que el archivo *.xap esté en la misma carpeta que el archivo html
  • Asegúrate que tienes instalado IIS Media Services 4, verificando en la configuración de IIS las nuevas opciones ó reinstalando.

Puedes leer mucho más sobre Smooth Streaming en la documentación en el sitio de IIS.net o en la siguiente dirección:

http://learn.iis.net/page.aspx/89/serving-media-content/

Cualquier duda, no dudes en comentar.