J’ai rapatrié les vidéos sur le site


Vidéos du site présentées en vignettes

·

4–6 minutes

Après avoir abandonné YouTube, et même si j’utilise les vidéos avec parcimonie, j’avais choisi une instance PeerTube pour héberger les vidéos. Mais ces vidéos ne faisaient pas en elles mêmes une « chaîne » cohérente et intéressante et maintenaient une dépendance. Comme les audios et les images, les vidéos sont rentrées « à la maison » avec quelques principes et réglages expliqués ici.

Philosophie de base

Ce n’est pas si simple mais je refuse de dépendre des géants du Web pour héberger et diffuser mes productions. J’ai il y a bien longtemps fermé ma chaîne YouTube. Ça ne veut pas dire que je ne regarde jamais de vidéos YouTube mais à titre personnel, je n’aime pas trop me sentir en otage de ces longues vidéos où l’on vous raconte en vingt minutes des choses qui tiendraient sur une fiche bristol.

D’un point de vue technique tout le monde vous le dira, les hébergeurs compris, il est mieux d’éviter de stocker des vidéos sur son site. Ça peut très vite ralentir les performances et manger de la bande passante.

Si on veut recourir à un tiers, autant chercher une instance Peertube et demander à y être hébergé. Mais il y a des contraintes :

  • des limites d’espace disponible
  • des limites liées à la disponibilité du serveur qui peut tomber en panne ou même disparaître

On peut « squatter » gratuitement, c’est l’esprit généreux du libre mais le mieux est d’apporter un soutien financier à l’instance qui héberge les ressources.

Ayant rencontré malgré tout des problèmes de performances liés à l’intégration des vidéos sur le site, j’ai cherché et mis en place un code pour les améliorer. C’est disponible à ce lien : https://vincentbreton.fr/ameliorer-la-diffusion-de-peertube-sur-wordpress/

La vidéo c’est vite compliqué

Outre que ça peut manger de la bande passante, il y a des problèmes de format, d’adaptation aux différents navigateurs et aux différentes tailles d’écran.

Entre Windows ou Apple, Chrome ou Firefox… les règles ne sont pas complètement stabilisées et selon les outils de prise de vue (smartphone, appareil dédié etc.) mille et un petits problèmes peuvent surgir.

Pour l’instant, n’étant pas vidéaste, je m’en tiens aux principes suivants :

  • je limite le nombre de vidéos
  • je préfère des formats très courts, illustratifs

Le logiciel utilisé

J’ai rapatrié les vidéos par une récupération des données sur mon instance Peertube. Mais j’ai vu que l’on perdait les titres. Comme j’en avais une quarantaine, je les ai téléchargées « à la main ». Pas bien long.

Il fallait ensuite réencoder les vidéos pour les alléger. Je voulais faire ça rapidement sans manipulations pénibles.

Pour ce travail, j’ai utilisé FFmpeg, un logiciel libre et gratuit de traitement audio/vidéo en ligne de commande, disponible sur Linux, MacOS et Windows. C’est l’outil de référence dans ce domaine que la plupart des logiciels de montage vidéo utilisent d’ailleurs en coulisses. Il s’installe facilement. L’Éducation nationale a fait un joli tuto là dessus : https://culture-et-outils-libres.forge.apps.education.fr/ffmpeg.html

Sur Linux : c’est la commande sudo apt install ffmpeg à faire dans le terminal.

Ensuite on va travailler directement dans le terminal (non c’est pas compliqué, je suis vieux et j’y arrive) :

ffmpeg -i video_originale.mp4 -c:v libx264 -crf 28 -vf scale=1280:-2 -c:a aac -b:a 128k -movflags +faststart video_finale.mp4

Vous mettez le nom de votre fichier mp4 à la place de video_originale.mp4 et . On fait l’hypothèse que vous avez su orienter votre terminal vers le bon dossier.

Si vous avez un lot de vidéos :

for f in *.mp4; do
  ffmpeg -i "$f" -c:v libx264 -crf 28 -vf scale=1280:-2 -c:a aac -b:a 128k -movflags +faststart "converted_$f"
done

Cette boucle parcourt tous les fichiers .mp4 du dossier courant et crée pour chacun une version compressée préfixée par converted_ (pour ne pas écraser les originaux avant d’avoir vérifié le résultat).

Vous mettez vos originaux au chaud dans un dossier de sauvegarde et vous appliquez la commande :

for f in converted_*; do
  mv "$f" "${f#converted_}"
done

Ainsi le renommage se fait en un clin d’œil. Maintenant, si vous préférez faire à la main, c’est possible !

Je vous laisse chercher pour Windows que je ne connais plus depuis 2015.

Explications du code :

  • c:v libx264 : encode la vidéo en H.264, le codec le plus universellement compatible (tous navigateurs, tous appareils, sans plugin).
  • crf 28 : le réglage clé de la compression. Le CRF (Constant Rate Factor) va de 0 (sans perte, fichiers énormes) à 51 (illisible). La valeur par défaut est 23 ; à 28, la perte de qualité visuelle est quasi imperceptible sur une vidéo de format modeste, pour un gain de poids important.
  • vf scale=1280:-2 : redimensionne la largeur à 1280 pixels (Full HD n’est pas nécessaire pour ce format), le -2 demandant à ffmpeg de calculer la hauteur automatiquement en gardant les proportions, tout en s’assurant que la valeur reste paire (contrainte technique du codec H.264).
  • c:a aac -b:a 128k : encode l’audio en AAC à 128 kbit/s, un débit largement suffisant pour de la voix ou de la chanson sans être audible en perte de qualité.
  • movflags +faststart : déplace les métadonnées du fichier en début de flux, ce qui permet à la vidéo de démarrer la lecture avant d’être entièrement téléchargée (essentiel pour l’expérience utilisateur en hébergement natif, sans streaming adaptatif comme le fait PeerTube).

Le résultat que j’ai observé : sur une vidéo test, ce réglage a permis de passer de 23 Mo à 8,6 Mo, avec un rendu visuel équivalent à l’œil.

Bien entendu selon vos besoins, vous pouvez adapter.

J’ai ensuite placé les vidéos dans le dossier Média du site et il existe un bloc « vidéo » que vous pouvez appeler simplement pour intégrer votre vidéo.

Il est possible d’ajouter des sous titres pour les personnes qui ne voient pas les images. Le titre lui-même doit être explicite mais pas trop long.

Performances

Sur ce site qui est avec XtremCache Varnish + Redis, des pages où j’ai de 1 à 3 vidéos obtiennent 100% sur ordinateur avec PageSpeed Insights et parfois tombent à 96 au plus bas sur mobile, ce qui reste correct.

On veille bien entendu aux sauvegardes utiles.


D’autres solutions existent et celle ci s’applique à ce site où il y a peu de vidéos, elles sont courtes et rarement consultées en masse. Cependant, j’ai gagné en autonomie et indépendance avec ces médias.


Je vis en pays de Rouergue. Je partage ici chaque jour ou presque, un journal, de la fiction, de la poésie ou des chansons. Garanti « fait » à la main, ce site ne vous piste pas. Si vous aimez, partagez !


VOUS POURRIEZ AIMER AUSSI

dernières publications

Les commentaires

Commentez, ou publiez une réponse sur votre blog (avec un lien vers cet article) ou sur le Fediverse (Mastodon, etc.) : elle apparaîtra ici après modération.

Un mot en retour ?

Vous souhaitez citer cet article sur votre site ? Indiquez simplement votre lien ici.