Überblick
Die Verwendung von Brightcove Player zum Autoplay eines Videos beim Laden einer Seite ist kein einfaches Problem. Dies stammt von Browser-Anbietern, die auf die Wünsche der Benutzer reagieren, KEINE Videoautoplay zu haben. In diesem Dokument wird der aktuelle Status der Autoplay-Videos in verschiedenen Browsern und Brightcove Player-Konfigurationen beschrieben, die sich auf das Autoplay auswirken.
Wir haben eine Reihe von Testfällen zur Verfügung.
Fazit
Wenn Sie einfach nur unseren besten Rat wünschen, ohne die Details:
-
Autoplay ohne clientseitige Anzeigen
-
Diese Schritte bieten die beste Chance für eine erfolgreiche automatische Wiedergabe bei Spielern ohne clientseitige Werbung oder mit SSAI:
- Stellen Sie
autoplay
auf"any"
- Auf
playsinline
true
(für iPhones) einstellen
- Stellen Sie
-
Autoplay mit clientseitigen Anzeigen
-
Die Autoplay-Einstellungen hängen von der Version des IMA-Plugins ab, das Sie verwenden, oder davon, ob Sie FreeWheel verwenden.
-
IMA3 (zuletzt)
-
Diese Schritte bieten die besten Voraussetzungen für eine erfolgreiche automatische Wiedergabe in Playern mit client-seitigen Anzeigen (IMA3-Plugin v4):
- Stellen Sie
autoplay
auf"any"
- Auf
playsinline
true
(für iPhones) einstellen - Konfigurieren Sie das Werbe-Plugin über die JSON-Konfiguration des Players. nicht durch Seitenladen oder kundenspezifisches Bündeln
- Stellen Sie
-
IMA3 v3 oder Freilauf
-
Diese Schritte bieten die besten Voraussetzungen für eine erfolgreiche automatische Wiedergabe in Playern mit client-seitigen Anzeigen (IMA3 v3 oder FreeWheel):
- Stellen Sie
autoplay
auftrue
- Auf
playsinline
true
(für iPhones) einstellen - Konfigurieren Sie das Werbe-Plugin über die JSON-Konfiguration des Players. nicht durch Seitenladen oder kundenspezifisches Bündeln
- Stellen Sie
Autoplay konfigurieren
Der Brightcove Player unterstützt fünf mögliche Werte für das Autoplay. In der HTML5-Spezifikation ist Autoplay ein boolesches Attribut - es ist entweder an (true
) oder off (false
). Im Brightcove Player stehen drei Sonderwerte zur Verfügung:
play
: Dies führt dazu, dass der Brightcove Player aufruftplay()
, wenn eine Quelle eingestellt ist.muted
: Dies führt dazu, dass der Brightcove Player den Spieler stumm schalte und anruftplay()
.any
: Dies führt dazu, dass der Brightcove Player anruftplay()
. Wenn das fehlschlägt, wird der Spieler stumm und ruftplay()
erneut an.
Diese drei Werte werden in Tag-Attributen nicht unterstützt!
Priorität
In der folgenden Liste werden alle Möglichkeiten beschrieben, wie das Autoplay konfiguriert werden kann und wie sie im Initialisierungsprozess des Brightcove Players priorisiert werden.
-
Videoelement-Attribut
Nach dem HTML5-Standard kann dies entweder
true
(Attribut existiert) oderfalse
(Attribut existiert nicht) sein.Im Gegensatz zu anderen Eigenschaften, bei denen die Abfrageparam-Werte (Iframes nur in anderen Fällen) gewinnen, gewinnt das Attribut hier, weil es in Video.js gewinnt.
<video-js autoplay controls></video-js>
- URL-Hash oder Abfragezeichenfolge
Im Gegensatz zu den meisten Fällen wird der Parameter für die Autoplay-Abfragezeichenfolge oder der URL-Hash-Parameter aus Gründen der Abwärtskompatibilität für ALLE Arten von Einbettungen respektiert.
Dies sollte für In-Page-Einbettungen in einer zukünftigen Hauptversion entfernt werden.
Die Existenz von Parametern ist äquivalent zu
true
?autoplay&foo=bar
, d.h., aber String-Werte werden unterstützt, z.?autoplay=muted&foo=bar
Sie können die automatische Wiedergabe nicht einstellen
false
über Abfrage / Hash-Parameter! -
videojs()
/bc()
OptionenDie Autoplay-Option kann an die
bc()
Funktion übergeben werden. -
JSON-Konfiguration
Wenn Autoplay in Optionen nicht verfügbar ist, verwenden Sie einen Wert, der aus der JSON-Konfiguration des Spielers übergeben wird.
-
Standardwert
Wenn keine der oben genannten Punkte zutrifft, werden wir standardmäßig auf
false
.
Browsereinstellungen und Richtlinien
Browser sind in den letzten Jahren konsistenter geworden, aber in den folgenden Abschnitten werden die verfügbaren Einstellungen und/oder Richtlinien jedes gängigen Browsers zusammengefasst.
Safari (macOS)
Safari unter macOS hat folgende Einstellungen:
- Alle automatische Wiedergabe zulassen
- Stoppen Sie Medien mit Ton (Standard)
- Nie automatisch abspielen
Darüber hinaus können diese Einstellungen pro Standort geändert werden.
Safari (iOS und iPadOS)
Safari unter iOS und iPadOS verfügen nicht über Autoplay-Einstellungen für Benutzer, implementiert jedoch die folgenden Richtlinien:
- Gedämpftes Autoplay funktioniert immer
- Autoplay mit Sound erfordert Benutzergeste
- Auf dem iPhone ist das
playsinline
Attribut in allen Fällen erforderlich.
Lesen Sie diesen WebKit-Blogbeitrag für weitere Informationen.
Chrom
Chrome verfügt nicht über Autoplay-Einstellungen für Benutzer, implementiert jedoch die folgenden Richtlinien:
- Das gedämpfte Autoplay sollte immer funktionieren - aber das liegt immer am Browser; wir sind auf einige Edge-Fälle gestoßen, in denen dies nicht der Fall ist, aber wir haben keine Kontrolle über sie.
- Autoplay mit Sound erfordert eine Benutzergeste oder einen ausreichend hohen MEI (auf dem Desktop).
Lesen Sie diesen Chrome-Blogbeitrag für weitere Informationen.
Firefox
Firefox hat diese Einstellungen sowohl global als auch pro Website:
- Audio und Video zulassen
- Audio blockieren (Standard)
- Audio und Video blockieren
Kante
Standardmäßig hat Edge folgende Einstellungen:
- ermöglichen (Standard)
- Beschränken
Wenn Sie jedoch zu gehen edge://flags/#edge-autoplay-user-setting-block-option
, kann die Option Autoplay blockieren, die in Edge (Legacy) verfügbar war, wiederhergestellt werden.
Edge (Vermächtnis)
Edge (Legacy) hatte folgende Einstellungen:
- Zulassen
- Beschränken
- Blockieren
Die Option Limit ähnelt anderen Browsern insofern, als sie ein stummgeschaltetes Autoplay oder eine Benutzergeste erfordert.
Bekannte Probleme
In-Page-Quellen und programmatisches Autoplay
Es gibt ein bekanntes Problem bei der Verwendung von In-Page-Quellen (z. B. über ein <source>
Element) und beim Aufrufen play()
.
Dies wurde in Firefox gesehen, kann aber in anderen Browsern vorhanden sein.
Dies ist kein häufiger Anwendungsfall für Brightcove-Kunden. Da Video Cloud-Quellen nach der Player-Erstellung geladen werden, tritt dieses Problem nicht auf.
Stattdessen müssen Sie warten, bis das canplay
Ereignis ausgelöst wird, bevor Sie anrufen play()
. Alternativ autoplay: true
funktioniert die Konfiguration je nach Benutzereinstellungen/-einstellungen wie erwartet.
ima3/Freilauf
Fehlende oder fehlerhafte Prerolls
Wenn Sie versuchen, play()
mit diesen Plugins aufzurufen, gibt es Fälle, in denen das Autoplay fehlschlägt und wenn auf die Wiedergabetaste geklickt wird, wird kein Preroll abgespielt.
Bei FreeWheel gab es auch Berichte über das Spielen von Prerolls hinter die große Wiedergabetaste.
Empfehlung
Wenn Sie diese Plugins verwenden, ist die empfohlene Methode zum Aktivieren von Autoplay:
- Bündeln Sie das Plugin in Ihren Player (z. B. über Studio). Seitenladen (In-Page) wird nicht empfohlen.
- Versuchen Sie nicht, die speziellen Autoplay-Werte zu verwenden. Stellen Sie Autoplay auf
true
und erlauben Sie dem Anzeigen-Plugin, die Wiedergabe zu versuchen, wie es kann.