Configuración de streaming de Amazon IVS
Amazon Interactive Video Service (IVS) permite a los desarrolladores entregar fácilmente videos de baja latencia a los espectadores de todo el mundo. Con Amazon IVS, los transmisores deben gestionar solo la producción de la transmisión y luego enviar la transmisión a Amazon IVS. Amazon IVS gestiona el procesamiento del video (incorporación y transcodificación), la entrega y la reproducción a los espectadores mediante el reproductor de Amazon IVS.
Hay una gran cantidad de soluciones para el streaming en directo. Ya sea que planee comenzar su primera transmisión desde un smartphone o tenga un estudio equipado con múltiples cámaras, mesas de video, composición de gráficos y una variedad de equipos de mezcla de audio, debe tratar algunos de los mismos conceptos y parámetros de codificación.
En este documento se describe cómo configurar codificadores de video para transmitir a Amazon IVS. Los destinatarios de este documento son los desarrolladores que desean integrar funciones de streaming en sus aplicaciones.
Tenga en cuenta que la entrada de solo audio no admite la transmisión de baja latencia de IVS.
Requisitos previos
Siga los pasos de Introducción al streaming de baja latencia de IVS para crear un canal y configurar el streaming. En el proceso, se asignan un ARN (nombre de recurso de Amazon) de canal y una clave de transmisión junto con direcciones URL para incorporar y reproducir una transmisión. Tendrá que relacionar su aplicación de streaming con la URL de incorporación.
Antes de leer este documento, debe estar familiarizado con lo siguiente:
-
Conceptos básicos de Amazon IVS: consulte ¿Qué es el streaming de baja latencia de IVS? y Introducción al streaming de baja latencia de IVS
-
API de Amazon IVS: consulte la Referencia de la API de streaming de baja latencia de IVS.
Reducción de la latencia
La transmisión de baja latencia de Amazon IVS es compatible con la mayoría de las aplicaciones de streaming y solo requiere cambios menores en la configuración de la aplicación de streaming. Para obtener la menor latencia posible, debe utilizar el reproductor de Amazon IVS; no se admiten reproductores de video HLS de terceros. Consulte la documentación del SDK del reproductor de Amazon IVS.
A fin de preparar la aplicación de streaming para la transmisión de baja latencia, haga lo siguiente. (Nota: No todas estas opciones están disponibles en todas las aplicaciones de streaming).
-
En el codificador de video, establezca
IDR/Keyframe
en un intervalo de 2 segundos (o 1 segundo, para una latencia de extremo a extremo aún más baja).IDR/Keyframe
afecta directamente al tiempo del inicio de la transmisión y la latencia de los eventos de EventBridge relacionados (Stream Start y Recording Start). SiIDR/Keyframe
es de 2 segundos, la latencia del inicio de la transmisión será de 6 a 7 segundos aproximadamente. SiIDR/Keyframe
es de 1 segundo, la latencia del inicio de la transmisión será de 3 a 4 segundos aproximadamente. El video estará disponible para los espectadores y para la grabación automática en Amazon S3 solo después del período inicial de latencia de inicio de transmisión.El intervalo de fotogramas clave más corto de 1 segundo tiene algunas desventajas relacionadas con la calidad del servicio. Puede hacer que el streaming de velocidad de bits adaptable (ABR) del reproductor de Amazon IVS cambie de resolución con más frecuencia; el tamaño del segmento es más pequeño, por lo que la comprobación de la ABR se realiza más a menudo. El almacenamiento en búfer puede aumentar debido al aumento del cambio de resolución o si la red del espectador no puede descargar los segmentos con suficiente rapidez. Evalúe estas desventajas al decidir entre un intervalo de fotogramas clave de 1 o 2 segundos.
Evite configurar
IDR/Keyframe
con valores superiores a 5 segundos. La latencia de inicio de la transmisión no solo será mayor que cuando se utilizan 1 o 2 segundos, sino que IVS no podrá garantizar que todos los segmentos generados para la reproducción comiencen con un IDR o un fotograma clave. Los segmentos que no comiencen con un IDR o fotograma clave pueden provocar errores de decodificación o distorsiones visuales cuando los espectadores inicien la reproducción o cambien de representación. -
Si está disponible, configure el codificador para el ajuste de latencia cero dentro de una configuración x264.
-
Asegúrese de que el tamaño del búfer (VBV) no exceda la velocidad de bits promedio (kilobits por segundo) de la transmisión.
Evite los servicios de streaming y reenvío de terceros
Le recomendamos que no utilice un servicio de terceros para retransmitir o reenviar contenido a Amazon IVS. Esto le generará una latencia adicional. Para una latencia baja, transmita directamente a Amazon IVS.
Configuración del codificador
Ingesta de transmisión: códecs y protocolos de ingesta
Codecs: Amazon IVS admite H.264 para video y AAC (LC) para audio.
Protocolos de ingesta: Amazon IVS es compatible con los protocolos de ingesta más populares usados en software y equipos de transmisión: RTMPS (Real-Time Messaging Protocol en una conexión TLS/SSL), RTMP y SRT (Secure Reliable Transport). La transmisión de Amazon IVS mediante RTMPS requiere la versión 1.2 o posterior de TLS.
RTMPS/RTMP
El codificador de video debe conectarse a la incorporación de Amazon IVS a través del protocolo RTMPS asociado al puerto 443/TCP saliente. Para garantizar esto, especifique un servidor de ingesta IVS, que incluya el puerto en la ruta:
rtmps://<IVS-ingest-server>/<IVS-stream-key>
Por ejemplo:
rtmps://a1b2c3d4e5f6.global-contribute.live-video.net:443/app/<IVS-stream-key>
Los canales de IVS también se pueden configurar para permitir la ingesta RTMP no segura, aunque recomendamos usar RTMPS, a menos que tenga casos de uso específicos y verificados que requieran RTMP. Al transmitir RTMP, asegúrese de que el protocolo esté configurado en rtmp://
y elimine el puerto :443
. Por ejemplo:
rtmp://a1b2c3d4e5f6.global-contribute.live-video.net/app/<IVS-stream-key>
SRT
El codificador de video debe conectarse al punto de conexión de la ingesta mediante el protocolo SRT en el puerto 9000. Para garantizar esto, especifique un punto de conexión de ingesta, el cual incluye el puerto y la frase de contraseña en la ruta.
srt://<ingest-endpoint>:<port>?streamid=<stream-key>&passphrase=<passphrase>
Use una frase de contraseña solo si la ingesta insegura no está habilitada para el canal.
Por ejemplo:
srt://a1b2c3d4e5f6.srt.live-video.net:9000?streamid=sk_us-west-2_abcd1234efgh5678ijkl&passphrase=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
Para optimizar el rendimiento de la transmisión SRT, consulte el blog de Haivision: How to Configure SRT Settings on Your Video Encoder for Optimal Performance.
Resolución/Velocidaddebits/FPS
La resolución de la transmisión determina en gran medida su velocidad de bits y velocidad de fotogramas (fotogramas por segundo o FPS). Siga las pautas a continuación; estas son nuestras recomendaciones. Tenga en cuenta que las resoluciones que se muestran a continuación son para una orientación horizontal (horizontal x vertical), así que inviértalas para una orientación vertical.
Calidad aceptable (SD) 480p (852x480) | Buena calidad (HD) 720p (1280x720) | Alta calidad (Full HD) 1080p (1920x1080) | |
---|---|---|---|
Velocidad de bits | Hasta 1500 Kbps | Hasta 4500 Kbps | Hasta 8500 Kbps |
FPS | 30 | 30 o 60 | 30 o 60 |
Intervalo de fotogramas | 2 segundos | 2 segundos | 2 segundos |
La velocidad de bits, los FPS y la resolución están interrelacionados. Los valores óptimos dependen de las circunstancias y su determinación puede ser complicada. Nuestro mejor consejo es comenzar con los valores anteriores y experimentar si así lo desea. El objetivo es un movimiento claro y suave de los componentes de video durante el streaming y una buena resolución dentro del ancho de banda disponible. El aumento de la velocidad de fotogramas o la resolución aumenta la calidad general de video, pero esto está necesariamente limitado por el ancho de banda.
Amazon IVS admite velocidades de fotogramas de hasta 60 FPS (incluidas las velocidades estándar 25 y 50 PAL en Europa). Cuanto mayor sea la velocidad de fotogramas, mejor será la calidad, siempre y cuando haya un ancho de banda de velocidad de bits adecuado. Según la aplicación, una velocidad de fotogramas baja puede estar bien; por ejemplo, para una cámara de seguridad.
Tipos de canales
El tipo de canal determina la resolución y la velocidad de bits permitidas. Si supera la resolución de entrada o la velocidad de bits permitida, es probable que la secuencia se desconecte inmediatamente.
Hay cuatro tipos de canales: STANDARD
, ADVANCED_SD
, ADVANCED_HD
y BASIC
. Cuando crea un canal, el tipo predeterminado es STANDARD
.
Existen dos tipos de procesamiento de video: la transcodificación y la transmutación. Esto lo determina el tipo de canal, si el canal está configurado para entrada de video multipista y si el transmisor utiliza un cliente compatible con la característica multipista. (El video multipista está configurado con la propiedad multitrackInputConfiguration
de la API del tipo de datos Channel).
-
El video en los canales
STANDARD
(sin entrada multipista) yADVANCED
se transcodifica: se generan múltiples cualidades a partir de la entrada original para ofrecer automáticamente a los espectadores la mejor experiencia para sus dispositivos y condiciones de red. La transcodificación permite una mayor calidad de reproducción en un rango de velocidades de descarga. La transcodificación es la mejor opción para los transmisores con una conectividad a Internet de primera milla limitada o con dispositivos con capacidades limitadas (por ejemplo, teléfonos móviles en ves de computadoras de escritorio). -
El video en los canales
STANDARD
(con la entrada multipista habilitada y el uso de un cliente compatible con la multipista) yBASIC
se transmuta: Amazon IVS envía la entrada original a los espectadores. Al igual que con la transcodificación, la entrada multipista transmutada ofrece a los espectadores la mejor experiencia para sus dispositivos y condiciones de red.
Todos los canales transcodificados tienen ajustes prestablecidos de transcodificación, que determinan qué representaciones se producen. Se pueden considerar escaleras de ABR. Permiten equilibrar el ancho de banda de descarga disponible y la calidad de video para optimizar la experiencia de visualización.
-
Los canales
STANDARD
tienen un preajuste de transcodificación predeterminado. -
Los canales
ADVANCED
tienen dos ajustes preestablecidos de transcodificación seleccionables:-
La entrega con restricción de ancho de banda utiliza una tasa de bits más baja que
STANDARD
para cada nivel de calidad. Úsela si tiene un ancho de banda de descarga bajo y/o contenido de video simple (por ejemplo, cabezas que hablan). -
El envío con un ancho de banda mayor utiliza una velocidad de bits más alta para cada nivel de calidad. Úselo si tiene un ancho de banda de descarga elevado o contenido de video complejo (por ejemplo, destellos y cambios rápidos de escena). Esta es la opción predeterminada.
-
Canales STANDARD
Entrada de video de una sola pista
Los canales STANDARD
están transcodificados. La resolución de video más alta producida es Full HD, 1080p. Este es el tipo de canal predeterminado.
Ajustes preestablecidos de transcodificación: hay una escalera predeterminada de transcodificación y preconfiguración.
Audio: en las versiones de 360p o inferiores, el audio se transcodifica. Para otras representaciones se transfiere el audio original.
Resolución de entrada y velocidad de bits máxima | Detalles de la escalera |
---|---|
1080p60 a 8,5 Mbps |
|
1080p30 a 8,5 Mbps |
|
Menos de 1080p60 y más de 720p60, a 8,5 Mbps |
|
Menos de 1080p30 y más de 720p30, a 8,5 Mbps |
|
720p60 a 8,5 Mbps |
|
720p30 a 8,5 Mbps |
|
Menos de 720p30/60 y superior o igual a 480p30/60, a 8,5 Mbps |
|
Entrada de video multipista
Los canales de STANDARD
se transmutan cuando la entrada es de video multipista. La propiedad multitrackInputConfiguration.maximumResolution
limita la resolución de video más alta producida. Las variantes de reproducción específicas son dinámicas según el sistema del transmisor y de los requisitos del entorno.
En todas las variantes de reproducción de video, el audio es de acceso directo desde el origen.
Canales ADVANCED-HD
Los canales ADVANCED-HD
están transcodificados. La resolución de video más alta producida es HD, 720p.
Elementos preestablecidos de transcodificación: hay dos escalas predefinidas de transcodificación seleccionables.
Audio: el audio está transcodificado.
Resolución de entrada y velocidad de bits máxima | Detalles de la escalera |
---|---|
720p60 hasta 1080p60, a 8,5 Mbps |
Preajuste de transcodificación: entrega de mayor ancho de banda (predeterminado):
Preajuste de transcodificación: entrega de ancho de banda limitado:
|
720p30 hasta 1080p30, a 8,5 Mbps |
Preajuste de transcodificación: entrega de mayor ancho de banda (predeterminado):
Preajuste de transcodificación: entrega de ancho de banda limitado:
|
Menos de 720p30/60 y más de 480p30/60, a 8,5 Mbps |
Preajuste de transcodificación: entrega de mayor ancho de banda (predeterminado):
Preajuste de transcodificación: entrega de ancho de banda limitado:
|
480p30/60 a 8,5 Mbps |
Preajuste de transcodificación: entrega de mayor ancho de banda (predeterminado):
Preajuste de transcodificación: entrega de ancho de banda limitado:
|
Canales ADVANCED-SD
Los canales ADVANCED-SD
están transcodificados. Las representaciones disponibles se limitan a la calidad de entrada, sin conversión ascendente.
Elementos preestablecidos de transcodificación: hay dos escalas predefinidas de transcodificación seleccionables.
Audio: el audio está transcodificado.
Resolución de entrada y velocidad de bits máxima | Detalles de la escalera |
---|---|
480p30/60 hasta 1080p30/60, a 8,5 Mbps |
Preajuste de transcodificación: entrega de mayor ancho de banda (predeterminado):
Preajuste de transcodificación: entrega de ancho de banda limitado:
|
Canales BASIC
Los canales BASIC
están transmezclados. Se produce una única representación.
Elementos preestablecidos de transcodificación: NA
Audio: se transmite el audio de origen.
Resolución de entrada y velocidad de bits máxima | Detalles de la escalera |
---|---|
Superior a 480p30/60 e inferior o igual a 1080p30/60, a 3,5 Mbps |
Parámetros de codificación de fuente (sin escalera) |
480p30/60 a 1,5 Mbps |
Parámetros de codificación de fuente (sin escalera) |
Configuración de video
Recomendamos la siguiente configuración. Están disponibles para la mayoría de las API de hardware o software de codificación de video H.264.
-
En el codificador de video, establezca
IDR/Keyframe
en un intervalo de 2 segundos (o 1 segundo, para una latencia de extremo a extremo aún más baja). -
Nivel H.264: Principal
-
Cambio de escena: Desactivado (preferido)
-
Submuestreo de crominancia: YUV420P
-
CABAC: De preferencia
-
ColorSpace: BT.709 (recomendado para obtener la máxima compatibilidad con televisores de alta definición y pantallas de equipos). La transcodificación de video de Amazon IVS admite la transferencia de ColorSpace; los usuarios avanzados pueden utilizar otros videos de ColorSpace y de gama completa.
Configuración de audio
Recomendamos los siguientes ajustes:
-
Códec: AAC (LC)
-
Velocidad de bits: de 96 Kbps a 320 Kbps
-
Rango de muestra: 44,1 Khz o 48 Khz (lo mejor es que concuerde con su flujo de audio de producción)
-
Canales: máximo 2: estéreo (soporte para canales de audio 1: mono o 2: estéreo)
Usar la CBR, no la VBR
Utilice siempre la CBR (velocidad de bits constante), no la VBR (velocidad de bits variable), como método de control de velocidad para los codificadores. La CBR es más adecuada para la naturaleza de ancho de banda fijo de las redes y produce una reproducción de video más predecible y estable para los dispositivos del cliente. Con una velocidad de bits constante, es fácil para los espectadores seleccionar un nivel de calidad que su conexión pueda manejar a lo largo del tiempo.
Según la complejidad de la escena, la VBR puede provocar picos en la velocidad de bits, lo que puede generar la pérdida de fotogramas antes de que el video llegue a Amazon IVS o se almacene en búfer en los reproductores del cliente.
Le recomendamos que solo utilice la CBR. Si usa la VBR, sus transmisiones estarán más sujetas al almacenamiento en búfer y la reproducción no será fluida.
Utilizar señales progresivas
Utilice flujos de señal progresiva; evite cualquier video entrelazado en el flujo de producción o codificación. Las señales de transmisión progresivas producen una calidad de reproducción mucho mejor y muestran un fotograma completo a la vez, lo que evita cualquier artefacto por movimiento que se produce al mostrar una señal entrelazada.
Requisitos de red
Debe tener una conexión a Internet estable que pueda mantener una transmisión de carga constante adecuada. Una conexión a Internet inestable podría provocar interrupciones en la transmisión y retrasos para los espectadores.
Utilice conexiones cableadas. Las conexiones wifi y LTE pueden ser irregulares o tener problemas de interferencia o latencia debido a una mala calidad de servicio o a la priorización de la cola de paquetes. Siempre que sea posible, confíe en una conexión cableada para las transmisiones.
Planifique asignar un 50 % más de ancho de banda que el mínimo requerido. La sobrecarga se agrega para compensar las fluctuaciones de velocidad de bits en la codificación de un flujo de bits de video.
Utilice una VLAN de Internet exclusiva para las máquinas de codificación. Mantener el codificador en una red separada evita efectos potencialmente disruptivos, incluidos la contaminación por tráfico, los cuellos de botella de ancho de banda y los factores de seguridad adversos.
Subtítulos
IVS admite subtítulos. Como streamer, si desea ofrecer subtítulos a su audiencia, debe transmitir datos de subtítulos en un formato aceptado, ya sea integrados en su transmisión o junto con ella, a través del codificador de video.
Amazon IVS acepta subtítulos en el formato CEA-708/EIA-608 en la línea 21 (también denominado 608 sobre 708). Puede transmitir subtítulos mediante uno de los siguientes métodos:
-
CEA-708/EIA-608 integrado en la transmisión elemental de video, como se describe en ATSC A/72 (SEI user_data). Este formato es común entre los codificadores de difusión de televisión.
-
CEA-708/EIA-608 transmitido a través de la etiqueta RTMPS onCaptionInfo script/AMF0. Este formato es común entre los codificadores de difusión de Internet y servidores de medios como Elemental Technologies y Wowza. Los SDK del reproductor de Amazon IVS admiten un idioma; no admiten la reproducción de subtítulos de varias pistas.
Nota: Los SDK de Amazon IVS Player admiten datos de subtítulos únicamente en el campo CC1 NTSC 1. No admiten la reproducción de subtítulos de varias pistas.
Al transmitir a través de RTMPS, la carga debe contener una matriz ECMA con dos pares de elementos:
-
Una cadena llamada
type
que contiene los caracteres708
. -
Una cadena llamada
data
que contiene una carga CEA-708/EIA-608 codificada en base64.
Por ejemplo:
00000000 12 00 00 69 00 00 00 00 00 00 00 02 00 0d 6f 6e |...i..........on| 00000010 43 61 70 74 69 6f 6e 49 6e 66 6f 08 00 00 00 02 |CaptionInfo.....| 00000020 00 04 74 79 70 65 02 00 03 37 30 38 00 04 64 61 |..type...708..da| 00000030 74 61 02 00 3c 74 51 41 78 52 30 45 35 4e 41 4e |ta..<tQAxR0E5NAN| 00000040 4c 41 50 79 55 72 76 79 55 49 50 79 52 51 50 7a |LAPyUrvyUIPyRQPz| 00000050 49 35 66 7a 73 37 50 7a 76 4c 50 77 67 56 50 7a |I5fzs7PzvLPwgVPz| 00000060 33 36 66 7a 30 34 2f 78 6f 67 50 79 55 4c 2f 38 |36fz04/xogPyUL/8| 00000070 3d 00 00 09 00 00 00 74 |=......t|
si utiliza el codificador de video Elemental, configúrelo de la siguiente manera:
-
Establezca la inserción de subtítulo en "capture 608 Field 1".
-
Inserte los subtítulos con onCaptionInfo como la etiqueta RTMPS en el grupo de salida.
Para obtener más información, consulte esta entrada de blog: Adición de subtítulos a una transmisión en directo de Amazon IVS
Transmisión con FFmpeg
FFmpeg es un proyecto gratuito de código abierto que comprende un amplio conjunto de bibliotecas de software para el manejo de video, audio y otros archivos multimedia y transmisiones. Se puede utilizar con muchos sistemas operativos y dispositivos.
Consulte el sitio web de FFmpeg
Después de la instalación, elija un origen de entrada de audio/video para FFmpeg. Puede buscar lo que está disponible de la siguiente manera:
ffmpeg -list_devices true -f dshow -i dummy
.
Para obtener más información, vaya aquí
-
Cámara web: para capturar la salida de la cámara web Logitech C920.
ffmpeg -f dshow -video_size 1920x1080 -framerate 30 -i video="HD Pro Webcam C920":audio="Microphone (HD Pro Webcam C920)" -c:v libx264 -b:v 6000K -maxrate 6000K -pix_fmt yuv420p -r 30 -s 1920x1080 -profile:v main -preset veryfast -g 120 -x264opts "nal-hrd=cbr:no-scenecut” -acodec aac -ab 160k -ar 44100 -f flv rtmps://<IVS-ingest-server>/<IVS-stream-key>
-
Archivo de video: FFmpeg funciona con muchos formatos de archivo de video y tarjetas de captura. A continuación, se muestra un ejemplo de streaming basado en una entrada MP4:
ffmpeg -re -i input.mp4 -c:v libx264 -b:v 6000K -maxrate 6000K -pix_fmt yuv420p -s 1920x1080 -profile:v main -preset veryfast -force_key_frames expr:gte(t,n_forced*2) -x264opts "nal-hrd=cbr:no-scenecut” -acodec aac -ab 160k -ar 44100 -f flv rtmps://<IVS-ingest-server>/app/<IVS-stream-key>
Para obtener más información sobre lo que debe ingresar para <IVS-ingest-server>
y <IVS-stream-key>
, consulte la información acerca de la configuración de software de streaming en directo en Introducción al streaming de baja latencia de IVS. Por ejemplo:
-
Servidor de incorporación:
rtmps://jds34ksdg3las.global-contribute.live-video.net/app/
-
Clave de transmisión:
sk_us-west-2_abcd1234efgh5678ijkl
Toma de control de la transmisión
La toma de control de la transmisión permite a los usuarios reemplazar una transmisión en curso en un canal propio por una nueva transmisión. En este proceso, la transmisión previa nunca se desconecta, sino que se reemplaza por una nueva. Gracias a esto, los usuarios pueden conectarse sin problemas a una nueva transmisión sin tener que esperar a que la transmisión en curso se desconecte por completo.
El proceso de toma de control de la transmisión prolonga una sesión de transmisión en curso, pero no inicia una nueva. Esto mantiene la continuidad de la transmisión sin necesidad de que los espectadores actualicen el reproductor, aunque pueden experimentar un breve estado de almacenamiento en búfer. No hay discontinuidades en las grabaciones de las sesiones de transmisión durante las cuales se lleva a cabo una toma de control de la transmisión.
Para iniciar una toma de control de la transmisión, agregue el parámetro de URL de priority
a la clave de transmisión del usuario. La clave de transmisión se convierte en <IVS-stream-key>?priority=<priority>
, en donde <priority>
es un número entero positivo entre 1 y 2 147 483 647.
La sintaxis de la URI para una toma de control de la transmisión con el protocolo RTMPS es la siguiente:
rtmps://<uri>/<streamkey>?priority=N
En el caso de la ingesta SRT, la sintaxis de la URI para la toma de control de la transmisión es la siguiente:
srt://<uri>?streamid=#!::u=<streamkey>,priority=N&passphrase=foobar
Una toma de control se realiza correctamente si el número entero de prioridad proporcionado para la nueva transmisión es mayor que el número entero de prioridad de la transmisión en curso o si no se estableció ningún número entero de prioridad anterior. Además, la resolución, el códec de video, el códec de audio y el número de pistas de la transmisión anterior y de la nueva deben ser los mismos.
De forma predeterminada, se pueden realizar hasta 100 tomas de control en una sola transmisión, siempre que se utilice un entero de mayor prioridad para cada toma sucesiva. El número máximo de tomas de control de la transmisión se puede ajustar por cuenta de AWS (consulte Service Quotas). Una vez que finaliza la transmisión, el canal no guarda de los números enteros de prioridad anteriores ni del número de tomas de control que se realizaron, por lo que todos los números enteros de prioridad se pueden reutilizar en transmisiones futuras. Además, si se modificó la configuración del codificador para tomar el control de la transmisión, la sesión de transmisión no guarda las configuraciones anteriores del codificador y solo muestra las configuraciones más recientes.
Si la característica de reconexión automática está habilitada, los SDK de transmisión para dispositivos móviles de IVS utilizan la toma de control de la transmisión para reconectarse automáticamente cuando un transmisor cambia de red (por ejemplo, de WiFi a datos móviles). Habilitación de la reconexión automática:
-
En dispositivos iOS, establezca
config.autoReconnect.enabled = true
en el objetoIVSBroadcastConfiguration
. -
En dispositivos Android, establezca
config.autoReconnect.setEnabled(true)
en el objetoBroadcastConfiguration
.
Consideraciones a la hora de utilizar la reconexión automática y la toma de control de la transmisión al mismo tiempo
Cuando los clientes del SDK de transmisión para dispositivos móviles habilitan la reconexión automática tal como se describe anteriormente, el transmisor en curso (transmisor A) intentará volver a conectarse hasta 5 veces después de una interrupción de la red, empezando por priority=1
e incrementando la prioridad con cada intento de reconexión. Este proceso permite que la transmisión se recupere automáticamente en redes inestables al aumentar gradualmente la prioridad cada vez que se vuelve a conectar correctamente.
Sin embargo, debido a la naturaleza incremental del comportamiento de la reconexión automática, resulta difícil para otro transmisor (transmisor B) utilizar correctamente la toma de control de la transmisión cuando el transmisor original utiliza la reconexión automática. El valor de prioridad necesario para garantizar una toma de control exitosa será impredecible, ya que los intentos de reconexión por parte del transmisor A incrementarán el valor de prioridad con cada reintento a lo largo de la transmisión.
Nota: No recomendamos usar la toma de control de la transmisión para anular una transmisión del SDK de transmisión para dispositivos móviles cuando la reconexión automática esté habilitada, ya que tendrá que administrar o mantener un registro de la prioridad requerida para la toma de control. Si bien establecer un valor de prioridad alto puede funcionar al principio, podría plantear problemas si fuera necesaria otra toma de control más adelante. Recomendamos mantener la reconexión automática para el transmisor A durante la inestabilidad de la red y la toma de control de la transmisión por parte del transmisor B como casos de uso distintos.
Streaming con el SDK de transmisión de Amazon IVS
El SDK de transmisión de Amazon IVS está hecho para desarrolladores que crean aplicaciones web, de Android o de iOS con Amazon IVS. Consulte la documentación del SDK de transmisión en la Guía del usuario de Amazon IVS, iniciando aquí. Hay subpáginas con guías para streaming web, de Android o de iOS. Los SDK de transmisión permiten personalizar la velocidad de los bits, de los fotogramas y la resolución.
Comprobación de la transmisión
Verifique siempre que su transmisión funcione.
Diríjase a la transmisión de video en la consola de Amazon IVS