Aperçu
L'utilisation de Brightcove Player pour lire automatiquement une vidéo lorsqu'une page se charge n'est pas un problème simple. Cela découle du fait que les fournisseurs de navigateurs répondent aux souhaits des utilisateurs de NE PAS avoir de lecture automatique de vidéos. Ce document décrit en détail l'état actuel de la lecture automatique des vidéos dans divers navigateurs et configurations Brightcove Player qui affectent la lecture automatique.
Nous avons un ensemble de cas de test disponibles.
Ligne de fond
Si vous voulez juste nos meilleurs conseils, sans les détails :
-
Lecture automatique sans publicités côté client
-
Ces étapes offriront la meilleure chance de réussir la lecture automatique chez les joueurs sans publicités côté client ou avec SSAI :
- Ensemble
autoplay
à"any"
- Définissez
playsinline
surtrue
(pour iPhone)
- Ensemble
-
Lecture automatique avec les annonces côté client
-
Les paramètres de l'Autoplay varient en fonction de la version du plugin IMA que vous utilisez, ou si vous utilisez FreeWheel.
-
IMA3 (dernière version)
-
Ces étapes offrent les meilleures chances de réussite de la lecture automatique dans les lecteurs avec publicités côté client (plugin IMA3 v4) :
- Ensemble
autoplay
à"any"
- Définissez
playsinline
surtrue
(pour iPhone) - Configurer le plugin publicitaire via la configuration JSON du player, ne pas via chargement latéral ou groupage personnalisé
- Ensemble
-
IMA3 v3 ou FreeWheel
-
Ces étapes offrent les meilleures chances de réussite de la lecture automatique dans les lecteurs avec des publicités côté client (IMA3 v3 ou FreeWheel) :
- Ensemble
autoplay
àtrue
- Définissez
playsinline
surtrue
(pour iPhone) - Configurer le plugin publicitaire via la configuration JSON du player, ne pas via chargement latéral ou groupage personnalisé
- Ensemble
Configuration de la lecture automatique
Le lecteur Brightcove prend en charge cinq valeurs possibles pour la lecture automatique. Dans la spécification HTML5, la lecture automatique est un attribut booléen - il identifie soit sur (true
) ou désactivé (false
). Dans le Brightcove Player, nous avons trois valeurs spéciales disponibles :
play
: Cela entraînera l'appel du Brightcove Playerplay()
lorsqu'une source est définie.muted
: Cela amènera le Brightcove Player à couper le son du lecteur et à appelerplay()
.any
: Cela entraînera l'appel du Brightcove Playerplay()
. Si cela échoue, le joueur coupe le son et appelleplay()
encore.
Ces trois valeurs ne sont pas prises en charge dans les attributs de balise!
Priorité
La liste suivante décrit toutes les façons dont la lecture automatique peut être configurée et comment elles sont classées par ordre de priorité dans le processus d'initialisation de Brightcove Player.
-
Attribut d'élément vidéo
Suivant la norme HTML5, cela peut être soit
true
(l'attribut existe) oufalse
(l'attribut n'existe pas).Contrairement aux autres propriétés où les valeurs de param de requête (iframes uniquement dans d'autres cas) gagnent, l'attribut gagne ici car il gagne dans Video.js.
<video-js autoplay controls></video-js>
- Hash d'URL ou chaîne de requête
Contrairement à la plupart des cas, le paramètre de chaîne de requête de lecture automatique ou le paramètre de hachage URL est respecté pour TOUS les types d'embeds pour des raisons de compatibilité ascendante.
Cela devrait être supprimé pour les incorporations dans la page dans une future version majeure.
L'existence du paramètre équivaut à
true
, c'est à dire?autoplay&foo=bar
, mais les valeurs de chaîne sont prises en charge, par exemple?autoplay=muted&foo=bar
Vous ne pouvez pas définir la lecture automatique sur
false
via requête / paramètre de hachage! -
videojs()
/bc()
OptionsL'option de lecture automatique peut être transmise au
bc()
fonction. -
Configuration JSON
Si la lecture automatique n'est pas disponible dans les options, utilisez n'importe quelle valeur transmise à partir de la configuration JSON du lecteur.
-
Défaut
Enfin, si aucune des conditions ci-dessus ne s'applique, nous utilisons par défaut
false
.
Paramètres et stratégies du navigateur
Les navigateurs sont devenus plus cohérents ces dernières années, mais les sections suivantes résument les paramètres et/ou politiques disponibles de chaque navigateur majeur.
Safari (macOS)
Safari sur macOS a les paramètres suivants :
- Autoriser tous les jeux automatiques
- Arrêter les médias avec le son (défaut)
- Ne jamais jouer automatiquement
En outre, ces paramètres peuvent être modifiés sur une base par site.
Safari (iOS et iPadOS)
Safari sur iOS et iPadOS n'a pas de paramètres de lecture automatique face à l'utilisateur, mais implémente les stratégies suivantes :
- La lecture automatique en sourdine fonctionnera toujours
- La lecture automatique avec son nécessite un geste de l'utilisateur
- Sur iPhone, le
playsinline
l'attribut est obligatoire dans tous les cas.
Lis cet article de blog WebKit pour plus de détails.
Chrome
Chrome ne dispose pas de paramètres de lecture automatique orientés vers l'utilisateur, mais implémente les stratégies suivantes :
- La lecture automatique en sourdine devrait toujours fonctionner - mais c'est toujours jusqu'au navigateur ; nous avons rencontré quelques cas limites où ce n'est pas le cas, mais nous n'avons aucun contrôle sur eux.
- La lecture automatique avec son nécessite un geste de l'utilisateur ou un MEI suffisamment élevé (sur le bureau).
Lis cet article de blog Chrome pour plus de détails.
Firefox
Firefox a ces paramètres à la fois globalement et par site Web :
- Autoriser l'audio et la vidéo
- Bloquer l'audio (défaut)
- Bloquer l'audio et la vidéo
Edge
Par défaut, Edge dispose des paramètres suivants :
- Autoriser (défaut)
- Limite
Cependant, en allant à edge://flags/#edge-autoplay-user-setting-block-option
, l'option Bloquer la lecture automatique qui était disponible dans Edge (hérité) peut être restaurée.
Edge (hérité)
Edge (Legacy) avait les paramètres suivants :
- Autoriser
- Limite
- Bloc
L'option Limiter est similaire aux autres navigateurs en ce sens qu'elle nécessite une lecture automatique sourde ou un geste de l'utilisateur.
Problèmes connus
Sources en page et lecture automatique programmatique
Il existe un problème connu lors de l'utilisation de sources internes à la page (par exemple via un <source>
élément) et des appels play()
.
Cela a été vu dans Firefox, mais il peut être présent dans d'autres navigateurs.
Ce n'est pas un cas d'utilisation courant pour les clients Brightcove. Étant donné que les sources Video Cloud sont chargées après la création du lecteur, ce problème ne se produit pas.
Au lieu de cela, vous devez attendre le canplay
événement à déclencher avant d'appeler play()
. Vous pouvez également configurer autoplay: true
fonctionnera comme prévu, selon les paramètres / préférences de l'utilisateur.
IMA3/Roue libre
Prérols manquants ou défectueux
Si vous essayez d'appeler play()
avec ces plugins, il y a des cas où la lecture automatique échoue et, lorsque le bouton de lecture est cliqué, aucun preroll ne sera lu.
Avec FreeWheel, il y a également eu des rapports de pré-rolls jouant derrière le gros bouton de lecture.
Recommandation
Lors de l'utilisation de ces plugins, la méthode recommandée pour activer la lecture automatique est la suivante :
- Regroupez le plugin dans votre lecteur (par exemple via Studio). Le chargement latéral (encart) n'est pas recommandé.
- N'essayez pas d'utiliser les valeurs de lecture automatique spéciales. Définir la lecture automatique sur
true
et autorisez le plugin publicitaire à tenter la lecture comme il le peut.