Если после публикации страницы анимация будет работать не так, как задумывалось (например, картинка должна обрезаться по краям как background-size: cover), дайте знать — я изменю математику расчета размеров в функции drawFrame.