Pasé bastante tiempo tratando de averiguar por qué el vídeo incrustado como aquí:
<video height="256" loop autoplay muted controls id="vid">
<source type="video/mp4" src="video_file.mp4"></source>
<source type="video/ogg" src="video_file.ogg"></source>
</video>
comienza a reproducirse automáticamente una vez cargada la página en FireFox pero no puede hacer la reproducción automática en los navegadores basados en Webkit. Esto sólo ocurrió en algunas páginas al azar. Hasta ahora no he podido encontrar la causa. Sospecho que algunas etiquetas no cerradas o un extenso JS creado por los editores del CMS.
La mejor solución que pude conseguir fue añadir este código justo después del </video>
.
<script>
document.getElementById('vid').play();
</script>
...no es bonito pero de alguna manera funciona.
ACTUALIZACIÓN Últimamente muchos navegadores sólo pueden reproducir automáticamente los vídeos con el sonido desactivado, por lo que también tendrás que añadir el atributo "silenciado" a la etiqueta de vídeo
<video autoplay muted>
...
</video>
Acabo de conseguir ahora el mismo problema con mi vídeo
<video preload="none" autoplay="autoplay" loop="loop">
<source src="Home_Teaser.mp4" type="video/mp4">
<source src="Home_Teaser" type="video/webm">
<source src="Home_Teaser.ogv" type="video/ogg">
</video>
Después de la búsqueda, I'he encontrado una solución:
Si configuro los atributos "preload" a "true" el vídeo se inicia normalmente
Prueba esto:
<video height="256" loop autoplay controls id="vid">
<source type="video/mp4" src="video_file.mp4"></source>
<source type="video/ogg" src="video_file.ogg"></source>
...y el video..;
Así es como lo hago normalmente. El bucle, los controles y la reproducción automática no requieren un valor, son atributos booleanos.