Reducción de la latencia de las transmisiones en vivo

Este tema explica cómo puede reducir la latencia para sus transmisiones en vivo de Brightcove.

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:

  1. Inicie sesión en Studio.
  2. Abre el Administración módulo.
  3. En la barra de navegación izquierda, haga clic en Ingerir perfiles.
  4. Seleccione uno de los perfiles de ingesta en vivo con no más de 4 representaciones.
    Seleccione un perfil en vivo
  5. Haga clic en el enlace para abrir el perfil.
  6. Haga clic en Duplicar para crear un nuevo perfil basado en el seleccionado.
  7. En el nuevo perfil, cambie el name a "Perfil de baja latencia" (u otro nombre significativo).
  8. para cada uno de los renditions , cambiar el segment_seconds a 2 para reducir la duración de los segmentos a 2 segundos.
  9. 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": []
    }
  10. Para usar el perfil, selecciónelo al crear un nuevo evento en vivo en el módulo en vivo.
    Crear evento 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