Bestimmen, welche Wiedergabe abgespielt wird

Dieses Thema enthält Informationen darüber, wie der Brightcove-Player bestimmt, welche Wiedergabeversion wiedergegeben werden soll.

HLS oder MP4?

Wenn Sie den neuen Brightcove Player verwenden, empfehlen wir Ihnen, ein Aufnahmeprofil auszuwählen oder zu erstellen, das sowohl HLS- als auch MP4-Wiedergaben enthält, um die meisten Geräte und Browser zu erreichen. Diese Tabelle zeigt, wie der Player zur Laufzeit bestimmt, welche Wiedergabe in einem bestimmten Browser abgespielt wird.

Browsertyp Standardmäßig verwendete Wiedergabetechnologie
Desktop Chrome 34+, Desktop Firefox 42+, Edge und Chrome 34+ unter Android 5.0+ HTML-basiertes HLS (mit MSE)
Desktop (macOS) Safari, Mobile (iOS) Safari Natives HLS (vom Browser implementiert)
Älterer Firefox und Chrome Flash-basiertes HLS; erfordert Flash 10.3+ (wird auf MP4 zurückgreifen, wenn Flash deaktiviert ist)
IE 11 unter Windows 8.1+ HTML-basiertes HLS (mit MSE)

Auswahl der HLS- und DASH-Wiedergabe

HLS und STRICH Video ist in Segmente unterteilt. Diese dauern normalerweise etwa 10 Sekunden, können jedoch länger oder kürzer sein. Wenn die Bandbreite und Auflösung bekannt sind, wählt der Player die Wiedergabe anhand dieser Kriterien aus. Wenn die Auflösung oder Bandbreite unbekannt ist (z. B. beim Erstellen eines Players mit display:none startet der Player mit der Wiedergabe, die 0,5 MB / s am nächsten kommt (entspricht 4000 kbs). An Segmentgrenzen wird zu einer höheren oder niedrigeren Wiedergabe gewechselt, die im folgenden Text und in den folgenden Bildern beschrieben wird.

Sowohl HLS als auch DASH versuchen, angesichts der verfügbaren Bandbreite und Codierungen unter Berücksichtigung der Player-Größe ein möglichst hochwertiges Seherlebnis zu gewährleisten. Dies bedeutet nicht immer, die verfügbare Formatvariante mit der höchsten Bitrate zu verwenden. Wenn der Player beispielsweise 300 x 150 Pixel groß ist, wäre es eine Verschwendung von Bandbreite, einen 4k-Stream herunterzuladen.

Standardmäßig versucht der Player, die Variante mit der höchsten Bitrate zu laden, die kleiner als die zuletzt erkannte Segmentbandbreite ist, unter einer Bedingung: Wenn es mehrere Varianten mit Dimensionen gibt, die größer als die aktuelle Spielergröße sind, wechselt er nur eine Größe größer als die aktuelle Spielergröße.

Während der Wiedergabe wechselt der Player basierend auf dem folgenden Algorithmus zu einer höheren oder niedrigeren Wiedergabe. Eingaben für diesen Algorithmus sind:

  • Verfügbare Bandbreite
  • Spieler-Maße

Übersicht über den Algorithmus auf hoher Ebene

  1. Entfernen Sie alle Wiedergaben, deren Bitrate höher als die gemessene Bandbreite ist.
  2. Sortieren Sie die verbleibenden Wiedergaben nach Auflösung (horizontale Zeilenzahl) von hoch nach niedrig.
  3. Zeigen Sie auf diejenige, die den Abmessungen des Spielers am nächsten liegt.
  4. Wählen Sie diejenige, die höher ist als diese.

Der Prozess ist unten dargestellt:

  1. Jedes Mal, wenn ein neues Segment heruntergeladen wird, wird die Download-Bitrate basierend auf der Größe des Segments und der Zeit berechnet, die zum Herunterladen benötigt wurde:
    HLS-Wiedergabe1
  2. Alle Wiedergaben, die eine höhere Bitrate als die neue Messung haben, werden herausgefiltert:
    HLS-Wiedergabe2
  3. Alle Wiedergaben, die größer als die Abmessungen des aktuellen Spielers sind, werden herausgefiltert:
    HLS-Wiedergabe3
  4. Ein signifikanter Qualitätsverlust ist nicht erwünscht, nur weil Ihr Player ein Pixel zu klein ist. Deshalb fügen wir die nächsthöhere Auflösung hinzu. Die höchste verbleibende Bitratenwiedergabe wird verwendet:
    HLS-Wiedergabe4

Wenn sich herausstellt, dass aufgrund der oben beschriebenen Filterung keine Wiedergabe akzeptabel ist, wird die erste in der Master-Wiedergabeliste aufgeführte Codierung verwendet.

Wenn Sie möchten, dass Ihr Player andere Prioritäten verwendet, können Sie die Wiedergabeauswahllogik vollständig ersetzen. Zum Beispiel können Sie immer die am besten geeignete Wiedergabe nach Auflösung auswählen, obwohl dies möglicherweise mehr Verzögerungen während der Wiedergabe bedeutet. Siehe die Dokumentation zu player.hls.selectPlaylist für mehr Details.

Auswahl der MP4-Formatvariante

Wenn Sie auf einem mobilen Gerät laufen und einen MP4 abspielen (basierend auf den oben aufgeführten Regeln), wählt der Player den MP4 mit einer Bitrate von höchstens 0,5 MB / s. Wenn Sie sich auf einem Desktop- oder Laptop-Gerät befinden, wird eines ausgewählt, das 3 MB / s am nächsten kommt.

Auswahl der Audiospur

Das Manifest bestimmt, welche Audiospur geladen werden soll, je nachdem, welche Videospur ausgewählt wurde.

Beispiel

Wiedergabeliste-1.m3u8

#EXTM3U

  #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,URI="audio/stereo/en/128kbit.m3u8"
  #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="dubbing",NAME="Dubbing",DEFAULT=NO,AUTOSELECT=YES,URI="audio/stereo/none/128kbit.m3u8"
  
  #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="surround",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,URI="audio/surround/en/320kbit.m3u8"
  #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="surround",LANGUAGE="dubbing",NAME="Dubbing",DEFAULT=NO,AUTOSELECT=YES,URI="audio/stereo/none/128kbit.m3u8"
  
  #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Deutsch",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="de",URI="subtitles_de.m3u8"
  #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="en",URI="subtitles_en.m3u8"
  #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Espanol",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="es",URI="subtitles_es.m3u8"
  #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Français",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="fr",URI="subtitles_fr.m3u8"
  
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=258157,CODECS="avc1.4d400d,mp4a.40.2",AUDIO="stereo",RESOLUTION=422x180,SUBTITLES="subs"
  video/250kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=520929,CODECS="avc1.4d4015,mp4a.40.2",AUDIO="stereo",RESOLUTION=638x272,SUBTITLES="subs"
  video/500kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=831270,CODECS="avc1.4d4015,mp4a.40.2",AUDIO="stereo",RESOLUTION=638x272,SUBTITLES="subs"
  video/800kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1144430,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="surround",RESOLUTION=958x408,SUBTITLES="subs"
  video/1100kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1558322,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="surround",RESOLUTION=1277x554,SUBTITLES="subs"
  video/1500kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=4149264,CODECS="avc1.4d4028,mp4a.40.2",AUDIO="surround",RESOLUTION=1921x818,SUBTITLES="subs"
  video/4000kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=6214307,CODECS="avc1.4d4028,mp4a.40.2",AUDIO="surround",RESOLUTION=1921x818,SUBTITLES="subs"
  video/6000kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=10285391,CODECS="avc1.4d4033,mp4a.40.2",AUDIO="surround",RESOLUTION=4096x1744,SUBTITLES="subs"
  video/10000kbit.m3u8

Im obigen Beispiel gibt es zwei Audiogruppen: Stereo und umgeben. Es gibt auch 6 Videoauflösungen in 8 Bitraten:

  • Die 3 niedrigeren Bitraten verwenden die Stereo Audiogruppe
  • Die 5 höheren Bitraten verwenden die umgeben Audiogruppe

Die beiden Audiogruppen haben zwei Streams mit unterschiedlicher Sprache und Namen. Wenn dies vorhanden ist, wird es als alternative Audiospur in einem Menü des Players angezeigt.

Anmerkungen

  • HLS erlaubt keine Anpassung von Audiostreams in einem demuxierten Audioszenario. Wenn Sie also unterschiedliche Audiogruppen oder alternative Audiodaten wie im obigen Beispiel haben, ist es nicht möglich, mehrere Qualitätswiedergaben der Stereo- oder Surround-Spuren anzugeben.

    Wenn es sich bei der Wiedergabeliste jedoch nur um Audio handelt, ist dies möglich, wenn das Audio über die reguläre Wiedergabeliste bereitgestellt wird EXT-X-STREAM-INF Etikett.

  • Für DASH können Sie adaptives Audio verwenden, die Anpassung wird derzeit jedoch nicht unterstützt, es sei denn, es handelt sich um ein reines Audio-Manifest. Wir wählen eine einzelne Wiedergabe, die der Videowiedergabe zugeordnet ist. Dies ist die erste Audio-Wiedergabe, die wir finden.