paint-brush
Transmisión en vivo en la nube con Amazon IVS: Parte 1por@amazonivs
12,826 lecturas
12,826 lecturas

Transmisión en vivo en la nube con Amazon IVS: Parte 1

Demasiado Largo; Para Leer

Amazon Interactive Video Service (o Amazon IVS) es el servicio que impulsa a Twitch. Puede usarlo para impulsar sus propias aplicaciones interactivas de transmisión de video en vivo. En esencia, Amazon le permite: crear un canal, crear una interfaz de reproducción, transmitir (o "transmitir") y crear interfaces de reproducción. En 2021, se transmitieron más de [1,3 billones (con T) de minutos en Twitch. Eso es mucho tráfico de transmisión en vivo. En este momento, hay alrededor de 2,5 millones de personas viendo una transmisión en vivo en [Twitch.tv]. Al final, 31 millones de personas habrán sintonizado.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Transmisión en vivo en la nube con Amazon IVS: Parte 1
Amazon Interactive Video Service (IVS)  HackerNoon profile picture

Introducción a Amazon Interactive Video Service (serie de 4 partes)

Se está volviendo imposible ignorar la transmisión en vivo. Hay toneladas de estudios que ilustran su popularidad y crecimiento continuo, pero olvide los números por un segundo y considere cuántos de nosotros consumimos medios de comunicación y entretenimiento, e incluso cómo algunos de nosotros hacemos ejercicio. Cada vez dependemos más de Internet para obtener lo que queremos y necesitamos, y lo queremos rápido, confiable y bajo demanda.


No pasaré mucho tiempo tratando de convencerte de que la transmisión en vivo resuelve todos tus problemas. Si está leyendo esto, probablemente ya tenga una buena idea de que la transmisión en vivo es ideal para su aplicación. Si no es así, aún debe seguir leyendo; confíe en mí, incluso los casos de uso más pequeños pueden beneficiarse de lo que vamos a explorar.


Pero, y puedo decirte esto por experiencia, es realmente difícil crear una experiencia de transmisión en vivo de calidad desde cero. Suena bastante fácil. Si quisiera, podría activar una instancia informática, actualizar el sistema operativo, instalar algún software de servidor de medios de código abierto, abrir el firewall y los puertos de red virtual y obtener una transmisión en funcionamiento en un día. Pero, ¿qué sucede cuando alguien se conecta a tu transmisión desde el otro lado del mundo? ¿Qué pasa cuando tu transmisión se vuelve muy popular y miles de personas quieren verla? ¿Está preparado para administrar escaladores automáticos, balanceadores de carga y actualizaciones/parches/mantenimiento del sistema operativo? Sí, yo tampoco.


Personas realmente inteligentes ya han resuelto este problema. En este momento, hay alrededor de 2,5 millones de personas viendo una transmisión en vivo en Twitch . Al final del día, 31 millones de personas habrán sintonizado en algún momento. En 2021, se transmitieron más de 1,3 billones (con una T) de minutos en Twitch. Eso es mucho tráfico de transmisión en vivo. Twitch no creó su producto de la noche a la mañana . Ingrese a Amazon Interactive Video Service (o Amazon IVS). Amazon IVS es el servicio que impulsa a Twitch. Y puede usarlo para potenciar sus propias aplicaciones interactivas de transmisión de video en vivo. ¿Entonces, cómo funciona? Hay varias opciones diferentes para la transmisión y la reproducción, pero en esencia, Amazon IVS le permite:


  • crear un canal
  • Crear una interfaz de reproducción
  • Difusión (transmisión)


Hay diferentes formas de crear canales (consola, CLI, SDK) y crear interfaces de reproducción (web, nativo). También hay diferentes formas de transmitir (o "transmitir") a sus canales (software de escritorio, aplicaciones móviles, transmisión web). Te mostraré cómo funcionan todos estos en publicaciones futuras, pero hoy dejemos de lado los conceptos básicos simplemente creando un canal y transmitiendo a él. Si nunca antes ha transmitido en vivo, la forma más rápida de comenzar desde su computadora portátil o de escritorio es instalar algo como Streamlabs Desktop u OBS . Otra forma rápida y fácil de transmitir es hacerlo directamente desde la línea de comandos con FFMPEG , pero este método no incluirá algunas de las características más agradables de otras opciones (como transmitir fácilmente una ventana o aplicación de escritorio y agregar transiciones divertidas a sus escenas) . Aún así, es una manera fácil de probar tu canal. Veremos cómo usar FFMPEG en una publicación futura.

Creación de una cuenta de AWS

Lo primero es lo primero: necesitará una cuenta de AWS para comenzar. ¿Aún no tienes uno? Registrarse es fácil y las cuentas nuevas pueden aprovechar la capa gratuita de AWS para Amazon IVS (5 horas de entrada básica y 100 horas de salida de video SD cada mes, y más). Probar Amazon IVS puede no costarle nada, así que regístrese y siga esta publicación para crear su propio canal (¡y esté atento a futuras publicaciones en las que profundizaremos mucho más)!


¿Se pregunta cuánto costará ejecutar Amazon IVS en su aplicación de producción? ¡Consulte el estimador de costos de Amazon IVS !

Crear un canal

¿Tienes esa nueva cuenta creada? ¡Genial, vamos a crear un canal! Diríjase a la consola de administración de Amazon IVS . Lo primero que debe hacer aquí es seleccionar una región para el control y la creación de sus transmisiones:


No se preocupe: la ingestión y la entrega de video están disponibles en todo el mundo a través de una red de infraestructura administrada separada que está optimizada para video en vivo. Ahora que hemos seleccionado una región en la página de inicio de la Consola de administración de Amazon IVS, haga clic en Crear canal .

En la página Crear canal, lo primero que debemos hacer es darle un nombre a nuestro canal:

A continuación, en Configuración de canales , seleccione Configuración personalizada . Si creó una cuenta nueva, la capa gratuita de AWS se aplica a los tipos de canales básicos , por lo que la seleccionaremos. Deje Latencia ultrabaja seleccionada.

Amazon IVS admite la autorización de reproducción con tokens de autenticación. No profundizaremos en esto hoy, así que deje la autorización de reproducción deshabilitada.

Si desea capturar todas sus transmisiones en vivo para reproducirlas en el futuro, seleccione Grabación automática en S3 . Esto puede ser muy útil si está transmitiendo algo como un seminario web o una sesión de conferencia y le gustaría ofrecer reproducción a pedido más adelante. Por ahora, dejemos esto deshabilitado.

Si desea etiquetar su canal, puede ingresarlos en la siguiente sección. Una vez que hayas terminado, haz clic en Crear canal .

Detalles del canal

Después de crear nuestro canal, somos redirigidos a la página de detalles del canal. En la parte superior de esta página, hay texto útil y enlaces a los documentos de Amazon IVS.

Desplácese un poco hacia abajo para ver un resumen de las opciones que seleccionamos para nuestro canal.

Si planeamos trabajar con este canal a través de un SDK o una CLI, debemos tomar nota del ARN del canal.

Debajo del resumen del canal, podemos ver un panel titulado Transmisión en vivo

Expandir este panel (haciendo clic en el encabezado del panel) revelará un reproductor de video incorporado que podemos usar para ver el video actual en nuestra transmisión. Como aún no estamos transmitiendo, el reproductor estará inicialmente fuera de línea.

Debajo de la transmisión en vivo, el reproductor es un panel dedicado a los metadatos cronometrados .

Los metadatos cronometrados son una característica excepcional que nos permite inyectar cargas útiles de datos en nuestra transmisión de video que podemos recuperar en el lado del cliente en el momento exacto en que lo transmitimos a la transmisión. Esto es muy útil y puede habilitar contenido bastante interactivo. Nuevamente, ¡guardaremos este tema para una publicación futura!

Debajo del panel de metadatos cronometrados se encuentra el panel de configuración de Stream , que contiene nuestra clave de Stream y el servidor Ingest .

Tenga en cuenta ambos valores, ya que los usaremos en breve para transmitir a nuestro canal a través de rtmps con OBS y FFMPEG. También podemos transmitir a través del SDK de transmisión web (usando el punto final especificado en Otras opciones de ingesta ). Si, ese también es otro post...

Desplazarse hacia abajo revelará nuestra URL de reproducción personalizada en el panel de configuración de reproducción.

Usaremos esto en una publicación futura cuando echemos un vistazo a las diversas opciones para la reproducción de secuencias. No necesitaremos este valor hoy, ya que solo vamos a probar nuestra transmisión en la consola de Amazon IVS.

Creación de un canal a través de la AWS CLI

Si prefiere usar la CLI de AWS para administrar sus recursos de AWS, puede crear un canal con la misma configuración que usamos anteriormente mediante el siguiente comando:

 $ aws \ ivs \ create-channel \ --name my-first-ivs-channel \ --type BASIC \ --latency-mode LOW \ --no-authorized


Al crear su canal a través de la CLI, toda la información que se muestra en la información detallada de la transmisión (el ARN del canal, la clave de la transmisión, etc.) se devuelve en un objeto JSON.

 { “channel”: { “arn”: “arn:aws:ivs:us-east-1:[redacted]:channel/[redacted]”, “authorized”: false, “ingestEndpoint”: “[redacted].global-contribute.live-video.net”, “latencyMode”: “LOW”, “name”: “my-first-ivs-channel”, “playbackUrl”: “https://[redacted].us-east-1.playback.live-video.net/api/video/v1/us-east-[redacted].channel.[redacted].m3u8”, “recordingConfigurationArn”: “”, “tags”: {}, “type”: “BASIC” }, “streamKey”: { “arn”: “arn:aws:ivs:us-east-1:[redacted]:stream-key/[redacted]”, “channelArn”: “arn:aws:ivs:us-east-1:[redacted]:channel/[redacted]”, “tags”: {}, “value”: “sk_us-east-[redacted]” } }

Estamos en vivo en 3, 2, 1...

¡Estamos listos para salir en vivo! Asegúrese de tener a mano la clave de transmisión y el punto final de ingesta y encienda OBS. En OBS, seleccione Perfil , luego Nuevo, y asigne a su perfil el nombre my-first-ivs-channel . En el Asistente de configuración automática , elija Optimizar para transmisión, la grabación es secundaria y haga clic en Siguiente .

En el siguiente paso, acepte los valores predeterminados.

A continuación, elija Personalizado en el menú desplegable de entrada del Servicio , ingrese su punto final de ingesta de Amazon IVS como el Servidor y pegue nuestra Clave de transmisión en el cuadro de entrada. Deje Estimar tasa de bits y ancho de banda marcado y haga clic en Siguiente .

OBS ahora ejecutará algunas pruebas para estimar la configuración ideal para este canal.

Una vez que se complete la prueba, OBS generará los resultados. Aceptaremos las recomendaciones aquí (tenga en cuenta que dado que este es un canal básico , OBS detectó correctamente la resolución de salida de 480p).

Haga clic en Aplicar configuración y, en la ventana principal de OBS, seleccione la primera escena en Escenas . En Fuentes , haga clic en el ícono más y seleccione Dispositivo de captura de video . Elija su cámara web y agréguela como fuente . Ahora debería ver una vista previa de su transmisión en OBS:

Lo único que se interpone entre nosotros y nuestra transmisión en vivo es hacer clic en el botón Iniciar transmisión (que se muestra en la captura de pantalla anterior). Entonces, ¿qué estamos esperando? ¡Hagamos clic! Una vez que comenzamos a transmitir, podemos regresar a la Consola de administración de Amazon IVS y volver a cargar nuestra página de detalles de transmisión y expandir el visor en vivo para ver nuestra transmisión en vivo.

¡Y eso es! ¡Estamos transmitiendo en vivo a Internet!

Resumen

En esta publicación, creamos nuestro primer canal con Amazon IVS y comenzamos nuestra primera transmisión en vivo. Como mencioné varias veces, hay mucho más en IVS. ¡Estén atentos aquí para más publicaciones pronto donde veremos las diversas opciones para transmitir, reproducir y agregar funciones interactivas (como chat en vivo y más)!