Sur votre Nextcloud vous souhaitez mettre ce que vous voulez conserver comme photo, vidéos et bandes son. Je fais pareil.
Mais il y a un mais : la place est limitée (et coûte de l’argent).
Mais il y a un autre mais : vous souhaitez tout de même sauvegarder vos photos, vidéos et bande son !
Encapsulation et codecs
Tous les fichiers ont un format #lapalissade, et les fichiers multimédias n’y échappent pas. Mais (il y a un mais) il y a des subtilités.
Dans un fichier multimédia il faut distinguer le format d’encapsulation et d’encodage. Ce sont parfois les mêmes (jpeg, mp3) , mais le plus souvent non.
Un format d’encapsulation décrit ce que vous pouvez mettre dans le fichier et comment c’est rangé. Vous pouvez voir ça comme l’agencement des pièces d’une maison. Il y a beaucoup de format d’encapsulation. Citons mkv, webm, ogg et mp4 (oui, mp4 est un format d’encapsulation) pour la vidéo+son. Ogg pour le son aussi, et aac. Tiff, avif, heif pour les images.
Le format d’encodage (codec) décrit les données multimédias (son, vidéo, image). Vous pouvez voir ça comme les meubles d’une maison. Il y a vraiment BEAUCOUP de formats d’encodage. Par exemple : h264, h265, mpeg2, mpeg3, av1, vp9, xvid, theora pour la vidéo. Mp3, opus, aac, vorbis pour le son. Jpeg, png, webp, gif pour les images.
Tous les formats d’encapsulation ne peuvent pas encapsuler tous les formats d’encodage, comme vous ne pouvez pas mettre n’importe quels meubles dans une maison (une armoire normande dans un appart parisien ça ne passe pas). Par exemple le webm peut encapsuler du vp8 et vp9, mais a priori pas du h264 ni du av1. Vous aurez du mal (euphémisme) à faire rentrer du vorbis dans un tiff.
Et donc ?
- Et donc le mp4 n’est pas un format vidéo stricto sensu : c’est un format d’encapsulation (un conteneur), qui embarque le plus souvent du h264 pour la vidéo avec du aac pour le son. C’est parfois du h265, mais c’est plus rare.
- Mon mkv ne prends pas « moins de place ». Mon mkv peut contenir le même h264 et le même aac. Ce qui prendra autant de place qu’un mp4 empaquetant les mêmes pistes audios et vidéos encodées avec les mêmes codecs.
- Je peux mettre du av1 dans un mp4 ou dans un mkv. Avec du opus pour le son (ou mp3, ou aac, ou wav).
- Je peux mettre des sous-titre, plein de bandes sons et de stream vidéos dans un mkv, mais je ne crois pas que le format ogg supporte tout ça.
- Tous les lecteurs multimédias ne lisent pas tous les formats. Par exemple l’Explorer de Windows ne vous affichera pas l’aperçu d’un mkv, mais d’un mp4 oui (s’il parvient à lire le codec à l’intérieur, tout de même).
Taille de fichier
Tous les formats d’encodage ne se valent pas. Au fur et à mesure du temps (et de l’évolution des connaissances, de la puissance de calculs et des usages) certains sont devenus obsolètes et d’autres sont apparus, plus efficaces ( = compressent mieux et plus vite pour la même qualité) avec ou sans brevets, plus ou moins supportés par les navigateurs et lecteurs multimédias, avec plus ou moins de fonctionnalités (streaming, réglage du compromis vitesse/qualité, encodage sans pertes…).
A titre d’exemple : mon mobile prend des vidéos au format mp4=h264+aac. h264 est un « vieux » format : il ne consomme pas trop de processeur à l’encodage, mais son efficacité est moindre que les codecs modernes comme vp9 ou av1 (qui consomment bien plus de processeur, donc de batterie).
Mais un mp4 comme ça prend de la place. Et moi j’aime bien mettre mes vidéos sur mon Nextcloud, sur lequel je n’ai pas une place infinie.
Donc je transcode : je réencode mon mp4 en … mp4 mais qui encapsule du av1+opus (j’aime bien ces deux-là parce qu’ils sont diablement efficaces, en plus d’être libre de droits). Il prends ainsi, sans mentir, 10x moins de place, et parfois 30x moins, pour une qualité visuelle et auditive équivalente à la vidéo d’origine !
Inconvénients : c’est très lent à encoder ! Et ça prend de la ressource processeur (donc de l’énergie). Un fichier d’une heure peut prendre 50 heures à encoder. Mais au final la taille du fichier a été divisée par 10. Est-ce qu’un tel gain de place vaut la dépense énergétique ? J’avoue ne pas avoir fait (ni savoir faire) le calcul.
Mais au moins je peux mettre bien plus de vidéos sur mon Nextcloud !
Outils
Pour ceux qui vivent en ligne de commande, il y a bien sûr l’incontournable ffmpeg.
Ce que j’utilise pour transcoder mes vidéos :
ffmpeg -i in.mp4 -c:v librav1e -crf 35 -acodec libopus -b:a 96k out.mp4
J’ai bien sûr fait un script qui encapsule ça et rajoute des fonctionnalités 🙂 (demandez-moi si cela vous intéresse)
Pour ceux qui veulent une interface graphique, j’adore handbrake. Open source, disponible sur plein de plateformes. Il a une base de réglages incroyables, et vous pouvez bien sûr rajouter les vôtres. Vous pouvez aussi mettre tout ça dans une file, que vous lancerez quand vous voulez (le soir, quand il fait moins chaud et que l’électricité est moins chère).
Et évidemment vlc lit parfaitement tous ces formats.
Inconvénients
Parce qu’il y a des mais.
Vous gagnez de la place disque mais vous perdez du temps (processeur). Donc ça consomme de l’énergie. Je ne suis pas en mesure de savoir si l’énergie consommée pour encoder et prendre moins de place est rentabilisée par la place gagnée.
Ça se peut que l’aperçu de la vidéo (sous MacOS, Windows, Linux, ou sur Nextcloud) ne fonctionne plus. Et je ne sais pas si c’est dû au codec (av1) ou à certains paramètres du container (mp4).
Conclusion
Malgré ces inconvénients, je réencode mes vidéos en av1+opus. Ça permet au moins de prendre beaucoup moins de place sur le Nextcloud !
