Dla przyszłych wyszukiwań, jak również, miałem plik mp4, że zredukowanego z hamulca ręcznego korzystając handbrake-gtk
z apt-get
np sudo apt-get install handbrake-gtk
. W Ubuntu 14.04 handbrake
repozytorium nie obejmuje obsługi MP4 po wyjęciu z pudełka. Zostawiłem ustawienia domyślne, usunąłem ścieżkę audio i generuje plik * .M4V. Dla tych, którzy się zastanawiają, są to ten sam kontener, ale M4V jest używany głównie na iOS do otwierania w iTunes.
To działało we wszystkich przeglądarkach z wyjątkiem 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>
Zmieniłem typ mime pomiędzy video/mp4
i video/m4v
bez efektu. Testowałem też dodanie control
atrybutu i znowu bez efektu.
To działało we wszystkich testowanych przeglądarkach, w tym Safari 7 na Mavericks i Safari 8 na Yosemite. Po prostu zmieniłem nazwę tego samego pliku m4v (właściwy plik, a nie tylko HTML) na mp4 i ponownie załadowałem do naszego 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>
Myślę, że Safari w pełni spodziewa się faktycznie nazwanego MP4. Żadne inne kombinacje plików i typów MIME nie działały dla mnie. Myślę, że inne przeglądarki wybierają najpierw plik WEBM, zwłaszcza Chrome, chociaż jestem prawie pewien, że lista źródeł powinna wybrać pierwsze źródło, które jest technicznie obsługiwane.
Nie rozwiązało to jednak problemu z wideo na urządzeniach z systemem iOS (testowano iPada 3 „nowy iPad” i iPhone 6).