Novedades en el procesamiento de vídeo de Azure Media Services

Publicado el 17 octubre, 2018

Principal Program Manager, Azure Media Services

Los desarrolladores y las compañías multimedia confían en Azure Media Services para la capacidad de codificar, proteger, indexar y entregar vídeos a escala. Estamos orgullosos de anunciar esta semana varias mejoras en Media Services, incluida la disponibilidad general de la nueva API de Azure Media Services v3, así como actualizaciones a Azure Media Player.

Streaming en vivo de baja latencia, transcodificación de 24 horas, CMAF y una nueva y brillante API (v3) lista para producción

La API de Azure Media Services v3 se anunció en la conferencia Build en mayo de 2018, que proporcionó un modelo de desarrollo simplificado, posibilitó una mejor experiencia de integración con servicios clave de Azure como Event Grid y Functions, y mucho más. La API ahora está disponible con carácter general e incluye numerosas características nuevas e interesantes. Puede comenzar a migrar las cargas de trabajo creadas en la API de versión preliminar al uso de producción actual.

Novedades

La nueva API de Media Services v3 es un hito importante en la mejora de la experiencia del desarrollador para los clientes de Media Services. ¡La nueva API proporciona un conjunto de SDK para .NET, .NET Core, Java, Go, Python, Ruby y Node.js! Además, la API incluye compatibilidad para los siguientes escenarios clave.

Streaming en vivo de baja latencia con transcodificación de 24 horas

LiveEvent, el reemplazo de la entidad Channel en la API v2, ahora tiene varias mejoras de servicio importantes.

A menudo recibimos solicitudes para reducir la latencia cuando se realiza streaming de eventos en vivo. Nuestro nuevo modo de streaming en vivo de baja latencia ahora está disponible exclusivamente en la entidad LiveEvent en nuestra API v3. Admite latencia de extremo a extremo de 8 segundos cuando se usa junto con el nuevo perfil heurístico de baja latencia de Azure Media Player, o de 10 segundos aproximadamente con reproducción HLS nativa en un dispositivo Apple iOS. Simplemente configure el codificador en directo para usar tamaños de grupo de imágenes más pequeños de 1 segundo, y puede reducir rápidamente la latencia general al entregar contenido a audiencias de tamaño pequeño o mediano. Por supuesto, debe tenerse en cuenta que la latencia de extremo a extremo puede variar según las condiciones de la red local o al introducir una capa de almacenamiento en caché de CDN. Pruebe la configuración exacta, ya que la latencia puede variar.

Pensando en el futuro, continuaremos mejorando nuestra solución de baja latencia. El mes pasado, anunciamos que nos uniremos al proyecto de SRT Alliance de código abierto para ayudar a mejorar el streaming en vivo de baja latencia a Azure con una ingesta segura y confiable a la nube. Como parte de este anuncio, ya hemos comenzado a trabajar para agregar compatibilidad con el protocolo de ingesta SRT a nuestra entidad LiveEvent.

Para usar la nueva característica LowLatency, puede establecer StreamOptionsFlag en LowLatency en LiveEvent:

FE39240A-E58B-4773-B137-891FFAF7141A

Una vez que la transmisión esté en funcionamiento, use la página de demostración de Azure Media Player y establezca las opciones de reproducción para usar “Low Latency Heuristics Profile” (Perfil de heurística de baja latencia).

Selección de Low Latency Heuristics Profile” (Perfil de heurística de baja latencia)

A continuación, cuando haga streaming de vídeo en vivo, tendrá dos opciones para eventos de streaming de larga duración. Si necesita proporcionar streaming en vivo lineal (24x7x365), debe usar un codificador local con nuestra entidad LiveEvent sin transcodificación de “paso a través”. Si necesita codificación en vivo en la nube, en la API v2 estaba limitado a 8 horas de tiempo de ejecución. Nos complace anunciar que hemos aumentado la compatibilidad para las duraciones de transcodificación en vivo hasta 24 horas cuando usamos la nueva entidad LiveEvent.

Por último, hemos comprobado varios codificadores basados en RTMP actualizados, incluidas las versiones más recientes de MediaExcel, Telestream Wirecast, Haivision KB y Switcher Studio.

Desarrollo más sencillo con Event Grid y Azure Resource Manager

Para facilitar su experiencia de desarrollo en todas las soluciones de Azure para elementos multimedia, ofrecemos más notificaciones para las operaciones comunes a través de Azure Event Grid. Ahora puede suscribirse a los eventos de cambio de estado de las operaciones Job y JobOutput para integrar mejor sus aplicaciones multimedia personalizadas. Si crea flujos de trabajo personalizados en Transform, puede especificar sus propios datos de correlación en el objeto Job. Estos datos de correlación se pueden extraer de las notificaciones recibidas a través de Event Grid para ayudar a crear flujos de trabajo que resuelvan problemas comunes con aplicaciones multiinquilino, o la integración con sistemas de administración de recursos multimedia de terceros. Al supervisar una transmisión en vivo, puede usar eventos nuevos como el latido de ingesta en vivo y eventos conectados y desconectados del codificador en directo ascendente.

Suscríbase a cualquier evento de Media Services a través de código, Logic Apps, Functions o Azure Portal.

Creación de suscripción a eventos

Con la transición a través de Azure Resource Management (ARM) para nuestra API v3, obtiene las siguientes ventajas al administrar transformaciones, eventos en vivo, claves DRM, puntos de conexión de streaming y recursos:

  1. Implementación más sencilla utilizando plantillas ARM.
  2. Capacidad para aplicar el control de acceso basado en rol (RBAC).

Ingesta simplificada y creación de recursos

La ingesta de contenido en Media Services solía implicar varios pasos, como copiar archivos a Azure Storage y crear entidades Asset y AssetFile. En la nueva API, simplemente puede apuntar a un archivo existente en Azure Storage usando una dirección URL de SAS, o puede ingerir desde cualquier dirección URL accesible de HTTP(s).

var input = new JobInputHttp(
                     baseUri: "https://nimbuscdn-nimbuspm.streaming.mediaservices.windows.net/2b533311-b215-4409-80af-529c3e853622/",
                     files: new List<Cadena> {"Ignite-short.mp4"}
                     );

También hemos simplificado la creación de recursos en Azure Blob Storage permitiéndole establecer el nombre de contenedor directamente. Después, puede usar las API de almacenamiento para agregar archivos al contenedor. Los recursos de v2 existentes seguirán funcionando en la nueva API, pero los recursos de v3 no son compatibles con versiones anteriores.

Streaming y empaquetado dinámico con CMAF MPEG

En el servicio, ahora hemos lanzado compatibilidad oficial para el formato de aplicación multimedia común (CMAF) MPEG más reciente con cifrado "cbcs". CMAF, conocido oficialmente como MPEG-A Parte 19 o ISO/IEC 23000-19, es un nuevo formato de archivo multimedia que proporciona almacenamiento y entrega de contenido multimedia en streaming mediante un único formato de tasa de bits cifrado y adaptable para una amplia gama de dispositivos, como el iPhone de Apple, Android y Windows. Los proveedores de servicios de streaming se beneficiarán de este formato común mediante una interoperabilidad mejorada, streaming de baja latencia y mayor eficiencia de caché de CDN.

Para usar el nuevo formato CMAF, simplemente agregue la siguiente etiqueta nueva “format =” a la dirección URL de las direcciones URL de streaming y elija el tipo de manifiesto apropiado de HLS (para dispositivos iOS) o DASH (para dispositivos Windows o Android).

Para el manifiesto DASH MPEG con contenido en formato CMAF, use “format=mpd-time-cmaf” como se muestra a continuación:

https://<<su-nombre-de-cuenta>>.streaming.media.azure.net/<<identificador-de-localizador>>/<<manifest-name>>.ism/manifest(format=mpd-time-cmaf)

Para el manifiesto HLS con contenido en formato CMAF, use “format=m3u8-cmaf” como se muestra a continuación:

https://<<su-nombre-de-cuenta>>.streaming.media.azure.net/<<identificador-de-localizador>>/<<nombre-del-manifiesto>>.ism/manifest(format=m3u8-cmaf)

Administración de Media Services a través de la línea de comandos

Finalmente, hemos actualizado el módulo de la CLI de Azure 2.0 para Media Services para incluir todas las características de la API v3. Lanzaremos el módulo de la CLI de Media Services final el 23 de octubre de 2018 para que se pueda descargar o usar directamente dentro de Cloud Shell. La CLI está diseñada para facilitar la creación de scripts de Media Services. Use la CLI para consultar trabajos en ejecución, crear eventos en vivo, crear transformaciones personalizadas, administrar claves de contenido, etc. El módulo de la CLI también incluye compatibilidad para puntos de conexión de streaming, directivas de clave de contenido y filtros de manifiestos dinámicos.

CE05FFEB-4B2C-4F51-A02D-073A5648967B

Pruebe la nueva API siguiendo estos tutoriales de inicio rápido:

¡Manténgase en contacto!

Asimismo, asegúrese de revisar Video Indexer, que también se trasladó a la disponibilidad general el mes pasado. ¡Estamos deseando conocer su opinión sobre estas actualizaciones! Puede hacer preguntas en nuestro foro de MSDN, enviar una pregunta en Stack Overflow, o agregar nuevas ideas a los sitios de voz de usuario de Azure Media Services y Video Indexer. También puede comunicarse con nosotros en Twitter mediante @MSFTAzureMedia y @Video_Indexer.