Notez que pour cela, vous devez toujours utiliser la dernière version de ffmpeg , et de préférence la compiler vous-même . Cela vous donne accès aux libx265 et libfdk-aac les plus récents pour l'encodage audio.
En outre, les économies de débit de données seront assez drastiques si vous passez d'un DVD de ~ 10 Mo / s à environ 1 à 2 Mo / s pour la vidéo H.264 et 0,5 à 1 Mo / s pour la vidéo H.265. La modification de la qualité dans les étapes ci-dessous peut influencer les débits binaires, mais la réduction des données doit néanmoins être significative.
H.264
Pour le contrôle qualité / débit, vous souhaitez utiliser le mode CRF dans libx264 plutôt qu'un débit binaire constant. L'utilisation de CRF garantit la conservation d'une qualité moyenne, indépendamment de la résolution vidéo d'origine ou de sa complexité. Le débit binaire constant n'est vraiment utile que si vous êtes contraint par le support de transmission (par exemple, la vitesse du disque dur, le débit Internet).
Le choix de la valeur CRF est la partie délicate. Cela vous oblige à regarder la sortie. La valeur par défaut de libx264 (23) offre un assez bon compromis entre taille et qualité. Mais étant donné que votre source d'origine est déjà compressée (et pas avec une très bonne qualité par rapport aux Blu-ray), vous voudrez peut-être changer le CRF pour qu'il soit un peu plus bas, comme 20. Cela augmentera le débit requis d'environ un tiers .
Choisissez le préréglage en fonction du temps que vous souhaitez attendre. slow
semble être une bonne valeur ici.
ffmpeg -i input \
-c:v libx264 -crf 20 -pix_fmt yuv420p \
-x264-params keyint=240:min-keyint=20 \
-preset:v slow -profile:v baseline -level 3.0 \
-c:a libfdk_aac -vbr 4 \
output.mp4
L'encodeur AAC ffmpeg intégré peut être utilisé si libfdk-aac n'est pas disponible. Utilisez -c:a aac -strict experimental -b:a 128k
au lieu de -c:a libfdk_aac -vbr 4
.
H.265
La recherche suggère que l'utilisation de HEVC entraînera jusqu'à 74% d'économie de débit binaire par rapport au H.264. Ceci est basé sur des données de visualisation subjectives de séquences Ultra-HD. Bien sûr, cela dépend de la complexité temporelle du contenu source, et la quantité de données enregistrées ne sera pas aussi élevée pour les séquences difficiles à coder. Quoi qu'il en soit, vous pouvez dire en toute sécurité qu'une réduction de 50% des données est absolument possible.
Le CRF par défaut pour libx265 est 28. En utilisant le même contenu source, il en résulte environ la moitié du débit par rapport à libx264 au CRF 23. Ceci est indépendamment du débit réel, c'est-à-dire, si la version H.264 prend 1,5 MBit / s, alors H.265 utilisera environ 750 kBit / s, mais c'est 750 kBit / s contre 350 kBit / s pour une autre séquence. Je l'ai exécuté sur quelques séquences en résolution DVD-PAL et je n'ai pas pu faire la différence en termes de qualité.
ffmpeg -i input \
-c:v libx265 -pix_fmt yuv420p \
-x265-params crf=28:keyint=240:min-keyint=20 \
-preset:v slow \
-c:a libfdk_aac -vbr 4 \
output.mp4
Pour plus d'informations, voici les ressources pertinentes:
keyint
en x264 / x265 est l'intervalle entre les images IDR, c'est-à-dire l'intervalle entre les images clés auquel le décodeur peut rafraîchir. Entre les deux, il peut y avoir des images I autres que des images clés, par exemple lorsqu'une scène est coupée. C'est équivalent au-g
paramètre si je ne me trompe pas.-c:a aac -strict experimental
comme indiqué dans ma réponse. Et je suis d'accord, je n'essaierais pas de le construire sur Windows.libopus > libvorbis >= libfdk_aac > aac > libmp3lame >= libfaac >= eac3/ac3 > libtwolame > vorbis > mp2 > wmav2/wmav1
Pour AAC uniquement: (Parce que c'est un peu déroutant, avec 3 encodeurs disponibles):libfdk_aac > aac > libfaac
Le signe> = signifie plus grand ou le même qualité."