Día de novedades en Windows Azure, empezando por la disponibilidad general de Windows Azure Media Services. Estos servicios, cuyo objetivo es la retransmisión de vídeo a diferentes plataformas y en distintos formatos, terminan su fase preview y pasan a estar disponibles para su uso en cualquier proyecto audiovisual, contando además con el soporte de su Dev Center.

Ejemplos de uso de estos servicios podrían ser un sistema para impartir videos de formación a los empleados de una empresa, retransmitir contenido audiovisual desde tu página web personal o un servicio premium de video-on-demand como Hulu o Netflix. El año pasado, por ejemplo, muchos canales usaron Windows Azure Media Services para la retransmisión online de los Juegos Olímpicos de Londres.

 

Plataforma (multimedia) como servicio

Con Windows Azure Media Services puedes retransmitir vídeos mediante streaming, a diferentes plataformas y tecnologías (HTML5, Flash, Silverlight, Windows 8, iPad, iPhone, Android, Xbox, Windows Phone y otros clientes) usando una amplia variedad de formatos:image

El desarrollo de una solución que codifique y transmita video a distintos dispositivos y clientes es una tarea compleja, ya que requiere hardware y software conectados, configurados y mantenidos. Con Windows Azure Media Services este escenario resulta mucho más sencillo, ya que se elimina la necesidad de disponer de tu propia infraestructura, así como la gestión y mantenimiento de esta. Esto se consigue mediante la plataforma multimedia que Windows Azure Media Services te ofrece como servicio (PaaS), que te permite escalar fácilmente tu negocio mientras crece, pagando de forma proporcional al uso que realices del servicio.

Como desarrollador, puedes utilizar Windows Azure Media Services a través de REST APIs o SDKs de .NET y Java para, automáticamente, subir tus archivos multimedia, codificarlos y retransmitirlos. Además, también dispones de un amplio conjunto de SDKs y frameworks de reproducción de multimedia que te permitirán construir tu cliente multimedia completamente personalizado e integrarlo en tus aplicaciones, controlando y configurando todos los aspectos de la experiencia de reproducción.

 

Subida, codificación, entrega y consumo de elementos multimedia

El proceso de trabajo típico con archivos multimedia incluye la subida de video en formato raw a la unidad de almacenamiento, la codificación y protección del contenido y la retransmisión del mismo a los usuarios (que pueden consumirlo en diferentes dispositivos). Para cada uno de estos puntos principales existen características que pueden resultarte útiles:

Subida de contenido

Windows Azure Media Services soporta diferentes opciones de subida de contenido:

  1. Subida de archivos al servidor usando REST APIs o SDKs de .NET y Java mediante el protocolo HTTP/S con encriptación AES 256. Este procedimiento es el recomendado para la subida de pequeños conjuntos de archivos o para realizar una actualización de contenidos constante.
  2. Subida de una gran cantidad de datos (ya sea una biblioteca multimedia completa, una gran cantidad de archivos o archivos de gran tamaño). La subida de grandes cantidades de datos pueden producir ciertos problemas de cuello de botella, y usando el método de volcado de archivos puedes ahorrar bastante tiempo. Para este método de volcado dispones de la librería .NET Bulk Ingest o una solución de subida como la de Aspera (que usa UDP para transferir archivos a grandes velocidades).
  3. Si ya dispones de contenido en Windows Azure Blob Storage también está soportado la transferencia de datos entre blobs y entre unidades de almacenamiento.
  4. También puedes subir contenido a través del portal de administración de Windows Azure, el procedimiento más útil para pequeñas subidas o para iniciarse en el uso de Media Services.

 

Codificación y transmisión del contenido

Windows Azure Media Services ofrece soporte integrado para la codificación de elementos multimedia en diferentes formatos: en lugar de comprar o configurar cierto software o infraestructura para realizar la codificación de forma específica, puedes utilizar llamadas REST (o usar el SDK de .NET o Java) para automatizar el proceso de codificación.

En diciembre de 2012 se añadió la posibilidad de configurar la capacidad reservada para realizar la codificación, que ofrece la posibilidad de escalar el número de tareas de codificación que puedes procesar en paralelo. En la sección ESCALAR del portal de Windows Azure puedes reservar unidades de codificación que te permitirán realizar la codificación a través de distintas tareas de forma concurrente (obteniendo una mayor velocidad en las codificaciones que realices y un rendimiento predecible dependiendo de lo reservado).

Ahora, además, se ha añadido la posibilidad de configurar (también desde el portal de Windows Azure) la capacidad reservada para on-demand streaming, que te otorgará mayor capacidad en el servidor de origen para manejar el consumo concurrente del contenido por un número elevado de usuarios de forma concurrente.

image

 

Empaquetado dinámico

Además de todo lo anterior, el soporte a on-demand streaming de Windows Azure Media Services incorpora también otra nueva funcionalidad llamada empaquetado dinámico.

Tradicionalmente, una vez el contenido ha sido codificado, este necesita ser empaquetado y almacenado para los diferentes clientes que lo consumirán (iOS, Xbox, PC, etc.). Este proceso tradicional de empaquetado convierte archivos MP4 multi-bitrate en conjuntos de archivos HLS multi-bitrate o archivos Smooth Streaming multi-bitrate. Esto triplica la capacidad de almacenamiento requerida y añade complejidad y cierto retraso al procedimiento.

Con el empaquetado dinámico se permite a los usuarios almacenar un solo formato de archivo y transmitirlo a diferentes protocolos que lo adaptarán automáticamente al formato requerido. El empaquetado y la conversión se producen en tiempo real en el servidor de origen, y el resultado es un ahorro en capacidad de almacenamiento requerida y tiempo.

image

Consumo del contenido

La fase más importante para un desarrollador: el consumo de estos contenidos multimedia. Windows Azure Media Service provee a los desarrolladores de un conjunto de SDKs de reproducción multimedia para la gran mayoría de dispositivos y plataformas, lo cual no solo te permite hacer llegar a cada dispositivo el formato que mejor se ajuste a él, si no la creación de una experiencia de reproducción totalmente personalizada e integrada en su producto o servicio.

Actualmente, existen SDKs y frameworks de reproducción multimedia para las siguientes plataformas:

  • Windows 8
  • iOS
  • Xbox
  • Flash Player (usando Adobe OSMF)
  • Silverlight
  • Windows Phone
  • Android
  • Dispositivos con sistemas empotrados (como Connected TV, IPTV…)

 

Para comenzar a desarrollar usando este servicio, puedes visitar la sección de herramientas para desarrolladores de Windows Azure Media Services. Los SDKs y frameworks de reproducción contienen reproductores de ejemplo que puedes utilizar tal y como vienen o personalizar de forma sencilla.

Si quieres aprender más acerca de las capacidades de Windows Azure Media Services puedes visitar su página web, o el Windows Azure Media Services Dev Center para ver tutoriales, otros blogs y más información para comenzar a desarrollar aplicaciones que usen estos servicios hoy mismo.

En cualquier caso, pronto publicaremos en este mismo blog alguna demo utilizando Windows Azure Media Services, así que permanece atento Sonrisa

 

Un saludo,

        Gorka Madariaga (@Gk_8)