En comparant le PSNR de deux vidéos, éventuellement avec ffmpeg?
Je voudrais comparer un grand nombre de vidéos pour une bonne vidéo de référence dans le but de trouver des vidéos de mauvaise qualité. Je veux le faire en mode de traitement par lot en appelant un utilitaire de ligne de commande, je suis déjà en utilisant ffmpeg dans cette manière de saisir des images vidéo.
ffmpg va me donner un PSNR de la valeur à comparer l'entrée et la sortie des vidéos si je transcoder une vidéo. J'étais sous l'impression que je pourrais utiliser quelque chose comme cela pour comparer deux vidéos distinctes, mais ne peut pas trouver un moyen de le faire.
Serais-je mieux de prendre une seule image de chaque vidéo et en les comparant celles d'une certaine manière? Le PSNR est peut-être pas la meilleure option pour moi?
Je ne suis pas à la recherche de légères différences dans la qualité mais pour de grandes différences d'un des problèmes de synchronisation ou de grandes quantités de neige.
Des suggestions? Merci d'avance 🙂
OriginalL'auteur UnixNerd | 2013-11-07
Vous devez vous connecter pour publier un commentaire.
ffmpeg peut calculer le PSNR & SSIM lors de l'encodage, mais pour comparer les 2 vidéos que j'ai utilisé AVISynth comparer
OriginalL'auteur alexbuisson
Je sais que c'est trop tard mais j'étais en train de faire exactement la même chose et ne pouvait pas trouver comment. Pour toute personne confrontée au même problème, c'est la façon dont vous utilisez le psnr filtre dans ffmpeg pour comparer deux vidéos distinctes:
Documentation dit que input_video sera adopté sans modification de output_video, et le psnr valeur sera affichée sur la ligne de commande.
OriginalL'auteur pewpew
ffmpeg a un psnr de filtre:
voir https://trac.ffmpeg.org/wiki/FilteringGuide pour plus de détails
OriginalL'auteur dmitriykovalev
Je regardais le ssim de commande (https://ffmpeg.org/ffmpeg-all.html#ssim) et a décidé de l'essayer pour le psnr de commande pour voir si je peux obtenir aucun résultat utile. Il semble utile de moi. Le fichier journal est un mse_avg valeur que j'ai trouvé a été utile pour la détection de macroblocking dans une vidéo que j'ai généré.
http://www.mathworks.com/help/vision/ref/psnr.html m'a aidé à comprendre ce que le mse et le psnr moyen.
OriginalL'auteur mysti9uemirage
Je ne suis pas sûr de la façon appropriée il est, mais je viens de faire un essai par l'obtention du psnr au cours du transcodage d'une entrée et une sortie vidéo, puis à l'aide du psnr filtre à comparer la même entrée et de sortie vidéo. Le psnr les valeurs diffèrent dans les deux cas.
J'ai eu ce pour le transcodage:
PSNR Moyen Y:27.458 U:40.780 V:41.989 Avg:29.130 Global:28.996 kb/s:de 25,71
La documentation pour le transcodeur psnr seulement les etats: "Calculer le PSNR des images compressées."
et ce, pour le filtre:
PSNR moyen:24.30 min:23.09 max:30.50
Pour le filtre, la documentation précise: "Le filtre magasins le cumul des EQM (erreur quadratique moyenne) de chaque image, et à la fin du traitement, il est en moyenne sur toutes les images aussi, et de la formule suivante est appliquée pour obtenir le PSNR:PSNR = 10*log10(MAX^2/MSE)"
Je vais probablement être de choisir le filtre ou transcoder de toujours calculer le psnr dans toutes les vidéos que j'ai besoin de comparer, donc la valeur absolue n'a pas d'importance pour moi.
OriginalL'auteur pewpew