Je suis nouveau sur FFmpeg (Windows) et j'ai besoin d'aide.
Je veux convertir mes MKV en MP4 avec le moins de perte de qualité possible. Les MKV sont fabriqués avec MakeMKV et contiennent entre autres la bande son DTS. Ils sont sans perte. La raison pour laquelle je veux convertir, c'est que je prévois de le diffuser sur iPad et Apple TV. Les iPad ne prennent pas en charge les DTS et MKV. Les MKV sont à la fois des DVD et des Blu-Ray. Les MKV contiennent des vidéos, des bandes sonores et des sous-titres.
J'ai essayé cela, mais je n'obtiens aucun son en raison de la bande sonore DTS:
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
Quelqu'un peut-il m'aider?
Quels codecs dois-je utiliser? MP4 est le meilleur pour Apple?
ffmpeg -i input.mkv
suffira.Réponses:
MP4 est en effet le meilleur format pour les appareils et logiciels Apple. Le DTS n'est d'ailleurs pas pris en charge, de nombreux fichiers vidéo MP4 contiennent deux pistes audio, une DTS et une AAC.
Il existe plusieurs encodeurs disponibles, tous documentés sur le wiki ffmpeg . Le codec disponible dépend de la façon dont ffmpeg a été compilé. libfdk_aac vous donnera les meilleurs résultats, mais étant donné que ce codec n'est pas gratuit, il n'est pas toujours disponible.
Les choses que vous pouvez essayer (je les mets dans l'ordre de ma qualité perçue, mieux d'abord)
Si vous souhaitez également conserver la piste DTS, utilisez l'
-map
indicateur.Pas directement d'utilisation pour OP, mais le programme OS X Subler rend ce processus très facile.
EDIT: Commentaires tl; dr? OP a résolu le problème avec la commande suivante
CONSEIL: si les
-c:s copy
sous-titres ne fonctionnent pas, essayez-c:s mov_text
.M'a sauvé à plusieurs reprises.
la source
libfdk
etlibfaac
)-c:a aac -q:a 6
paramètres et de comparer le résultat avec-c:a libfaac -b:a 192k
, à mon avis, le codec aac donne de meilleurs résultats que libfaac , mais comme les codecs sont en cours de développement, cela peut changer. libfdk_aac donnera probablement de meilleurs résultats, mais je ne l'ai pas disponible pour le moment.Je sais que c'est une vieille question - et a déjà une réponse - mais je voulais partager certaines commandes que j'utilise avec FFmpeg sur macOS.
Un MP4 encodé vidéo x264 avec audio AAC à partir d'un MKV
Conversion de base d'un MKV avec un MP4 mais conversion de l'audio en AAC à 128k. Notez les mappages:
-map 0:0
signifie la première0
piste ( ) de l'entrée source (0
) et-map 0:1
signifie la deuxième1
piste ( ) de la même entrée source (0
). J'aime faire cela dans les cas où il y a plusieurs pistes audio afin que je puisse faire quelque chose comme sélectionner-map 0:3
pour obtenir la troisième piste.Un MP4 encodé vidéo HEVC / x265 avec audio AAC à partir d'un MKV
Ceci est similaire à la commande x264 ci-dessus, mais utilise à la place le HEVC / x265 pour obtenir une taille de fichier plus petite avec la même - sinon meilleure qualité - vidéo de la source MKV. Notez que je préfère redimensionner les vidéos iOS à 720 lors de l'utilisation de HEVC / x265; la qualité de lecture sans trop de bruit est solide sur mon MacBook, iPad et iPhone. Assurez-vous simplement que votre matériel et votre système d'exploitation prennent en charge la lecture HEVC / x265. Et soyez prévenu: HEVC / x265 est très gourmand en CPU, donc si votre machine n'a pas beaucoup de puissance CPU, cela peut prendre jusqu'à un jour environ pour encoder 90 minutes de vidéo.
Voici une ventilation de chacun des paramètres principaux autres que les fichiers d'entrée et de sortie.
-vf scale=-1:720
: Redimensionnez la vidéo à une hauteur de 720 et calculez automatiquement la largeur. Notez que FFmpeg pourrait étouffer quelques MKV pour des raisons que je ne suis pas 100% clair sur si vous devez définir explicitement la largeur avec quelque chose comme ceci:-vf scale=1280:720
. Expérimentez et voyez ce qui fonctionne pour vous.-c:v libx265 -crf 20
: Lelibx265
est le codec de codage vidéo. C'est-crf 20
le CRF (facteur de taux constant) . Le CRF par défaut si vous ne le spécifiez pas est 28, mais - pour l'instant - trouvez la qualité à peu près… Meh. Je préfère 20 car c'est un très bon équilibre entre qualité et taille de fichier.-threads 4
: J'aime spécifier le nombre de threads. 4 est ce que mon système peut gérer maintenant, mais je le cloisonne parfois à 2 ou 3. Un nombre plus élevé est plus rapide si vous avez suffisamment de CPU pour le gérer.-tag:v hvc1
: Le paramètre de métadonnées magiques à mettre en place pour que les appareils iOS lisent correctement les vidéos HEVC / x265.Et c'est à peu près ça!
la source