Reduzieren der Latenz für Livestreams

In diesem Thema wird erläutert, wie Sie die Latenz für Ihre Brightcove Live-Streams reduzieren können.

Einleitung

Latenz ist die Zeitverzögerung zwischen der Aufnahme im wirklichen Leben und der Wiedergabe in einem Videoplayer. Es ist natürlich etwas Echtzeit erforderlich, um ein Signal von der Quelle über das Internet an einen Spieler des Zuschauers zu übertragen. Die Latenz wird dadurch verschlimmert, dass Online-Videos in diskreten Teilen, sogenannten Segmenten, übertragen werden.

Die Latenz kann reduziert werden, indem die Länge der Videosegmente verkürzt wird. In den folgenden Abschnitten wird beschrieben, wie Sie dies tun können.

Beachten Sie jedoch, dass es einen Kompromiss gibt: Um eine unterbrechungsfreie Wiedergabe zu gewährleisten, lädt der Player einige Videosegmente vor der aktuellen Wiedergabeposition herunter (dies wird als Pufferung bezeichnet), damit sie bei Bedarf bereit sind.

Wenn Sie die Länge der Segmente verkürzen, sollten Sie Folgendes beachten:

  • Der Player wird weniger Videodaten im Voraus abrufen, und die Wahrscheinlichkeit, dass die Wiedergabe pausiert, während der Player zusätzliche Segmente puffert, wird erhöht
  • Das CDN des Kunden wird einen erhöhten Anfrageverkehr verzeichnen

Voraussetzungen

Die folgenden Player-Versionen unterstützen Low Latency HLS mit Live-Streams:

  • Brightcove Player (Web) Version 6.62.0 und neuer
  • Natives SDK für iOS Version 6.10.3 und neuer
  • Natives SDK für Android Version 7.0.1 und neuer

Erstellen eines Live-Profils mit reduzierter Latenz

Um die Latenz zu reduzieren, müssen Sie ein benutzerdefiniertes Live-Profil erstellen. Folgen Sie den unteren Schritten:

  1. Anmeldung im Studio.
  2. Öffnen Sie das Admin-Modul.
  3. Klicken Sie in der linken Navigation auf Ingest-Profile.
  4. Wählen Sie eines der Live-Ingest-Profile mit maximal 4 Wiedergabeversionen.
    Wählen Sie ein Live-Profil
  5. Klicken Sie auf den Link, um das Profil zu öffnen.
  6. Klicken Sie auf Duplizieren, um ein neues Profil auf der Grundlage des ausgewählten Profils zu erstellen.
  7. Ändern Sie im neuen Profil das name in „Low Latency Profile“ (oder einen anderen aussagekräftigen Namen).
  8. Für jeden der renditions , ändere das segment_seconds Zu 2 um die Länge der Segmente auf 2 Sekunden zu reduzieren.
  9. Das Profil sollte in etwa so aussehen:
    {
      "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. Um das Profil zu verwenden, wählen Sie es bei der Erstellung eines neuen Live-Events im Live-Modul aus.
    Live-Event erstellen

Verwenden der Live-API

Wenn Sie eine geringere Latenz wünschen und die Live-API verwenden, um Ihre Live-Jobs zu erstellen, erstellen Sie den Job einfach wie gewohnt, fügen Sie jedoch nicht mehr als 4 Wiedergabeversionen hinzu und setzen Sie segment_seconds für jede Wiedergabeversion auf 2. Achten Sie darauf, dass Sie die aufgeführten Einschränkungen für diese Funktion beachten.

Einschränkungen

Die folgenden Einschränkungen werden bei Live-Streams mit reduzierter Latenzzeit NICHT unterstützt:

  • SSAI
  • DRM
  • Mehrsprachige Audiospuren
  • Redundanz
  • B-Frames am Eingang

Weitere Einschränkungen sind:

  • Das DVR-Fenster muss kleiner sein als 5 Minuten
  • Nicht mehr als 4 Wiedergaben
  • Live mit niedriger Latenz bietet nur 30fps