Reducción de la latencia de las transmisiones en vivo
Introducción
La latencia es el lapso de tiempo entre el momento en que se graba algo en la vida real y el momento en que se ve en un reproductor de video. Por supuesto, se requiere algo de tiempo real para transmitir una señal desde la fuente a través de Internet a un reproductor de espectadores. La latencia se ve agravada por el hecho de que el video en línea se transmite en fragmentos discretos, llamados segmentos.
La latencia se puede reducir acortando la duración de los segmentos de video, y las siguientes secciones detallarán cómo puede hacerlo.
Sin embargo, tenga en cuenta que hay una compensación: para asegurar una reproducción ininterrumpida, el reproductor descarga algunos segmentos de video antes de la posición de reproducción actual (esto se llama almacenamiento en búfer), para que estén listos cuando sea necesario.
Si acorta la longitud de los segmentos, tenga en cuenta lo siguiente:
- El reproductor buscará previamente menos datos de video y aumentarán las posibilidades de pausar la reproducción mientras el reproductor almacena en búfer segmentos adicionales.
- La CDN del cliente verá un aumento en el tráfico de solicitudes
Requisitos
Las siguientes versiones del reproductor admiten HLS de baja latencia con transmisiones en vivo:
- Brightcove Player (web) versión 6.62.0 y más reciente
- SDK nativo para iOS, versión 6.10.3 y posteriores
- SDK nativo para la versión de Android 7.0.1 y más reciente
Creación de perfil en vivo de latencia reducida
Para reducir la latencia, deberá crear un perfil en vivo personalizado. Siga los pasos a continuación:
- Inicie sesión en Studio.
- Abre el Administración módulo.
- En la barra de navegación izquierda, haga clic en Ingerir perfiles.
- Seleccione uno de los perfiles de ingesta en vivo con no más de 4 representaciones.
- Haga clic en el enlace para abrir el perfil.
- Haga clic en para crear un nuevo perfil basado en el seleccionado.
- En el nuevo perfil, cambie el
name
a "Perfil de baja latencia" (u otro nombre significativo). - para cada uno de los
renditions
, cambiar elsegment_seconds
a2
para reducir la duración de los segmentos a 2 segundos. - El perfil debería ser similar a esto:
{ "model_version": 1, "name": "Low Latency Profile", "description": "Deliver high-quality renditions to maximize quality for desktop and OTT.", "account_id": "57838016001", "renditions": [ { "media_type": "video", "format": "ts", "segment_seconds": 2, "label": "hls1080p", "live_stream": true, "video_codec": "h264", "video_bitrate": 4000, "keyframe_interval": 60, "width": 1920, "height": 1080, "h264_profile": "high" }, { "media_type": "video", "format": "ts", "segment_seconds": 2, "label": "hls720p", "live_stream": true, "video_codec": "h264", "video_bitrate": 2400, "keyframe_interval": 60, "width": 1280, "height": 720, "h264_profile": "high" }, { "media_type": "video", "format": "ts", "segment_seconds": 2, "label": "hls540p", "live_stream": true, "video_codec": "h264", "video_bitrate": 1700, "keyframe_interval": 60, "width": 960, "height": 540, "h264_profile": "main" }, { "media_type": "video", "format": "ts", "segment_seconds": 2, "label": "hls360p", "live_stream": true, "video_codec": "h264", "video_bitrate": 900, "keyframe_interval": 60, "width": 640, "height": 360, "h264_profile": "main" } ], "packages": [] }
- Para usar el perfil, selecciónelo al crear un nuevo evento en vivo en el módulo en vivo.
Usando la API en vivo
Si quieres una latencia reducida y utilizas la Live API para crear tus trabajos en vivo, simplemente crea el trabajo como lo haces normalmente, pero no incluye más de 4 copias y establece segment_seconds
para cada copia a 2
. Asegúrese de observar las limitaciones enumeradas para esta función.
Limitaciones
Las siguientes limitaciones NO son compatibles con transmisiones en vivo que usan latencia reducida:
- SSAI
- DRM
- Pistas de audio en varios idiomas
- Redundancia
- Cuadros B en la entrada
Las limitaciones adicionales incluyen:
- La ventana del DVR debe ser menor que 5 minutos
- No más que 4 interpretaciones
- Baja latencia Live solo ofrece 30 fps