web-dev-qa-db-fra.com

Quels paramètres dois-je regarder pour réduire la taille d'un fichier .MOV?

Mon Canon 60D crée des fichiers .MOV lors de l'enregistrement de la vidéo et j'ai découvert que le conteneur .MOV possède un flux vidéo H264 et un flux audio PCM.

J'ai utilisé FFMPEG et GSPOT pour regarder certaines de mes vidéos, et je vois ce qui semble être assez élevé de bittères (22 000 kbps pour 640x480, 45 000 pour 1920x1080).

Je voudrais réduire la taille des fichiers, mais garder la qualité assez élevée. J'ai joué avec la chose la plus simple que je puisse penser, réduire le débit binaire et cela fait ce que j'attendais: couper le débit en deux et la taille du fichier est d'environ la moitié. Mais je me demande s'il y a un moyen de déterminer un "bon" débit cible, ou s'il y a un point dans la tentative de bittrate variable.

12

Mais je me demande s'il y a un moyen de déterminer un "bon" bitrate de cible ...

Un bon taux de bits cible est le débit binaire que:

  • est pris en charge par le réseau que vous diffusez le matériau de (par exemple un réseau 3G, une connexion Wi-Fi domestique, etc.), qui est assez facile à calculer
  • semble bon à vous, qui est une mesure très subjective

22 Mbit/s ou 45 Mbit/s sont effectivement assez élevés pour l'utilisateur moyen, et surtout pour une vidéo déjà compressée comme H.264. Vous pouvez absolument aller de l'avant et réduire le débit binaire à une valeur "sain d'esprit", toujours en ce qui concerne la quantité de capacité de stockage que vous pouvez vous permettre et la quantité de qualité que vous souhaitez perdre.

Vous pouvez également redimensionner une vidéo 1080p à 720p si vous n'avez pas vraiment besoin de la taille ou de ne pas avoir la capacité de traitement de la modifier.

... ou s'il y a un point d'essayer de faire du débit variable

Le débit binaire constant consiste à s'adapter à un scénario multimédia en continu où il y a un goulot d'étranglement qui limite le débit de bits maximum de la vidéo transmise. Dans le monde multimédia d'aujourd'hui, cela n'a pas nécessairement de sens.

Lorsque vous pressez une vidéo en une quantité constante de bits par seconde, vous indiquez essentiellement un codeur d'utiliser toujours la même quantité de bits pour encoder la même période. Est-ce la meilleure approche? Comme vous l'avez peut-être deviné maintenant, ce n'est pas le cas. Citant le guide de la CRF du frein à main (je reviendrai plus tard):

L'œil perçoit plus de détails dans des objets fixes que lorsqu'ils sont en mouvement. Pour cette raison, un compresseur vidéo peut appliquer plus de compression (goutte plus de détails) lorsque les choses se déplacent et appliquent moins de compression (conserver plus de détails) lorsque les choses sont toujours. Subjectivement, la vidéo semblera avoir une meilleure qualité.

Donc, c'est le fait Consentement à utiliser un débit de bits variable chaque fois que vous le pouvez. Il rendra la vidéo meilleure, même à la même taille de fichier d'une vidéo à taux de bits constante.

Encore plus, la plupart des codeurs - le plus célèbre étant x264 - souvent exécutant très Mauvais lorsque vous leur disiez d'utiliser un débit constant. Il vaut mieux leur donner un peu plus de "liberté" au sens de combien de bits ils veulent dépenser sur un cadre. Après tout, c'est le travail du codeur, et pas vous. Et cela s'appelle "qualité constante".


Assez de cela - qu'est-ce que cela signifie dans la pratique? Si vous utilisez FFMPEG pour encoder des vidéos, vous utilisez déjà un outil suffisant. Si vous avez maintenant installé X264 et utilisez la dernière version des deux, vous utilisez l'une des meilleures encodeurs actuellement disponibles gratuitement. Au lieu de coder avec un débit fixe, laissez X264 choisir à quel point il veut dépenser. Faites cela en utilisant le facteur de taux constant Option.

Dans un cas très simple, cela signifie définir une valeur comprise entre 17 et 23. Je choisis MP4 en tant que conteneur de sortie au lieu de MOV car il y a meilleurs outils pour la remulgation disponible:

ffmpeg -i input.mov -c:v libx264 -crf 22 output.mp4

Plus la valeur est faible, meilleure est la qualité et plus la sortie. Vice versa, plus la qualité est plus basse. Dans le même temps, vous réduirez bien le taux de bits moyen requis. Vérifiez le Guide de codage X264 Pour plus d'informations sur ffmpeg.

Votre tâche est maintenant de trouver une valeur CRF qui:

  • réduit le taux de bits global au point que vous pouvez vous permettre
  • ne réduit pas trop la qualité, de sorte que la vidéo a toujours l'air bien

Oui, cela implique beaucoup d'encodage et d'erreur et d'erreur, mais c'est une entreprise quotidienne lorsque vous réglez et codez sur la vidéo.

Oh, et si vous n'aimez pas la ligne de commande, frein à main est un outil gratuit et inter-plate-forme qui fait exactement la même chose. Il a même un curseur CRF:

enter image description here

21
slhck

Essayez Handbrake CLI

Je voulais réduire certains fichiers MOV et ne vous souciez pas d'apprendre tous les détails sur les options vidéo. Handbrake CLI est ce que j'ai utilisé. Les préréglages sont gentils:

Le frein à main offre des préréglages à codés et codés durs, qui sont exactement les mêmes que les préréglages intégrés du MacGui.

Dans mon cas, cela a bien fonctionné:

HandBrakeCLI -i input.MOV -o output.mp4 --preset="Normal"

Sans préréglage, la sortie était très petite mais pas de bonne qualité. Le préréglage "normal" avait l'air bien envers moi, mais vous pouvez voir d'autres disponibles avec HandBrakeCLI --preset-list ou modifier toutes les options vous-même si vous préférez.

2
Nathan Long