Отслеживание времени просмотра медиаэлементов

#javascript #mediaelement #asp.net5

Вопрос:

Я искал комплексное решение для этого, но я просто не могу придумать что-то стоящее.

У меня есть таблица, которая отслеживает ваше текущее положение в видео, чтобы вы могли вспомнить, где вы были раньше. Я также хочу отследить время просмотра, чтобы определить, смотрел ли человек его весь ( или, по крайней мере, на 90%). Очевидно, что это никогда не будет на 100% идеальным, но я хочу, чтобы это действительно стоило черт знает чего.

Моя текущая идея состоит в том, чтобы иметь массив в javascript, который представляет собой продолжительность видео, и в каждый момент времени событие обновления устанавливало каждую секунду, которая была воспроизведена, равным 1, чтобы отметить его как просмотренное. Затем в конце мероприятия проверьте, превышает ли это значение или равно ~90% продолжительности видео. Это должно сработать, если пользователь смотрит так долго за один сеанс, а также игнорирует пользователя, стремящегося «обмануть» видео, чтобы оно было помечено как просмотренное.

А что, если они посмотрят 25% видео, а затем вернутся на следующий день, чтобы закончить остальное? Было бы плохой идеей сериализовать вышеупомянутый массив в строку и сохранить его в таблице SQL? Таким образом, я смогу вытащить его при следующем посещении и использовать для сохранения времени просмотра? Если нет, то какая альтернатива была бы лучше?