Quel est le meilleur logiciel pour la compression vidéo ?


Les fichiers vidéo comportent deux parties : le conteneur (format de fichier) et le codec (la façon dont la vidéo est représentée dans le conteneur).

Généralement, la vidéo capturée sur les appareils grand public est déjà compressée à l'aide d'un algorithme quelconque. Par exemple, les anciens caméscopes DV utilisaient environ 14G pour stocker 1 heure de vidéo SD. La résolution était de 720 x 480 à 29,97 images par seconde (USA) et 16 bits par pixel (ils capturaient en fait 24 bits par pixel mais utilisaient le sous-échantillonnage chromatique pour réduire le nombre de bits) - en brut, cela ferait 720 x 480 x 29,97 x 2 x 60 x 60 octets par heure, soit environ 75 G/hr. Ils utilisaient une méthode appelée transformée en cosinus discrète intertrame pour compresser la vidéo.


Encore aujourd'hui, à l'exception de quelques caméras très haut de gamme utilisées par l'industrie du cinéma, toutes les caméras utilisent une sorte de compression vidéo. La plus courante étant la h.264 (un profil spécifique du MPEG-4). Ma caméra 4K UHD enregistre à 100Mbps, alors que le débit de la vidéo source non compressée serait proche de 4000Mbps.

Par conséquent, je pense qu'il est sûr de supposer que vous avez compressé la vidéo d'une manière ou d'une autre et que vous aimeriez la rendre plus petite.


Des programmes comme ZIP utilisent la compression de données Lempel-Ziv-Welch qui recherche des modèles de bits répétés dans les données et les remplace par des abréviations. C'est ce qu'on appelle une méthode de "compression sans perte", car les données qui entrent dans le compresseur sont exactement celles qui en sortent après décompression. Cette méthode fonctionne très bien lorsque les données ont de nombreuses répétitions (fichiers texte, par exemple), mais elle ne fonctionne pas bien sur les données qui n'ont pas de répétitions (en sciences de l'information, nous appellerions ces données "à haute entropie"). Les données déjà compressées ont une entropie très élevée et ne se prêtent pas à ce type de compression. Vous ne pouvez pas utiliser ZIP.

Les nouvelles techniques de compression sans perte utilisent une approche appelée transformation de Burrows-Wheeler pour réorganiser les bits d'un fichier d'une manière qui peut les rendre plus répétitifs, puis utiliser la technique de compression utilisée dans ZIP. Cela peut parfois aider à rétrécir un fichier à forte entropie comme une vidéo compressée, mais rarement, et pas par une marge substantielle.

Alors... La question devient : s'il n'y a pas de moyen sans perte de compresser ma vidéo, y a-t-il un moyen avec perte de le faire ? Oui. Par "avec perte", nous entendons qu'une certaine quantité d'informations vidéo est jetée dans le processus de réencodage. Cela peut diminuer la qualité dans une certaine mesure, mais vous pouvez exercer un contrôle sur la quantité jetée et vous arrêter lorsque vous remarquez que cela réduit de manière inacceptable la qualité de la vidéo.

Le codec de compression vidéo le plus largement pris en charge est h.264 (également appelé AVC), suivi de VP9 et le plus performant (meilleure compression tout en conservant la qualité) est h.265. (également appelé HEVC) - et il y aura un VP10 pour l'égaler. Le h.264 a un gros avantage dans la mesure où beaucoup de matériel vidéo et de cartes vidéo ont un matériel intégré pour décoder le h.264, de sorte qu'il nécessite très peu de ressources pour être décodé (et de nombreuses caméras ont des encodeurs matériels, ce qui rend l'encodage très efficace).

Sur un ordinateur, vous pouvez transcoder la vidéo dans n'importe quel format vidéo en h.264 ou h.265 avec un logiciel approprié. Vous pouvez également indiquer à l'encodeur le nombre de bits par seconde que vous souhaitez utiliser et et ainsi spécifier la taille du fichier de sortie (ceci est indépendant de la résolution de la vidéo). Si vous avez une vidéo de 3 minutes et de 500 Mo, cela représente 22,2 Mbps (500 Mo * 8 bits/octet / 180 secondes). Vous pouvez demander à l'encodeur d'utiliser 10 Mbps, et la vidéo fera 225 Mo (soit un taux de compression de 10:22,2). Selon la vidéo, vous pouvez ou non remarquer une différence de qualité (et si c'est le cas, vous pouvez la trouver acceptable). De plus, si vous réduisez la résolution de la vidéo, vous n'avez pas besoin d'un débit binaire aussi élevé pour la représenter (il faut moins de bits pour représenter une image vidéo de 1280x720 qu'une image vidéo de 1920x1080).

Les outils canoniques de transcodage de la vidéo sont : FFmpeg, Adobe Media Encoder, Apple Compressor et Apple QuickTime 7 Pro (qui a beaucoup vieilli). Tous ces outils prennent en charge plusieurs formats d'entrée et de sortie. FFmpeg prend en charge le plus grand nombre de formats, mais ne possède pas d'interface graphique. Il existe donc des dizaines d'outils de conversion vidéo qui utilisent FFmpeg pour effectuer leur travail, mais qui offrent une interface graphique agréable par-dessus. Media Encoder est probablement l'outil le plus largement utilisé commercialement. Compressor sera surtout utilisé par les utilisateurs de FinalCut Pro X d'Apple.

Chacun de ces outils vous permet de spécifier la résolution de sortie de la vidéo et le débit binaire de sortie (qui fixe la taille du fichier).

Here’s an example how you’d compress that hypothetical 500 MB video (big_22mbps_video.mp4) above to 225 MB video (smaller_10mbps_video.mp4) using FFmpeg:

  1. ffmpeg -i big_22mbps_video.mp4 -b:v 10M smaller_10mbps_video.mp4