Resumen
Usar Brightcove Player para reproducir automáticamente un video cuando se carga una página no es un problema simple. Esto se debe a que los proveedores de navegadores responden a los deseos de los usuarios de que NO se reproduzcan automáticamente los videos. Este documento detallará el estado actual de la reproducción automática de videos en varios navegadores y configuraciones de Brightcove Player que afectan la reproducción automática.
Tenemos un conjunto de casos de prueba disponibles.
Línea de fondo
Si solo desea nuestro mejor consejo, sin los detalles:
-
Reproducción automática sin anuncios del lado del cliente
-
Estos pasos brindarán la mejor oportunidad para una reproducción automática exitosa en reproductores sin anuncios del lado del cliente o con SSAI:
- Colocar
autoplay
a"any"
-
playsinline
Establecer entrue
(para iPhones)
- Colocar
-
Reproducción automática con anuncios del lado del cliente
-
La configuración de reproducción automática varía según la versión del complemento IMA que esté utilizando o si está utilizando FreeWheel.
-
IMA3 (más reciente)
-
Estos pasos brindarán la mejor oportunidad para una reproducción automática exitosa en reproductores con anuncios del lado del cliente (complemento IMA3 v4):
- Colocar
autoplay
a"any"
-
playsinline
Establecer entrue
(para iPhones) - Configure el complemento publicitario a través de la configuración JSON del reproductor, no mediante carga lateral o agrupación personalizada
- Colocar
-
IMA3 v3 o rueda libre
-
Estos pasos brindarán la mejor oportunidad para una reproducción automática exitosa en reproductores con anuncios del lado del cliente (IMA3 v3 o FreeWheel):
- Colocar
autoplay
atrue
-
playsinline
Establecer entrue
(para iPhones) - Configure el complemento publicitario a través de la configuración JSON del reproductor, no mediante carga lateral o agrupación personalizada
- Colocar
Configuración de reproducción automática
Brightcove Player admite cinco valores posibles para la reproducción automática. En la especificación HTML5, la reproducción automática es un atributo booleano: se identifica en (true
) o apagado (false
). En Brightcove Player, tenemos tres valores especiales disponibles:
play
: Esto hará que Brightcove Player llameplay()
cuando se establece una fuente.muted
: Esto hará que Brightcove Player silencie al reproductor y llameplay()
.any
: Esto hará que Brightcove Player llameplay()
. Si eso falla, silenciará al jugador y llamaráplay()
de nuevo.
¡Estos tres valores no son compatibles con los atributos de etiqueta!
Prioridad
La siguiente lista describe todas las formas en que se puede configurar la reproducción automática y cómo se priorizan en el proceso de inicialización de Brightcove Player.
-
Atributo del elemento de video
Siguiendo el estándar HTML5, esto puede ser
true
(el atributo existe) ofalse
(el atributo no existe).A diferencia de otras propiedades donde los valores de los parámetros de consulta (iframes solo en otros casos) ganan, el atributo gana aquí porque gana en Video.js.
<video-js autoplay controls></video-js>
- Hash de URL o cadena de consulta
A diferencia de la mayoría de los casos, el parámetro de cadena de consulta de reproducción automática o el parámetro hash de URL se respetan para TODOS los tipos de incrustaciones por razones de compatibilidad con versiones anteriores.
Esto debería eliminarse para las incrustaciones en la página en una versión principal futura.
La existencia de un parámetro es equivalente a
true
, es decir?autoplay&foo=bar
, pero se admiten valores de cadena, p. ej.?autoplay=muted&foo=bar
No puede configurar la reproducción automática en
false
a través de query / hash param! -
videojs()
/bc()
OpcionesLa opción de reproducción automática se puede pasar al
bc()
función. -
Configuración JSON
Si la reproducción automática no está disponible en las opciones, use cualquier valor pasado de la configuración JSON del reproductor.
-
Defecto
Por último, si no se aplica nada de lo anterior, de forma predeterminada
false
.
Configuración y políticas del navegador
Los navegadores se han vuelto más consistentes en los últimos años, pero las siguientes secciones resumen las configuraciones y / o políticas disponibles de cada navegador principal.
Safari (macOS)
Safari en macOS tiene estas configuraciones:
- Permitir todo el juego automático
- Detener los medios con sonido (defecto)
- Nunca Auto-Play
Además, esta configuración se puede cambiar por sitio.
Safari (iOS y iPadOS)
Safari en iOS y iPadOS no tiene configuraciones de reproducción automática de cara al usuario, pero implementa las siguientes políticas:
- La reproducción automática silenciada siempre funcionará
- La reproducción automática con sonido requiere un gesto del usuario
- En iPhone, el
playsinline
El atributo es obligatorio en todos los casos.
Leer esta publicación de blog de WebKit para más detalles.
Cromar
Chrome no tiene una configuración de reproducción automática para el usuario, pero implementa las siguientes políticas:
- La reproducción automática silenciada siempre debería funcionar, pero eso es siempre hasta el navegador; nos hemos encontrado con algunos casos extremos en los que no es así, pero no tenemos control sobre ellos.
- La reproducción automática con sonido requiere un gesto del usuario o un MEI lo suficientemente alto (en el escritorio).
Leer esta publicación de blog de Chrome para más detalles.
Firefox
Firefox tiene estas configuraciones tanto a nivel mundial como por sitio web:
- Permitir audio y video
- Bloquear audio (defecto)
- Bloquear audio y video
Borde
Por defecto, Edge tiene estas configuraciones:
- Permitir (defecto)
- Límite
Sin embargo, yendo a edge://flags/#edge-autoplay-user-setting-block-option
, se puede restaurar la opción para bloquear la reproducción automática que estaba disponible en Edge (Legacy).
Edge (heredado)
Edge (Legacy) tenía estas configuraciones:
- Permitir
- Límite
- Cuadra
La opción Límite es similar a otros navegadores en que requiere reproducción automática silenciada o un gesto del usuario.
Problemas conocidos
Fuentes en la página y reproducción automática programática
Hay un problema conocido al usar fuentes en la página (por ejemplo, a través de un <source>
elemento) y llamando play()
.
Esto se ha visto en Firefox, pero puede estar presente en otros navegadores.
Este no es un caso de uso común para los clientes de Brightcove. Debido a que las fuentes de Video Cloud se cargan después de la creación del reproductor, este problema no ocurre.
En su lugar, debe esperar a que canplay
evento para disparar antes de llamar play()
. Alternativamente, configurando autoplay: true
funcionará como se esperaba, dependiendo de la configuración / preferencias del usuario.
IMA3 / FreeWheel
Prerolls faltantes o defectuosos
Si intenta llamar play()
con estos complementos, hay casos en los que la reproducción automática fallará y, cuando se hace clic en el botón de reproducción, no se reproducirá ningún preroll.
Con FreeWheel, también ha habido informes de prerolls jugando detrás el gran botón de reproducción.
Recomendación
Al usar estos complementos, el método recomendado para habilitar la reproducción automática es:
- Agrupe el complemento en su reproductor (por ejemplo, a través de Studio). No se recomienda la carga lateral (in-page).
- No intente utilizar los valores especiales de reproducción automática. Establecer reproducción automática en
true
y permitir que el complemento publicitario intente reproducirse como sea posible.