Para búsquedas en el futuro, así, que tenía un archivo MP4 que yo reducidos con el freno de mano utilizando handbrake-gtk
desde apt-get
, por ejemplo sudo apt-get install handbrake-gtk
. En Ubuntu 14.04, el handbrake
repositorio no incluye soporte para MP4 listo para usar. Dejé la configuración predeterminada, quité la pista de audio y genera un archivo * .M4V. Para aquellos que se preguntan, son el mismo contenedor, pero M4V se usa principalmente en iOS para abrir en iTunes.
Esto funcionó en todos los navegadores excepto Safari:
<video preload="yes" autoplay loop width="100%" height="auto" poster="http://cdn.foo.com/bar.png">
<source src="//cdn.foo.com/bar-video.m4v" type="video/mp4">
<source src="//cdn.foo.com/bar-video.webm" type="video/webm">
</video>
Cambié el tipo de mímica entre video/mp4
y video/m4v
sin efecto. También probé agregando el control
atributo y nuevamente, sin efecto.
Esto funcionó en todos los navegadores probados, incluidos Safari 7 en Mavericks y Safari 8 en Yosemite. Simplemente renombré el mismo archivo m4v (el archivo real, no solo el HTML) a mp4 y lo volví a cargar en nuestro CDN:
<video preload="yes" autoplay loop width="100%" height="auto" poster="http://cdn.foo.com/bar.png">
<source src="//cdn.foo.com/bar-video.mp4" type="video/mp4">
<source src="//cdn.foo.com/bar-video.webm" type="video/webm">
</video>
Creo que Safari está esperando un MP4 con nombre real. Ninguna otra combinación de archivo y tipo mimo funcionó para mí. Creo que los otros navegadores optan primero por el archivo WEBM, especialmente Chrome, aunque estoy bastante seguro de que la lista de fuentes debería seleccionar la primera fuente que sea técnicamente compatible.
Sin embargo, esto no ha solucionado el problema del video en los dispositivos iOS (iPad 3 "el nuevo iPad" y iPhone 6 probados).