Considérations sur la lecture automatique

Dans cette rubrique, vous découvrirez les problèmes liés à la lecture automatique d'une vidéo lors du chargement de la page.

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 sur true(pour iPhone)

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 sur true(pour iPhone)
  • Configurer le plugin publicitaire via la configuration JSON du player, ne pas via chargement latéral ou groupage personnalisé

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 sur true(pour iPhone)
  • Configurer le plugin publicitaire via la configuration JSON du player, ne pas via chargement latéral ou groupage personnalisé

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 Player play() lorsqu'une source est définie.
  • muted: Cela amènera le Brightcove Player à couper le son du lecteur et à appeler play().
  • any: Cela entraînera l'appel du Brightcove Player play(). Si cela échoue, le joueur coupe le son et appelle play() 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.

  1. Attribut d'élément vidéo

    Suivant la norme HTML5, cela peut être soit true (l'attribut existe) ou false (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>
  2. 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!

  3. videojs()/bc() Options

    L'option de lecture automatique peut être transmise au bc() fonction.

  4. 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.

  5. 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.