I had upgraded my paltry 128GB SSD to 1TB for Christmas last year, so it came as quite a shock when I ran out already. I thought it may be a good subject for newbies and other Sunday drivers. My first tool is usually df (with tack h by default). Just to find that my drive is 99% in use. My first stop is usually my iso folder and I delete a whole bunch of distros that I tested and was not impressed by; you know the kind that breaks. Having done this, I checked again and my disk is still 94% full. Yikes! (This tutorial will be about size only). I turn to my next tool, ncdu, to find my video’s folder taking up waaay too much space.

Pour Noël de l’année dernière, j’avais remplacé mon tout petit SSD de 128 Go par un gros de 1 To ; ainsi, j'ai été stupéfait quand j'ai constaté qu'il n’y avait déjà plus d’espace. J’ai pensé que cela pourrait être un bon sujet pour des débutants et d’autres chauffards du dimanche.

Mon premier outil est habituellement df (avec l’ajout -h par défaut). Tout ce que j’ai trouvé était que le disque est utilisé à 99 %. D’habitude, je vais dans mon dossier des ISO et je supprime tout un tas de distrib. que j’ai testées et n’aimais pas ; vous savez, le genre qui se plante facilement. Après avoir fait cela, j’ai vérifié à nouveau et mon disque était toujours plein à 94 %. Que diable ?! (Ce tutoriel ne sera que sur la taille des fichiers vidéo.)

Je prends mon outil suivant, ncdu, pour découvrir que le dossier de vidéos prend beaucoup trop de place.

Now I know Ubuntu comes with a disk usage analyser, but I prefer the terminal. Drilling down with the right-arrow key, in ncdu, I find a folder that is ten times to thirty times the size of the others! Inspection of said video series, confirms that it is encoded with h264 at 1080p. This is where I fall down, I don’t really understand, or have I put effort into video encoding. I understand that bitrate obviously makes the biggest difference in size, but all my videos are variable bitrates, so I’m not sure how to measure it. I do, however, know that I can re-encode my videos with an excellent tool named handbrake. (I know online compressors exist, but uploading & downloading files takes time.) With a tool like handbrake, I do not need to know ratios or algorithms, I can simply pick what format I would like and the resolution and the frame rate (for a start).

Je sais bien qu'Ubuntu est livrée avec un analyseur d’utilisation de disque, mais je préfère le terminal. En allant vraiment très bas dans ncdu avec la touche fléchée ad hoc, je trouve un dossier qui est de 10 à 30 fois la taille des autres ! L’inspection de ladite série vidéo confirme qu’elle est encodée avec h264 à 1 080 p.

C’est là où les bras m’en tombent : je ne comprends vraiment pas, ou est-ce que j’ai fait beaucoup d’encodage de vidéos ? Je comprends que le débit binaire fait évidemment la plus grande différence de taille, mais toutes mes vidéos ont des débits binaires variables et je ne suis donc pas certain de comment le mesurer. Je sais, toutefois, que je peux réencoder mes vidéos avec un outil excellent qui s’appelle Handbrake. (Je sais qu’il y a des compresseurs en ligne, mais le téléversement, puis le téléchargement de fichiers prend du temps.)

Avec un outil comme handbrake, je n’ai pas besoin de connaître des ratios ou des algorithmes, je peux tout simplement choisir le format que je veux et la résolution et le débit de trame (pour commencer).

In general, hardware encoding is going to be a lot faster than software encoding, however, your file size may go up, instead of down. The most I have managed to save in hardware encoding with the same resolution, was 10%-15%. This will be a trend, the faster the encoding, the bigger the file size. Handbrake also uses all your cores, so encoding on my dual-core CPU takes longer than on my quad-core CPU, even though the dual-core machine has twice the memory, so encode on your best CPU. For me, if size is important (but I’d like to keep 1080p), I usually use Matroska, as it generally gives me a +-50% file size reduction from the original mp4. If the resolution is not that important to you, you will make the most gains dropping it from 1080p to, say, 720p, and still be able to read what is on the screen. You may be asking, if I am such a n00b at encoding, how would I know Matroska encodes to a smaller size? Well simple, I tested online. I took a file, uploaded it on https://www.freeconvert.com/video-compressor/download - and compared the output. MKV saved me 51% on average, and MP4 43% (when setting target size to 50%). The source encoding also makes a difference, so if you want to compress from MP4 to MP4, your best bet is to lower the resolution as there is not much more handbrake can do. Handbrake also has an option for web optimisation. We will talk about the interface in another issue. Now, without knowing what web optimization does, we can see, by the output file size, that it saves +-5MB on a 300MB file.

Généralement, l’encodage matériel sera beaucoup plus rapide que l’encodage par logiciel. Cependant, la taille du fichier peut augmenter au lieu de diminuer. Tout ce que j’ai réussi à économiser avec de l’encodage matériel avec la même résolution, était de 10 à 15 %. Voici la tendance : la taille de fichier est d’autant plus grande que l’encodage est plus rapide.

Handbrake utilise également tous vos cœurs. Ainsi, l’encodage sur mon CPU à double cœur prend plus de temps que sur mon CPU à quadruple cœurs, bien que la machine à double cœur ait deux fois la mémoire que l’autre. Il vaut mieux donc encoder sur votre meilleur CPU.

Pour moi, si la taille est importante (mais que je voudrais garder 1 080 p), j’utilise habituellement Matroska, car il me donne généralement une réduction de taille de fichier d’à peu près 50 % du mp4 original. Si la résolution n’est pas très importante pour vous, les gains seront les plus conséquents si vous la diminuez de 1 080 p vers, disons, 720 p, et vous pourrez toujours voir ce qui s’affiche à l’écran. Vous pouvez vous demander si je suis si novice en encodage ; comment saurais-je que Matroska encode vers une plus petite taille ? C’est simple : je l’ai testé en ligne. J’ai pris un fichier, je l’ai téléversé sur https://www.freeconvert.com/video-compressor/download et j’ai comparé la sortie. En moyenne, MKV m’a économisé 51 % et, sur les MP4, 43 % (quand la taille cible est réglée à 50 %). La source de l’encodage fait aussi une différence. Ainsi, si vous voulez comprimer à partir de MP4 vers MP4, le mieux serait de baisser la résolution, car handbrake ne peut pas faire beaucoup plus. Handbrake a également une option pour l’optimisation sur le Web. On parlera de l’interface dans un autre numéro. Sans savoir ce que fait l’optimisation sur le Web, nous pouvons voir d’après la taille du fichier résultant, qu’il économise environ 5 Mo sur un fichier de 300 Mo.

For most people interested in saving space, the preset “fast” (e.g. fast1080p30), will be enough. I found no difference between some of the presets like “discord” or “youtube”; the file size stayed the same. I can also not detect any difference in quality to the naked eye. I will include images at the end of the results. Webm being a newer format, will not support a wide variety of audio formats in the encoding, so it generally encodes faster than the other software compression algorithms, but slower than hardware compression. Again proving that faster means bigger file size. (In my case the file was always larger than the input file, so I have written it off completely.) Now handbrake can do a lot more than just make video files smaller, but 99% of my use cases, be it at home or work, is making the files smaller to save space. Obviously frames-per-second makes a difference, so encoding something from 30FPS to 60FPS means your file size will increase without the video being clearer as you are simply doubling up every frame. Two of the same frame just means both will be played in the same time one is played on the original video, netting you zero gain for the larger file size.

Pour la plupart des gens qui veulent économiser de l’espace, le préréglage « fast » (c'est-à-dire fast1080p30) sera suffisant. Je n’ai trouvé aucune différence entre certains des préréglages comme « discord » ou « youtube » ; la taille du fichier est restée la même. Je ne peux également pas détecter une différence dans la qualité à l’œil nu. Je vais mettre des images à la fin des résultats. Étant un format relativement nouveau, Webm ne prend pas beaucoup de formats audio lors de l’encodage ; ainsi, généralement, il encode plus rapidement que d’autres algorithmes de logiciels de compression, mais plus lentment que la compression matérielle. À nouveau, cela démontre que plus rapide signifie fichier plus grand. (Dans mon cas, le fichier de sortie était toujours plus grand que le fichier original et je l’ai donc complètement ignoré.)

Il faut savoir que handbrake peut faire beaucoup plus que tout simplement diminuer la taille des fichiers vidéo, mais 99 % de mes cas d’usage, que ce soit chez moi ou au boulot, est de diminuer la taille des fichiers pour économiser de l’espace. Il est évident que le nombre d’images par seconde fait une différence ; l’encodage de quelque chose de 30 FPS (frames par seconde) à 60 FPS signifie que la taille du fichier augmentera sans que la vidéo soit plus claire, puisque vous doublez tout simplement chaque image. Deux de la même image veut simplement dire que les deux seront jouées dans le même temps qu’une seule est jouée sur la vidéo d’origine, ce qui vous ne donne aucune amélioration et un fichier plus grand.

So the tip I want to give you as a newbie, where the busy interface may seem scary, is simply choose fast1080p or Matroska if you want smaller files without losing resolution. In my case, it is all training videos, so I have to be able to read what is on screen. Thus I need to keep the best resolution possible. For work, it is videos of processes on machines, so the resolution is not important, but the machines they play on are not the best, so high CPU intensive encoding is out. Use cases are important, but we focus on Ubuntu in the home here. Now it’s time for me to save another 20GB so I do not run out of space the next time my system does an update. Can I tell the difference? I cannot (1080p video played at 4k). Even the instructor's Apache beard is in focus (you know, it grows a patchy here… a patchy there… OK I’ll see myself out!).

Ainsi, le conseil que je veux vous donné en tant que débutant, où l’interface fournie peut vous faire peur, est de tout simplement choisir fast1080p ou Matroska si vous voulez de plus petits fichiers sans diminuer la résolution. Dans mon cas, ce sont toutes des vidéos de formation et je dois donc pouvoir lire ce qui est affiché à l’écran. Je dois donc garder la meilleure résolution possible. Pour le boulot, il s’agit de vidéos de processus sur des machines et la résolution n’est pas importante, mais les machines sur lesquelles elles jouent ne sont pas les meilleures et donc l’encodage nécessitant beaucoup de CPU n’est pas possible. Les cas d’usage sont importants, mais nous sommes concentrés sur Ubuntu à la maison.

L’heure est venue pour moi d’économiser 20 Go à nouveau, pour qu’il ne me manque de la place la prochaine fois que mon système fera une mise à jour.

Puis-je voir la différence ? Je ne le peux pas (une vidéo à 1080p jouée à 4k). Même la barbe Apache de l’instructeur est nette (vous savez, elle pousse inégalement ici et là… Bon, je vous quitte !)

My original file was MP4 at 681MB, and the output is about 320MB average, so working back from that, my 39.5GB course should compress to about 20GB. I see no difference in the quality, even from the original, and I can read what is written on the screen, which is what was important to me. As they say in the adverts, your mileage may vary, but in our case, not by much. The only investment will be time.

Le fichier original était du MP4 à 681 Mo et la sortie est d'environ 320 Mo en moyenne. Ainsi, en tenant compte de cela, mon cours de 39,5 Go devrait faire environ 20 Go après compression. Je ne vois aucune différence dans la qualité, même en le comparant à l’original et je peux lire ce qui est écrit sur l’écran, ce qui était important pour moi. Comme ils disent dans les pub, ça peut varier, mais, dans notre cas, pas de beaucoup. Votre seul investissement sera du temps.