Ну это также и лишнее поле и лишний запрос в БД.
А траффик сейчас все-же не как 20 лет назад - скорости выросли значительно.
Да и это больше pet-проект, поэтому мне больше интересна сама реализация механизма.
Вот что пока удалось сделать:
http://ilikeike.beget.tech/
Получается мы можем вытянуть любой фрейм и сохранить его как картинку, и, в теории, подставить как постер.
Единственно, вопрос в грамотной реализации последовательности событий.
Получается, сначала нам нужно:
1. Перемотать видео.
2. Сохранить текущий кадр в img.
3. Подставить его как постер, в это же самое видео.
Но постер инициализируется при отрисовке DOM. Его нельзя довставить "потом".
И у меня нет уверености, что мы можем до отрисовки получить фрейм, и вставить как постер и потом отрисовать.
Конечно можно с одного экземляра вытаскивать фрейм, и вставить в тот что увидит пользователь. Просто отложить его загрузку для пользователя.
И мне не совсем понятно как реализовать эту отложенную загрузку.
Создавать эти вторые экземляры через js? Это уже усложнит код. Должно быть более простое решение.
И с вытаскиванием фрейма тоже вопросы. По событию пользователя все работает. А как это сделать в фоне, без участия пользователя?