Qu’est-ce que GIFV ?
GIFV est le nom introduit par Imgur en 2014 pour les GIF téléversés que le service convertit en vidéos MP4 ou WebM et lit en boucle comme un GIF. L’extension .gifv est une convention de nommage pour cette présentation, et non un codec ou un conteneur distinct.
Fonctionnement de GIFV
Imgur a annoncé ce nom en octobre 2014, en même temps qu’un changement qui convertit les fichiers GIF téléversés en WebM ou MP4 selon la prise en charge du navigateur, et marque les versions converties avec une extension .gifv. L’annonce indique que cette extension signale une expérience semblable à celle d’un GIF et ne définit aucune structure de fichier correspondante ; dans les commentaires, l’auteur du billet décrit un lien .gifv comme une page HTML5 contenant une balise video qui lit du MP4. Le principe lui-même n’est pas propre à Imgur : encoder l’animation en vidéo, puis la présenter avec un élément video dont la lecture démarre automatiquement, en boucle, sans son et dans la page, pour qu’elle se comporte comme une image animée. Le gain provient de l’encodage. Chaque image d’un GIF est un ensemble d’index compressés par LZW vers une table de couleurs contenant au plus 256 entrées, ce que WebKit décrit comme une manière très coûteuse d’encoder une animation par rapport à un codec vidéo tel que H.264.
Points clés
- Que renvoie une URL
.gifv? Pas un fichier au format GIFV, car l’annonce d’Imgur n’en définit aucun. Elle indique que les vidéos converties sont signalées par cette extension, et l’auteur du billet décrit le lien comme une page HTML5 qui lit un MP4. Un logiciel qui a besoin du média lui-même doit trouver la ressource MP4 ou WebM sous-jacente ; traiter la réponse.gifvcomme une image ou un fichier vidéo échoue. Cette description concerne Imgur en 2014, et les autres sites sont libres d’utiliser le suffixe différemment. - Quels attributs permettent à une vidéo de se comporter comme un GIF, et que se passe-t-il sans eux ?
autoplay,loop,mutedetplaysinline. Chrome autorise toujours la lecture automatique sans son, mais ne l’autorise avec du son que sous certaines conditions, comme une interaction préalable de l’utilisateur avec le site. Selon la politique introduite par WebKit avec iOS 10, une vidéo ne démarre automatiquement sans geste de l’utilisateur que si elle est muette ou dépourvue de piste audio, se met en pause lorsqu’elle n’est plus visible à l’écran et, sur iPhone, passe en plein écran au début de la lecture, sauf siplaysinlineest présent. - Dans quelle mesure la vidéo est-elle moins volumineuse ? Cela dépend de la séquence et des réglages de l’encodeur, et les chiffres publiés sont des exemples isolés : Imgur a présenté un GIF de 50 MB devenu une vidéo de 3,4 MB, web.dev présente un GIF de 3,7 MB devenu un MP4 de 551 KB et un WebM de 341 KB, et WebKit a indiqué que les GIF peuvent consommer jusqu’à douze fois la bande passante d’une vidéo H.264. Aucun de ces exemples ne constitue une garantie pour un fichier particulier ; mesurez donc votre propre résultat.
- Que coûte le remplacement d’un élément
imgpar un élémentvideo? Le résultat n’est plus une image. L’exemple de conversion de web.dev recadre les GIF dont les dimensions sont impaires, car l’encodeur H.264 utilisé exige une largeur et une hauteur paires. Les contextes qui n’acceptent que les images ne peuvent pas afficher la vidéo. C’est pourquoi l’exemple de WebKit conserve le GIF d’origine dans l’élémentvideoet l’affiche à la place lorsqu’aucune source n’est prise en charge. Une affirmation du guide de web.dev n’est plus à jour pour Chrome : le guide indique qu’un élémentvideosans image d’affiche n’est pas candidat au Largest Contentful Paint, mais le journal des modifications des métriques de Chrome précise que, depuis Chrome 116, une vidéo peut le devenir, le temps retenu étant celui de sa première image présentée.
Quand GIFV est important
Les développeurs utilisent la distribution de type GIFV pour réduire le volume des téléchargements et améliorer la lecture des animations muettes en boucle. Ils doivent fournir des formats et un comportement de repli compatibles avec les navigateurs et les contextes d’intégration visés.
Comment Transloadit facilite l’utilisation de GIFV
Le Robot /video/encode de Transloadit accepte les GIF animés en entrée et peut les encoder dans des formats vidéo tels que MP4, ce qui constitue l’étape de conversion à la base de la distribution de type GIFV.
La sortie est un fichier vidéo ordinaire, pas un fichier .gifv. Le balisage video qui lance automatiquement sa lecture en boucle et la maintient sans son relève de votre propre page.
Explorer les possibilités de Transloadit en matière de formats de fichiers et de compression
Références
- Blog d’Imgur (archivé) : présentation de GIFV, octobre 2014
- Blog de WebKit : nouvelles politiques vidéo pour iOS (lecture automatique sans son et playsinline)
- Chrome for Developers : politique de lecture automatique dans Chrome
- web.dev : remplacer les GIF animés par des vidéos pour accélérer le chargement des pages
- Journal des modifications des métriques de Chromium : modification du Largest Contentful Paint dans Chrome 116 (vidéos)
- Spécification GIF89a : tables de couleurs et données d’image LZW