Вот есть пример как делал для себя, у нас есть отдельно кнопка, превью и iframe с видео по клику на кнопку она и превью скрываются в iframe подгружается видео.
Как по мне плюс в том что видео изначально не грузится на странице, а подгружается по клику + можно сделать lazy load превью и тогда вообще все будет отлично.
В примере старая реализация и как видно тут без бекенда где передаются все эти урлы на превью и видео но суть я думаю ясна.