Blog de Amazon Web Services (AWS)

Parte 1 – Streaming de video a AWS Elemental MediaConnect usando el SDK de Zixi

Por Arturo Velasco, Arquitecto de Soluciones Especialista en Media and Entertainment y
Katreena Mullica, Sr Partner Arquitecta de Soluciones

Introducción

Esta es la primera parte de una serie de tres blogs que exploran mecanismos para contribuir una señal local a la nube utilizando el servicio de AWS Elemental MediaConnect y el protocolo Zixi, que brinda una comunicación segura, confiable y escalable. Mediante el uso del SDK de Zixi con AWS Elemental MediaConnect (Zixi-MediaConnect) es posible transmitir contenidos en protocolos tradicionales como UDP y encapsularlo en Zixi. Zixi-MediaConnect también permite recibir señales, extraer su contenido y generar una transmisión tipo UDP. Adicionalmente, se pueden agregar mecanismos de cifrado para garantizar una capa de seguridad sobre las señales durante su contribución y distribución.  Una vez que los contenidos se encuentren en la nube, es posible compartirlos globalmente y de manera segura a otras cuentas de AWS sin requerir de una infraestructura dedicada o equipos especializados.

En el siguiente diagrama se describen los componentes que hacen parte del proceso de contribución a la nube de AWS y que se mencionan en esta publicación.

Diagrama de arquitectura

En este documento, demostramos como:

  • Instalar y configurar OBS Studio y Zixi-MediaConnect en un sistema local
  • Crear un flujo de MediaConnect cifrado
  • Retransmitir VOD (Video on Demand) local a un Player Zixi en los dispositivos móviles de los usuarios finales

Zixi-MediaConnect Feeder/Receiver

El protocolo Zixi está diseñado para mantener la integridad del contenido y de la red, ajustándose dinámicamente a las diferentes condiciones de red y empleando técnicas de corrección de errores para la transmisión de video sobre IP. El protocolo Zixi es adecuado para la mayoría de las aplicaciones, especialmente donde existen distancias más largas y condiciones hostiles de red.

Zixi está integrado en una amplia variedad de dispositivos para transportar contenido de video. Si su codificador no puede generar una transmisión protegida por Zixi, puede utilizar el software Zixi-MediaConnect Feeder. Y en el otro extremo de la distribución, si tu Receptor/Decodificador Integrado (IRD o un decodificador) no incluye Zixi, puedes usar Zixi-MediaConnect Receiver. Zixi-MediaConnect Feeder/Receiver se pueden instalar on-prem y en la nube.

Protocolos soportados por Zixi-MediaConnect Feeder

Zixi-MediaConnect Feeder se localiza en el punto de adquisición del video y soporta los siguientes protocolos:

Entradas:

  • UDP
  • Contenido de video (1 video en bucle)
  • RTMP (Push/Pull)
  • RTSP

Salida:

  • Push – La transmisión es enviada directamente a MediaConnect usando el protocolo Zixi

Consideraciones de Latencia

La latencia es la medida del tiempo que tarda un paquete en ser transportado desde el origen hasta su destino. Este retraso se genera por un buffer utilizado para agregar el procesamiento adicional requerido con la finalidad de mejorar la calidad del flujo de video. No obstante, si el video requiere interacción (por ejemplo, un reportero en campo hablando con presentador en el estudio), la latencia debe minimizarse tanto como sea posible. La latencia puede variar de decenas de milisegundos a varios segundos. El protocolo Zixi puede agregar retrasos para aumentar la latencia proporcionando una recuperación de errores más robusta. Para casos de uso como transmisiones de video a través de internet, una latencia más alta (1 o 2 segundos) es perfectamente aceptable. El mayor tiempo de procesamiento puede resultar en una mejor calidad de imagen mediante la prevención de la pérdida de paquetes.

Para permitir una recuperación de errores suficiente, se recomienda establecer que la latencia sea al menos 3 veces mayor que el Round-Trip Time (RTT) (por ejemplo, latencia >= 3* RTT).

La latencia se puede establecer a cualquier valor, pero las dos más comunes son:

  1. Modo interactivo (Interactive mode) – 500 ms (para deportes, juegos de azar, o transmisiones cercanas al tiempo real)
  2. Modo no interactivo (Non-interactive mode) – 4000 ms (para contenido pregrabado)

Con baja latencia (por debajo de 1500 ms), la recuperación de errores se basa en un enfoque híbrido llamado Forward Error Correction (FEC) y Automatic Repeat Request (ARQ). Habilitar FEC aumenta la capacidad de transmisión en hasta un 30% (adaptativos — sin congestionar la red).

Consideraciones de Seguridad

Debido al incremento en la popularidad de servicios de streaming los proveedores de servicios se están alejando de la relación tradicional de operador punto a punto y decodificador, que puede abrir una amplia gama de nuevas amenazas de seguridad como la redistribución del contenido si su consentimiento. Es importante considerar niveles de seguridad adecuados para sus señales y agregar protección mediante el cifrado en diferentes puntos de la solución, en esta publicación utilizaremos AWS Secrets Manager para proteger los secretos necesarios para acceder a sus transmiciones, servicios y recursos de TI. El servicio le permite rotar, administrar y recuperar fácilmente credenciales, claves API y otros secretos a lo largo de su ciclo de vida.

Prerrequisitos

  • Sistema Operativo Ubuntu Linux (esta publicación fue probada usando Ubuntu Focal Fossa)
  • Cuenta de AWS con permisos de administrador
  • Dispositivo Mobile Android o iOS (para visualizar el contenido VOD)
  • Garantizar que existan bloqueos al tráfico entrante y saliente a puertos UDP usados por Zixi-MediaConnect Feeder
  • Un firewall externo que permita la comunicación en el puerto UDP 2088 (entrante y saliente)
  • El sistema Ubuntu debe poder comunicarse a través de UDP utilizando el puerto 53 a su servidor DNS
  • Verificar que el MPEG-TS procedente de su dispositivo fuente (Encoder/Mux/Integrated Receiver/Decoder (IRD)/Playout, etc.) sea compatible con el dispositivo de destino (IRD/Playout/etc.)

Costo de aprovisionar los recursos usados en esta publicación

  • No hay cargo por FFmpeg, OBS, Zixi-MediaConnect Feeder/Receiver, ni por el uso de la aplicación Zixi Player
  • MediaConnect se factura por uso, es decir; por hora de uso de cada flujo en ejecución, además de un cargo por gigabyte transferido a través del flujo ya sea por un precio reservado de ancho de banda saliente, un cargo por hora basado en el ancho de banda para el video enviado a internet o bajo demanda. Un flujo que está en modo de espera no es considerado un recurso activo y no incurre en costo, incluso si tiene salidas o derechos configurados. Revisa https://aws.amazon.com/mediaconnect/pricing/ para más información.
  • AWS Secrets Manager incluye un periodo de prueba gratuito de 30 días. Después de que termine el plazo, Secrets Manager se factura $0.40 por secreto al mes. Para secretos que se almacenan por menos de un mes, el precio se prorratea (en función del número de horas). Consulta https://aws.amazon.com/secrets-manager/pricing/ para más información.
  • Para mantener los costos al mínimo, asegúrate de terminar los recursos una vez que acabes tus pruebas siguiendo las tareas del Paso 8 de esta publicación.

Limitaciones

  • Cada instalación de Zixi-MediaConnect Feeder/Receiver solo puede tener una licencia. (Puede ser Feeder o Receiver, pero no ambos).
  • Zixi-MediaConnect Feeder/Receiver permite el registro de hasta 25 instalaciones
  • MediaConnect soporta hasta 50 salidas por flujo

Descarga aquí la guía (parte 1)

 

Esta es la primera parte de una serie de 3 publicaciones

Parte 1 (esta publicación)– Streaming de video a AWS Elemental MediaConnect usando Zixi SDK

Parte 2 – Streaming de video a AWS Elemental MediaConnect usando Zixi SDK

Parte 3 – Streaming de video a AWS Elemental MediaConnect usando Zixi SDK

Si tienes preguntas, comentarios o deseas involucrarte en discusiones con otros miembros de la comunidad, visita AWS Developer Forums: Media Services.

 

Este artículo fue traducido del Blog de AWS en Inglés

 


Sobre los autores:

Arturo Velasco es Media and Entertainment Specialist Solutions Architect en AWS

 

 

 

 

Katreena Mullican es  Sr Partner Solutions Architect en AWS

 

 

 

 

Sobre los traductores:

Rene Roldan es Arquitecto de Soluciones en AWS

 

 

 

 

Sobre los revisores:

Efrain Castilla es Arquitecto de Soluciones Sr en AWS

 

 

 

 

Armando Barrales es Arquitecto de Soluciones Sr en AWS