Paramètres du frein à main pour convertir MKV en MP4 tout en conservant la qualité d'origine

J'ai une tonne de fichiers MKV que j'ai besoin de convertir en MP4 et mon logiciel choisi est Handbrake.

Je suis coincé sur les paramètres qui seraient les meilleurs pour la conversion. Je souhaite conserver toute la qualité. Est-ce que je viens de convertir avec les paramètres d'origine et je ne change rien ou est-ce qu'il y a une chose spécifique à changer?

    Tout d'abord, demandez-vous: devez-vous coder à nouveau? Si vous souhaitez seulement changer le conteneur de MKV à MP4, vous n'avez pas besoin de coder quoi que ce soit, il suffit de changer le "wrapping" autour de la vidéo. Cela ne perd pas de qualité.

    Vous pouvez échanger des conteneurs facilement avec FFmpeg – il suffit de le dire pour copier les flux de bits vidéo et audio:

    ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4 

    Notez que cela ne fonctionne que si les codecs audio et vidéo sont pris en charge dans le conteneur MP4, ce qui est le cas pour H.264 / H.265 et AAC, par exemple, mais pas pour beaucoup d'autres.

    Il existe également des outils comme MP4Box qui peuvent créer des médias MP4 – il en va de même pour MKV avec MKVtoolnix .

    Enfin, découvrez la différence entre les codecs vidéo et les conteneurs . Cela vous aidera à comprendre pourquoi la modification des conteneurs fonctionne et pourquoi MP4 et MKV ont peu à voir avec la vidéo, en fait. Si vous voulez en savoir plus sur FFmpeg – j'ai écrit une entrée de blog sur le blog Super User à ce sujet.


    Cependant, vous ne pouvez pas conserver une qualité maximale lors de l'encodage d'une vidéo déjà codée. C'est parce que l'original a déjà été compressé en jetant de l'information, et en le faisant à nouveau, vous introduisez une perte de génération . Souvent, vous souhaitez coder à nouveau la vidéo lorsque, par exemple, sa taille change, ou si vous avez besoin d'un débit spécifique pour écraser votre flux vidéo, ou si votre vidéo d'origine utilise un codec que vous ne pouvez pas jouer pour quelque raison que ce soit.

    Donc, si vous chargez votre vidéo MKV dans Handbrake et que vous l'encodez à nouveau avec x264, utilisez le codeur h.264 Handbrake, rangez-le dans un conteneur MP4, vous allez perdre qualité, peu importe quoi, à moins que vous ne définiez le bitrate ou Facteur de qualité si élevé que vous ne verrez pas (vraiment) la différence. Mais alors, la taille du fichier sera plus grande aussi. Dans le cas idéal, vous transformeriez la vidéo en une vidéo non compressée, qui ne vous perdra aucune qualité, mais vous donnera des fichiers d'une dizaine de Gigabytes, même pendant quelques minutes de matériel vidéo.


    Si vous devez ré-coder, assurez-vous de ne pas définir un bitrate moyen, mais choisissez un facteur de taux constant , qui ressemble à "qualité constante". Tout comme "débit variable" pour MP3: il vous assurera de dépenser les bits sur les pièces vidéo qui en ont besoin et de rendre la qualité globale meilleure – à la même taille de fichier.

    Les valeurs saines de CRF sont de 19 à 24, où moins signifie «mieux». Donc, vous pouvez essayer avec un facteur de taux de 19. De plus, assurez-vous de définir le profil «haut», qui permet à l'encodeur d'utiliser toutes les cloches et sifflets et d'optimiser la qualité pour un débit binaire donné.

    Cela fonctionne très bien pour moi. Voici un code pour convertir tous les fichiers .mkv en .mp4 dans Windows.

    • Vous devrez peut-être ajouter ffmpeg à votre chemin. Vous pouvez simplement mettre le chemin d'accès complet à l'exécutable ffmpeg, D: \ apps \ ffmpeg \ bin \ ffmpeg.exe
    • Téléchargez ffmpeg pour Windows ici.
    • Utilisation: déposez un fichier .mkv sur celui-ci. Il fera l'ensemble du répertoire.

    Enregistrez dans un fichier appelé convert.bat.

     for %%a in ("*.mkv") do ffmpeg.exe -i "%%a" -vcodec copy -acodec copy "%%~na .mp4" pause