Если нужна гифка, то сгенерируй из куска видео гифку и вставь под картинку, по наведению картинку прячь, и станет видна гифка, вместо гифки может быть кусочек видео, который хранится на сервере. Но делать гифки или кусочки для каждого видео как-то накладно
Вместо гифки можно вставь iframe с видео с youtube, по наведению на картинку запускай проигрывание видео (youtube iframe api). Ничего сложного там нет.