Делал плагин для такого
https://github.com/its2easy/animate-images. Если слишком тяжелые картинки будут, есть возможность через режим fastPreview запускать с небольшим набором, а потом догружать остальные.
Для варианта при наведении будет что то вроде
canvas.addEventListener("mouseenter", () => {
pluginInstance.setReverse(false).play();
});
canvas.addEventListener("mouseleave", () => {
pluginInstance.setReverse(true).play();
});
Тут
https://codepen.io/its2easy/pen/VwvVRed во втором примере можно посмотреть как будет работать (Демо для другого плагина со спрайтом вместо canvas, но работать будет также)