Streaming en vivo con Azure Media Services v3

Logotipo de Media Services v3


Advertencia

Azure Media Services se retirará el 30 de junio de 2024. Para obtener más información, consulte la Guía de retirada de AMS.

Azure Media Services permite entregar eventos en directo a sus clientes en la nube de Azure. Para transmitir eventos en directo con Media Services, deberá configurar un codificador de vídeo en directo que convierta señales de una cámara (u otro dispositivo, como un portátil) en una fuente de contribución que se envía a Media Services. La fuente de contribución puede incluir señales relacionadas con la publicidad, como los marcadores SCTE-35. Para obtener una lista de los codificadores de streaming en vivo recomendados, consulte Codificadores de streaming en vivo.

Si no ha usado un codificador local antes, pruebe el inicio rápido Creación de una transmisión en directo de Azure Media Services con OBS .

Empaquetado y entrega dinámicos

Con Media Services, puede aprovechar el empaquetado dinámico, lo que le permite obtener una vista previa y difundir las transmisiones en directo en formatos MPEG DASH, HLS y Smooth Streaming desde la fuente de contribución. Los espectadores pueden reproducir el streaming en vivo con cualquier reproductor compatible con HLS, DASH o Smooth Streaming. Vea la lista de jugadores probados y pruebe los ejemplos de reproductores de Media Services 3rd-party.

Tipos de eventos en directo

Los eventos en directo son ingesta y procesamiento de fuentes de vídeo en directo. Un evento en directo se puede establecer en:

  • paso a través cuando un codificador en directo local envía una secuencia de velocidad de bits múltiple o
  • codificación en directo cuando un codificador en directo local envía una secuencia de velocidad de bits única. Para más información sobre las salidas en directo, consulte Eventos en directo y salidas en directo.

Paso a través

Cuando se utiliza el evento en directo de tránsito (básico o estándar), se confía en el codificador en directo local para generar una secuencia de vídeo con múltiples velocidades de bits y enviarla como fuente de contribución al evento en directo (mediante el protocolo de entrada RTMP o MP4 fragmentado). A continuación, el evento en directo pasa la secuencia de vídeo entrante al empaquetador dinámico (punto de conexión de streaming) sin ningún procesamiento adicional. Un evento en directo de paso a través está optimizado para eventos en directo de larga duración o streaming en vivo lineal de 24 x 365.

instrucción de paso a través

Live Encoding

Para usar la codificación en directo, configure el codificador en directo local para enviar un solo vídeo de velocidad de bits (hasta 32 Mbps agregado) al evento en directo (mediante el protocolo de entrada RTMP o MP4 fragmentado). El evento en directo transcodifica la secuencia de velocidad de bits única entrante en varias secuencias de vídeo de velocidad de bits en distintas resoluciones. Esto mejora la entrega de dispositivos de reproducción con protocolos estándar del sector como MPEG-DASH, Apple HTTP Live Streaming (HLS) y Microsoft Smooth Streaming.

Configuración de la codificación en directo

Opciones de eventos en directo

Cifrado dinámico

El cifrado dinámico permite cifrar de forma dinámica el contenido en directo o a petición con AES-128 o cualquiera de los tres principales sistemas de administración de derechos digitales (DRM): Microsoft PlayReady, Google Widevine y Apple FairPlay. Media Services también proporciona un servicio para entregar claves AES y licencias de DMR (PlayReady, Widevine y FairPlay) a los clientes autorizados. Para más información, consulte Cifrado dinámico.

Widevine es un servicio que ofrece Google Inc. y que está sujeto a los términos del servicio y la directiva de privacidad de Google, Inc.

Filtrado dinámico

El filtro dinámico se usa para controlar el número de pistas, formatos, velocidades de bits y ventanas de tiempo de presentación que se envían a los reproductores. Para obtener más información, consulte los detalles de los filtros y los manifiestos dinámicos.

Transcripción en directo

La transcripción en directo es una característica que puede usar con eventos en directo que son de paso a través o de codificación en directo. Para más información, consulte transcripción en directo. Cuando esta característica está habilitada, el servicio usa la característica Voz a texto de Cognitive Services para transcribir el texto oral del audio entrante en texto escrito. A continuación, se pone a disposición este texto para su entrega junto con el vídeo y el audio en los protocolos MPEG-DASH y HLS.

Importante

Debe usar los tamaños de GOP de 2 segundos para los eventos en directo. Debe usar los tamaños de GOP de 4 segundos o menos para los eventos en directo de paso a través con transcripciones en directo, para obtener los datos de transcripción correctos. Si decide usar un tamaño superior de GOP, es posible que los datos de transcripción tengan defectos (por ejemplo, que falte contenido).

Consideraciones de seguridad para CC, subtítulos y entrega de metadatos con tiempo

Las características de cifrado dinámico y DRM de Azure Media Services tienen límites que se deben tener en cuenta al intentar proteger la entrega de contenido que incluye transcripciones en directo, CC, subtítulos o metadatos con tiempo. Los subsistemas DRM, incluidos PlayReady, FairPlay y Widevine, no admiten el cifrado ni las licencias de pistas de texto. La falta de cifrado DRM para las pistas de texto limita la capacidad de proteger el contenido de las transcripciones en directo, los subtítulos insertados manualmente, los subtítulos cargados o las señales de metadatos con tiempo que se pueden insertar como pistas independientes.

Para proteger los CC, los subtítulos o las pistas de metadatos con tiempo, sigue estas directrices:

  1. Use el cifrado de clave sin cifrado AES-128. Al habilitar el cifrado de claves sin cifrado AES-128, las pistas de texto se pueden configurar para cifrarse mediante una técnica de cifrado de "sobre" completa que sigue el mismo patrón de cifrado que los segmentos de audio y vídeo. Después, una aplicación cliente puede descifrar estos segmentos después de solicitar la clave de descifrado del servicio de entrega de claves Media Services mediante un token JWT autenticado. Este método es compatible con el Azure Media Player, pero puede no ser compatible con todos los dispositivos y puede requerir algún trabajo de desarrollo del lado cliente para asegurarse de que se realiza correctamente en todas las plataformas.
  2. Use la autenticación de token CDN para proteger las pistas de texto (CC, subtítulos, metadatos) que se entregan con direcciones URL con token de forma corta que están restringidas a la configuración geográfica, IP u otra configuración configurable en el portal de CDN. Habilite las características de seguridad de CDN mediante Verizon Premium CDN u otras CDN de terceros configuradas para conectarse a los puntos de conexión de streaming Media Services.

Advertencia

Si no sigue una de las guías anteriores, los CC, los subtítulos o el texto de metadatos con tiempo serán accesibles como contenido sin cifrar que podría interceptarse o compartirse fuera de la ruta de entrega de cliente prevista. Esto puede dar lugar a información filtrada. Si le preocupa el contenido de los subtítulos que se filtran en un escenario de entrega segura, consulte al equipo de soporte técnico de Media Services para obtener más información sobre las guías anteriores para proteger la entrega de contenido.

Flujo de trabajo de streaming en vivo

Para conocer el flujo de trabajo de streaming en vivo de Media Services v3, primero tendrá que examinar y conocer los conceptos siguientes:

Pasos generales

  1. En la cuenta de Media Services, asegúrese de que el punto de conexión de streaming (origen) esté en ejecución.

  2. Cree un evento en directo.
    Al crear el evento, puede especificar que se inicie automáticamente. De lo contrario, puede iniciar el evento cuando esté listo para iniciar el streaming.
    Cuando el inicio automático está establecido en true, el evento en directo se iniciará después de la creación. La facturación comienza en cuanto el objeto LiveEvent empieza a ejecutarse. Debe llamar explícitamente a Stop en el recurso del evento en directo para evitar que continúe la facturación. Para más información, consulte Estados y facturación de LiveEvent.

  3. Obtenga las direcciones URL de ingesta y configure el codificador local a fin de usar la dirección URL para enviar la fuente de contribución.
    Consulte Codificadores de streaming en vivo recomendados.

  4. Obtenga la dirección URL de versión preliminar y úsela para verificar que la entrada del codificador se está recibiendo realmente.

  5. Cree un nuevo objeto de recurso.

    Cada salida en directo está asociada a un recurso cuya salida utiliza para grabar el vídeo en el contenedor de Azure Blob Storage asociado.

  6. Cree una salida en directo y use el nombre del recurso que ha creado para que se pueda archivar el flujo en el recurso.

    Los objetos LiveOutput comienzan al crearlos y se detienen cuando se eliminan. Cuando se elimina el objeto Live Output, no se elimina el recurso subyacente ni su contenido.

  7. Cree un localizador de streaming con los tipos de directivas de streaming integrados.

    Para publicar la salida en directo, debe crear un localizador de streaming para el recurso asociado.

  8. Enumere las rutas de acceso en el localizador de streaming para recuperar las direcciones URL que se van a usar (estas son deterministas).

  9. Obtenga el nombre de host para el punto de conexión de streaming (origen) desde el que quiere hacer el streaming.

  10. Combine la dirección URL del paso 8 con el nombre de host del paso 9 para obtener la dirección URL completa.

  11. Si desea que el evento en directo deje de estar visible, es preciso que se deje de transmitir el evento y que elimine el localizador de streaming.

  12. Si se realizan eventos de streaming y desea limpiar los recursos aprovisionados anteriormente, siga el procedimiento siguiente.

    • Detenga la inserción de la secuencia en el codificador.
    • Detenga el evento en directo. Una vez detenido el evento en directo, dejará de suponer un coste. Cuando necesite iniciarlo de nuevo, tendrá la misma URL de introducción, por lo que no necesitará volver a configurar su codificador.
    • Puede detener el extremo de streaming, a menos que desee seguir proporcionando el archivo de su evento en vivo como una secuencia a petición. Si el evento en directo está en estado detenido, no supondrá ningún coste. Sin embargo, si el punto de conexión de streaming todavía se está ejecutando, incurrirá en cargos.

El recurso en el que se está archivando la salida en directo, se convierte automáticamente en un recurso a petición cuando se elimina esa salida en directo. Debe eliminar todas las salidas en directo antes de que un evento en directo pueda detenerse. Puede usar una marca opcional removeOutputsOnStop para quitar automáticamente las salidas en directo cuando se detenga el proceso.

Sugerencia

Consulte el tutorial sobre streaming en vivo, en el artículo se examina el código que implementa los pasos descritos anteriormente.

Otros artículos importantes

Preguntas más frecuentes sobre streaming en vivo

Consulte las preguntas sobre streaming en vivo en las preguntas más frecuentes.

Obtener ayuda y soporte técnico

Puede ponerse en contacto con Media Services con preguntas o seguir nuestras actualizaciones mediante uno de los métodos siguientes: