На айфоне не запустится, как ни старайся. Это особенность айфона, защита траффика.
UPD: Спасибо
Anton fon Faust за добавление информации по Айфонам
https://github.com/bfred-it/iphone-inline-video
Рабочее решение для андройда тут
https://arm1.ru/blog/html5-video-kak-fon-stranitsyС Android тяжелее всего. Автопроигрывание не работает. Кнопка Play появляется только если добавить для тэга video аттрибут controls, чтобы появились стандартные контролы управления. Это, увы, не так уже красиво. Но это ещё не всё. Для того, чтобы видео начало играть, нужно ещё добавить дополнительно Javascript-обработчик, который принудительно скажет video, чтобы оно играло:
var video = document.getElementById(element);
video.addEventListener('click',function(){
video.play();
},false);
Для определения Android, чтобы добавить аттрибут controls, я просто использовал Detect.js:
var ua = detect.parse(navigator.userAgent);
if ( ua.os.family === 'Android' ) {
video.setAttribute( 'controls','controls' );
}
PS: А вообще, я бы рекомендовал на мобильных устройствах не показывать видео.
Просто сделать красивую фоновую картинку, реально, зачем тратить трафик людей.
Не все сидят именно с WI-FI, и важна скорость загрузки сайта с телефона.