De nombreux développeurs et utilisateurs ont signalé un problème spécifique avec Firefox concernant la gestion du déplacement temporel (seek) sur des vidéos encodées en x264 (MP4). Ce problème survient lorsqu’on utilise fréquemment la propriété .currentTime
ou la méthode .fastSeek()
d’un objet HTMLVideoElement, notamment via des fonctions telles que requestAnimationFrame
ou requestVideoFrameCallback
.
Détail du problème
Le navigateur Firefox semble regrouper et retarder les demandes répétées de déplacement dans le temps (seek) au lieu de les exécuter immédiatement. Ce comportement entraîne une latence notable et une imprécision de l’affichage des images souhaitées, ce qui affecte négativement l’expérience utilisateur dans des contextes interactifs précis, comme les éditeurs vidéo en ligne, les applications d’annotation ou les lecteurs vidéo avancés.
Il est intéressant de constater que ce problème ne semble pas concerner d’autres codecs modernes comme l’AV1, indiquant une gestion différente du décodage par Firefox selon les codecs.
Impact concret sur les utilisateurs
Cette latence peut être problématique dans plusieurs scénarios :
- Montage et édition vidéo sur le web, nécessitant des déplacements précis sur la timeline.
- Applications d’annotation vidéo en temps réel.
- Applications interactives où une réponse rapide à la manipulation temporelle est critique.
Comparaison avec d’autres navigateurs
Des tests réalisés sur Chrome ou Safari démontrent généralement une bien meilleure réactivité lors de ces déplacements temporels sur les vidéos x264. Cette différence souligne un problème spécifique à Firefox concernant sa gestion interne du décodage vidéo.
Solutions temporaires et recommandations
En attendant une correction officielle de Mozilla, voici quelques pistes pour réduire l’impact du problème :
- Préférez l’encodage vidéo AV1 pour vos contenus interactifs si votre infrastructure le permet.
- Limitez les appels fréquents à
.currentTime
ou.fastSeek()
en utilisant des mécanismes de debounce ou throttling côté client. - Participez activement aux discussions sur le bug tracker officiel de Mozilla pour encourager une résolution rapide.
Conclusion
Il est important que Mozilla prenne conscience de l’importance de ce bug pour améliorer la compatibilité et les performances globales de Firefox. En attendant, adopter les bonnes pratiques citées plus haut permettra de limiter l’impact négatif sur les utilisateurs finaux.