Salut,
Je souhaite suivre les utilisateurs qui regardent des vidéos sur un site Web dans Laravel 11. Je souhaite donc enregistrer le moment où ils jouent, mettent en pause, terminent et également pendant la lecture d'une certaine vidéo, et sur cette base, je peux me souvenir où il a arrêté une vidéo et où commencer la prochaine fois qu'il lit la vidéo.

Techniquement, je pense à cette approche :

1 - stockez ces étapes dans une base de données non SQL (Redis) toutes les 10 à 20 secondes.

2 - puis avec un cronjob (toutes les heures) prenez ces données depuis Redis et enregistrez-les dans mysql.

Le problème est que je ne sais pas à quel point cette approche est efficace. Que me conseilleriez-vous ? Quelqu'un a-t-il déjà mis en œuvre une telle chose ?

1 réponse


Salut, ça dépend du service vidéo que tu utilises. La plupart des iframes de player vidéo envoient des événements lorsqu'un utilisateur fait un action (play, pause, etc...).
Youtube et viméo le proposent, voici les infos pour YouTube : https://developers.google.com/youtube/iframe_api_reference?hl=fr#Events

Tu as juste à écouter ces événements et mettre à jour en bdd sur un table liée à ton utilisateur pour savoir quelles vidéos il a regardé et où il est dans la lecture de la vidéo