Paso 5: configurar el software de streaming - Amazon IVS

Paso 5: configurar el software de streaming

Puede transmitir (baja latencia) a Amazon IVS con:

  • Los SDK de transmisión nativos de IVS, que admiten RTMPS. Lo recomendamos, especialmente para escenarios de producción.

  • La consola de Amazon IVS: es adecuada para probar transmisiones.

  • Otros codificadores de software y hardware de transmisión: puede usar cualquier codificador de transmisión que sea compatible con los protocolos RTMP, RTMPS o SRT. A continuación se describen varios ejemplos, con Open Broadcast Software (OBS) y FFmpeg con RTMPS y SRT. RTMPS permite una alta seguridad mediante el uso de una transmisión cifrada mediante TLS.

Los ajustes del codificador de claves son el intervalo de fotogramas clave (2 segundos) y la resolución/velocidad de bits/velocidad de fotogramas (que están interrelacionados). Para obtener más detalles sobre la configuración del codificador, consulte:

Notas:

  • La duración máxima de las transmisiones de Amazon IVS es de 48 horas. Después de eso, la transmisión finaliza y la sesión de streaming se desconecta. Una reconexión correcta (automática o manual) inicia una nueva transmisión.

  • Si el codificador deja de enviar datos (por ejemplo, debido a un problema temporal de red), Amazon IVS espera 30 segundos. Si no se reciben datos de la emisora durante este tiempo, Amazon IVS se desconecta.

Streaming con el SDK de transmisión de Amazon IVS

Para transmitir desde sus aplicaciones de iOS o Android, puede utilizar el SDK de transmisión de Amazon IVS. Este SDK está diseñado a fin de aprovechar la arquitectura de Amazon IVS y verá mejoras continuas y nuevas características, junto con Amazon IVS. Como SDK de transmisión nativo móvil, está diseñado para minimizar el impacto en el rendimiento de la aplicación y en los dispositivos con los que los usuarios acceden a la aplicación.

Para transmitir desde... Puede usar… Notas
Sus aplicaciones de Android o iOS SDK de transmisión de Amazon IVS Android o iOS Como SDK de transmisión nativo móvil, está diseñado para minimizar el impacto en el rendimiento de la aplicación y en los dispositivos con los que los usuarios acceden a la aplicación.
Un entorno web SDK de transmisión web de Amazon IVS Como SDK de transmisión web, el SDK de transmisión web de Amazon IVS le permite transmitir desde entornos web mediante WebRTC. Cuenta con compatibilidad entre varios navegadores y varias plataformas.

Para obtener más información, consulte SDK de transmisión de IVS | Transmisión de baja latencia.

Transmisión con la consola de Amazon IVS

  1. Abra la consola de Amazon IVS.

    (También puede obtener acceso a la consola de Amazon IVS mediante la consola de administración de AWS).

  2. En el panel de navegación, seleccione Canales. (Si el panel de navegación está contraído, amplíelo seleccionando el icono de la hamburguesa).

  3. Elija el canal en el que desee emitir para ir a la página de detalles.

  4. Seleccione la pestaña Transmisión. (Las pestañas están debajo de la sección Configuración general).

  5. Se le pedirá que conceda a la consola de IVS acceso a su cámara y micrófono; permita esos permisos.

  6. En la parte inferior de la pestaña Transmisión, utilice los cuadros desplegables para seleccionar los dispositivos de entrada para el micrófono y la cámara.

  7. Para iniciar el streaming, seleccione Comenzar a transmitir.

  8. Para ver el streaming en directo, ve a la pestaña Reproducción.

    Nota: Tras iniciar el streaming, espere un breve retraso (normalmente inferior a 30 segundos) antes de que se pueda ver en la pestaña de reproducción.

Puede usar esta función para transmitir simultáneamente en varios canales.

Nota: El streaming desde la consola consume recursos e incurrirá en costos de entrada de video en directo. Para obtener más información, consulte los costos de entrada de video en directo en la página de precios del IVS.

Transmisión con OBS Studio mediante RTMPS

(OBS Studio) es una suite de software libre y de código abierto para grabar y realizar streaming en directo. OBS proporciona captura de fuentes y dispositivos en tiempo real, composición de escenas, codificación, grabación y streaming.

Siga estos pasos para preparar la versión 30.2 o posterior de OBS Studio y empezar a usarlo rápidamente:

  1. Descargue e instale el software: https://obsproject.com/download.

  2. Ejecute el asistente de configuración automática de OBS Studio que aparece al cargar OBS Studio por primera vez. Siga los pasos y acepte los valores predeterminados.

  3. En Información de la transmisión, seleccione Amazon IVS en el menú desplegable de servicios e ingrese la Clave de transmisión.

    Si creó el canal desde la consola de Amazon IVS, la Clave de transmisión que ingrese en OBS es la Clave de transmisión de la consola: sk_us-west-2_abcd1234efgh5678ijkl.

    Si creó el canal desde con AWS CLI, la Clave de transmisión que ingrese en OBS es el valor streamKey de la respuesta de la CLI: sk_us-west-2_abcd1234efgh5678ijkl.

    Si su canal de IVS tiene configurada la entrada de video multipista, seleccione Habilitar video multipista. Si lo desea, establezca las configuraciones de Máximo de pistas de video y Mínimo de ancho de banda de transmisión, que se usan para limitar las configuraciones de transmisión configuradas automáticamente.

  4. Para Resolución de salida de vídeo y Velocidad de bits, consulte Channel Types en Configuración de streaming de Amazon IVS. Si alguno de los valores elegidos por el asistente de OBS supera los valores permitidos por Amazon IVS, debe ajustar manualmente los valores para evitar una conexión fallida a Amazon IVS. Una vez finalizado el asistente:

    1. Para ajustar la resolución de video, utilice Configuración > Video > Resolución de salida (escalada).

    2. Para ajustar la velocidad de bits de video, utilice Configuración > Salida > Transmisión > Velocidad de bits de video.

      Nota: Esto no afecta a la transmisión en directo si previamente marcó la opción Habilitar video multipista.

  5. Recomendamos 2 segundos de Intervalo de fotogramas para mejorar la estabilidad de la transmisión y evitar el almacenamiento en búfer en la reproducción del visor. Una vez que haya finalizado el asistente, vaya a Configuración > Salida > Modo de salida, seleccione Avanzado, y en la pestaña Streaming, asegúrese de que el Intervalo de fotogramas es 2.

    Nota: El intervalo de fotogramas clave se configura automáticamente si seleccionó previamente Habilitar video multipista.

  6. En la ventana principal de OBS Studio, elija Iniciar streaming.

Para obtener más información sobre el streaming con OBS Studio, consulte Inicio rápido de OBS Studio.

Puede modificar la configuración de OBS manualmente más adelante:

  1. Seleccione Settings > Stream (Configuración > Transmisión).

  2. Seleccione Amazon IVS en el menú desplegable.

  3. Pegue la clave de transmisión.

Puede ejecutar el asistente de nuevo en cualquier momento: elija Tools > Auto-Configuration Wizard (Herramientas > Asistente de configuración automática).

Si lo desea, en Settings > General (Configuración > General), habilite la grabación local para guardar la transmisión en directo para su uso posterior. Como se mencionó anteriormente, los problemas de red entre la difusión y AWS o dentro de AWS podrían provocar alguna pérdida de datos durante la grabación de la transmisión. En estos casos, Amazon IVS prioriza la transmisión en directo sobre la grabación. Grabar localmente a través de su herramienta de streaming proporciona redundancia.

Es aconsejable comprobar si hay actualizaciones de OBS Studio regularmente y actualizar a la versión más reciente. (Por ejemplo, si obtiene el error “Failed to connect to server” (Error al conectarse al servidor), puede que esté usando una versión anterior de OBS Studio que no admite RTMPS).

Transmisión con OBS Studio mediante SRT

Siga estos pasos para comenzar a usar rápidamente el protocolo Secure Reliable Transport:

  1. Descargue e instale el software: https://obsproject.com/download.

  2. Ejecute el asistente de configuración automática de OBS Studio que aparece al cargar OBS Studio por primera vez. Siga los pasos y acepte los valores predeterminados.

  3. En Información de transmisión, elija Personalizado... desde el Servicio menú desplegable e ingrese el Servidor (servidor de incorporación) y Clave de transmisión.

    Si creó el canal con la AWS CLI:

    • El servidor que ingresa en OBS es una combinación de cinco elementos:

      • Un protocolo de incorporación: srt://

      • El punto de conexión de la estructura srt en la respuesta de la CLI:

        a1b2c3d4e5f6.srt.live-video.net

      • Un puerto: 9000

      • Un identificador de transmisión, el cual es el valor streamKey de la respuesta de la CLI:

        sk_us-west-2_abcd1234efgh5678ijkl

      • Una frase de contraseña, que se usa para cifrar el contenido. Úselo solo si la ingesta insegura no está habilitada.

        ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ

      La entrada completa es:

      srt://a1b2c3d4e5f6.srt.live-video.net:9000?streamid=sk_us-west-2_abcd1234efgh5678ijkl&passphrase=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ

    • La Clave de transmisión que introduzca en OBS se mantendrá vacía para el protocolo SRT.

  4. Para Resolución de salida de video y Velocidad de bits, consulte Tipos de canales en Configuración de streaming de Amazon IVS. Si alguno de los valores elegidos por el asistente de OBS supera los valores permitidos por Amazon IVS, debe ajustar manualmente los valores para evitar una conexión fallida a Amazon IVS. Una vez finalizado el asistente:

    1. Para ajustar la resolución de video, utilice Configuración > Video > Resolución de salida (escalada).

    2. Para ajustar la velocidad de bits de video, utilice Configuración > Salida > Transmisión > Velocidad de bits de video.

  5. Recomendamos 2 segundos de Intervalo de fotogramas para mejorar la estabilidad de la transmisión y evitar el almacenamiento en búfer en la reproducción del visor. Una vez que haya finalizado el asistente, vaya a Configuración > Salida > Modo de salida, seleccione Avanzado, y en la pestaña Streaming, asegúrese de que el Intervalo de fotogramas es 2.

  6. En la ventana principal de OBS Studio, elija Iniciar streaming.

Puede modificar la configuración de OBS manualmente más adelante:

  1. Seleccione Settings > Stream (Configuración > Transmisión).

  2. Seleccione Custom (Personalizada) en el menú desplegable.

  3. Pegue el servidor o la clave de transmisión.

Puede ejecutar el asistente de nuevo en cualquier momento: elija Tools > Auto-Configuration Wizard (Herramientas > Asistente de configuración automática).

Si lo desea, en Settings > General (Configuración > General), habilite la grabación local para guardar la transmisión en directo para su uso posterior. Como se mencionó anteriormente, los problemas de red entre la difusión y AWS o dentro de AWS podrían provocar alguna pérdida de datos durante la grabación de la transmisión. En estos casos, Amazon IVS prioriza la transmisión en directo sobre la grabación. Grabar localmente a través de su herramienta de streaming proporciona redundancia.

Es aconsejable comprobar si hay actualizaciones de OBS Studio regularmente y actualizar a la versión más reciente. (Por ejemplo, si obtiene el error “Error al conectarse al servidor”, puede que esté usando una versión anterior de OBS Studio que no sea compatible con RTMPS).

Transmisión de un video grabado con FFmpeg mediante RTMPS

Siga estos pasos:

  1. Descargue e instale FFmpeg: https://www.ffmpeg.org/download.html.

  2. Establezca $VIDEO_FILEPATH en la ubicación del video MP4 que se va a transmitir:

    VIDEO_FILEPATH=/home/test/my_video.mp4
  3. Establezca STREAM_KEY en su valor de StreamKey:

    STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
  4. Establezca INGEST_ENDPOINT su IngestEndpoint (desde la CLI de AWS):

    INGEST_ENDPOINT=a1b2c3d4e5f6.global-contribute.live-video.net
  5. Comience el streaming con el siguiente comando de terminal (todo esto es una línea):

    ffmpeg -re -stream_loop -1 -i $VIDEO_FILEPATH -r 30 -c:v libx264 -pix_fmt yuv420p -profile:v main -preset veryfast -x264opts "nal-hrd=cbr:no-scenecut" -minrate 3000 -maxrate 3000 -g 60 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmps://$INGEST_ENDPOINT:443/app/$STREAM_KEY

    Tenga en cuenta que el comando anterior es un ejemplo. Para el streaming de producción, ajuste los parámetros a sus necesidades.

Transmisión de un video grabado con FFmpeg mediante SRT

  1. Descargue e instale FFmpeg: https://www.ffmpeg.org/download.html. Si utiliza una versión anterior/compilada de FFmpeg, cree una nueva versión con la marca --enable-libsrt.

  2. Compruebe que SRT esté disponible para FFmpeg: ejecute el siguiente comando y asegúrese de que libsrt esté en la salida. Si libsrt no está presente, vuelva a crearla u obtenga una versión nueva de FFmpeg compatible con SRT.

    ffmpeg -version | grep enable-libsrt
  3. Establezca $VIDEO_FILEPATH en la ubicación del video MP4 que se va a transmitir:

    VIDEO_FILEPATH=/home/test/my_video.mp4
  4. Establezca STREAM_KEY en su valor de StreamKey:

    STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
  5. Configure INGEST_ENDPOINT para su punto de conexión (desde la AWS CLI, en el objeto srt).

    INGEST_ENDPOINT=a1b2c3d4e5f6.srt.live-video.net
  6. Configure PASSPHRASE para su frase de contraseña (desde la AWS CLI, en el objeto srt). Use una frase de contraseña solo si la ingesta insegura no está habilitada para el canal.

    PASSPHRASE=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
  7. Comience el streaming con el siguiente comando de terminal (todo esto es una línea):

    ffmpeg -re -i $VIDEO_FILEPATH -c copy -f mpegts "srt://$INGEST_ENDPOINT:9000?streamid=$STREAM_KEY&passphrase=$PASSPHRASE”