ffmpeg: Conversion 50i à 50p de la plus haute qualité, comparable à Adobe Premiere

0

J'ai 50 images (plus spécifiquement étiqueté comme 25 images par seconde, mais contient du mouvement sur les champs secondaires). Je suis en mesure d’obtenir une conversion de bonne qualité en 50p d’Adobe Premiere en exportant simplement au format Frame Rate 50, Progressif. Je suis également capable d’obtenir une très bonne qualité de conversion même avec ffmpeg en utilisant des paramètres tels que:

ffmpeg.exe -y -i INPUT.MOV -b: v 12000k -vcodec libx264 -filter: v yadif = 1, format = yuv420p -acodec copie OUTPUT.MP4

(ou avec -qp 0)

Le problème est, il y a considérablement pire artefacts de compression sur le résultat ffmpeg sur les objets qui se déplacent. Même sur un débit très élevé (beaucoup plus élevé que Premiere). Pourquoi donc? Fondamentalement, cela n’aide en rien d’ajouter «-preset veryslow». Existe-t-il d'autres paramètres pour tenter de supprimer ces artefacts de compression de mouvement? Premiere produit des résultats nets et agréables, tandis que ffmpeg génère un léger désordre au format JPEG (avec également un désordre en peignoir).

Jim Hoyle
la source
Etes-vous sûr que l'algorithme de désentrelacement n'est pas en cause? Je vous suggère de prendre une scène où le problème est très visible et de sauvegarder cette scène sans compression. Oh et au fait: utilisez CRF, pas bitrate.
Daniel B

Réponses:

0

Vous avez raison de penser que la qualité vidéo n'a rien à voir avec l'encodage vidéo, mais avec le filtre de désentrelacement. Vous utilisez yadif, mais si vous n'êtes pas satisfait de sa qualité, jetez un coup d'œil aux autres filtres de désentrelacement kerndeint, mcdeint et w3fdif. Vous pouvez trouver des détails d'utilisation et des options dans la documentation ffmpeg .

user1978011
la source
Merci, c'est en effet probablement plus sur le filtre de désentrelacement. Voici les résultats: je ne pouvais pas obtenir kernint travailler avec 50 images par seconde (seulement 25 images par seconde) et c’était quand même de mauvaise qualité. -crf 0 -filter:v yadif=1:0,mcdeint=2:1:10,format=yuv420p était incroyablement lent mais produisait presque aussi bien que Premiere, pire encore (même avec crf 0). w3fdif Je ne pouvais pas travailler pendant 50 fps ni désentrelacer du tout. J'apprécierais beaucoup si quelqu'un pouvait publier des paramètres confirmant son efficacité.
Jim Hoyle
Pouvez-vous fournir un petit échantillon de votre vidéo?
user1978011
Peut-être que ça suffit si je montre un image - Dans ces captures d'écran, il n'y a pas vraiment de différence, mais l'image ci-dessus est légèrement pire. J'ai écrit du texte sur les images, ça devrait donc être explicite.
Jim Hoyle
En fait, je ne vois pas vraiment une grande différence là-bas. Sans un échantillon approprié, il sera impossible d'afficher les paramètres de filtre appropriés, désolé ...
user1978011
J'avais tort de dire que Premiere avait un bon désentrelacement. Il n'a pas de désentrelacement, seulement des champs en double. Juste avec du matériel, si vous doublez les champs et que vous le montrez à 50 images par seconde, cela peut sembler bon, mais avec les graphiques vectoriels, il scintille et est absolument horrible. Yadif semble être très bon, mais il a par exemple entrelacement de deux images de buggy lorsque la vidéo est découpée en un graphique vectoriel ou en est séparée. Très ennuyeux de ne pas pouvoir résoudre ça.
Jim Hoyle