Angenommen, ich habe dasselbe Videomaterial in zwei (oder mehr) Dateien codiert. Ich würde gerne ein Hilfsprogramm für sie ausführen, das darauf hinweist, welche Datei von der Qualität her "die beste" ist. "Grundsätzlich" bedeutet, dass ich einen Bericht erhalten möchte, in dem verschiedene Aspekte (z. B. Videoauflösung, Videobitrate, Audioabtastrate, Audiobitrate usw. usw.) nacheinander verglichen werden, und dann eine ganzzahlige Bewertung, die alle Aspekte berücksichtigt von ihnen.
Hier geht es um die Funktionalität, aber damit dieses Dienstprogramm tatsächlich verwendet werden kann, sollte es Open Source und Befehlszeile sein.
video
comparison
avi
pfalcon
quelle
quelle
Antworten:
Ich arbeite in der Videoqualitätsforschung und es ist schwierig, Ihre Frage einfach zu beantworten. Was Sie wollen, ist ein Programm, das Ihnen einen Mean Opinion Score (MOS) eines Videos gibt, dh eine Zahl zwischen 1 und 5 oder zwischen 0 und 100, was der von einem Menschen wahrgenommenen Qualität entspricht.
Warum kann man Bitrate / Auflösung / etc. Nicht einfach vergleichen?
Allein der Vergleich der Videoauflösung sagt noch nichts über die Qualität aus. In der Tat kann es völlig irreführend sein. Ein 1080p-Movie-Rip mit einer Größe von 700 MB sieht möglicherweise schlechter aus als ein 720p-Rip mit einer Größe von 700 MB, da bei ersteren die Bitrate zu niedrig ist, wodurch alle Arten von Komprimierungsartefakten auftreten.
Gleiches gilt für den Vergleich der Bitrate bei ähnlichen Frame-Größen, da verschiedene Encoder tatsächlich eine bessere Qualität bei geringerer Bitrate liefern können oder umgekehrt. Beispielsweise sieht ein mit XviD erstellter 720p-Rip mit 700 MB schlechter aus als ein mit x264 erstellter Rip mit 700 MB, da letzterer wesentlich effizienter ist.
Sie müssten auch definieren, wie sich eine endgültige "ganzzahlige Bewertung" (MOS) aus den einzelnen Qualitätsfaktoren zusammensetzt. Dies hängt stark von verschiedenen Dingen ab, einschließlich, aber nicht beschränkt auf:
Wir reden nicht einmal darüber, wie Menschen die Videos wahrnehmen würden. Nehmen wir an, Sie haben einen Freund, der sich Filme ansieht, weil er oder sie gestochen scharfe Details und eine hohe Bewegungsauflösung mag. Sie wären viel kritischer, wenn sie einen Rip mit geringer Qualität sehen würden, als ein Freund, der sich nur Filme für ihren Inhalt ansieht . Sie würden sich wahrscheinlich nicht so sehr für die Qualität interessieren, solange der Film lustig oder unterhaltsam ist.
Es gibt verschiedene Arten von Videoqualitätsmetriken!
Lassen Sie mich Ihnen eine Liste geben, an was ich heute für die grundlegende Bewertung der Videoqualität am häufigsten denke. Es gibt verschiedene Videoqualitätsmetriken, die klassifiziert werden können, anhand welcher Art von Informationen die Qualität bestimmt wird. Grundsätzlich und ganz einfach unterscheidet man zwischen:
Keine Referenzmetriken - Sie haben nur ein Video als Eingabe und geben einen Qualitätsfaktor aus. In Ihrem Fall suchen Sie nach einer No-Reference-Metrik , da Sie häufig nicht einmal das Originalvideo haben. Eine solche Metrik nimmt ein Video auf und gibt einen Qualitätsfaktor aus. Hier sind einige Beispiele für Probleme, die eine NR-Metrik erkennen kann (z. B. Unschärfe).
Vollreferenz-Metriken - Sie haben zwei Eingänge, wobei einer das ursprüngliche Eingangsvideo und der andere das codierte Video ist. Sie können beispielsweise einen DVD-Film aufnehmen, dann zwei Rips daraus erstellen und mithilfe einer vollständigen Referenzmetrik den Qualitätsverlust zwischen dem ursprünglichen DVD-Film (dh dem MPEG-2-Video auf der Disc) und Ihren Rips abschätzen. Die Berechnung dauert lange, ist aber genauer.
Die oben genannten Messdaten beziehen sich auf die Video-Codierungsqualität, es gibt jedoch auch Messdaten, die Probleme wie die anfänglichen Ladezeiten und Verzögerungsereignisse beim Streamen von Videos beinhalten (z. B. ITU-T S.1203 ).
Welche Software kann ich verwenden?
Hier ist eine Liste gebrauchsfertiger Tools, mit denen Sie einige Metriken testen können (einige sind nur für Windows):
Welche Metriken gibt es nun?
PSNR, PSNR-HVS und PSNR-HVS-M
Für den Anfang ist PSNR (Peak Signal-to-Noise Ratio) eine sehr einfach zu verwendende, aber etwas schlechte Methode zur Beurteilung der Videoqualität. Es funktioniert zwar für die meisten Anwendungen relativ gut, gibt jedoch keine gute Einschätzung darüber, wie Menschen die Qualität wahrnehmen würden.
PSNR kann Bild für Bild berechnet werden, und dann würden Sie zum Beispiel das PSNR einer ganzen Videosequenz mitteln, um die endgültige Punktzahl zu erhalten. Höhere PSNR ist besser.
PSNR-HVS und PSNR-HVS-M sind Erweiterungen von PSNR, die versuchen, die visuelle Wahrnehmung des Menschen zu emulieren. Sie sollten daher genauer sein. VQMT und MSU können PSNR, PSNR-HVS und PSNR-HVS-M zwischen zwei Videos berechnen.
SSIM, MS-SSIM
Structural Similarity (SSIM) ist so einfach zu berechnen wie PSNR und liefert genauere Ergebnisse, jedoch immer noch Frame für Frame. Sie finden einige Implementierungen unter dem Wikipedia-Link, oder Sie können VQMT oder MSU verwenden . Diese Tools umfassen auch MS-SSIM, das bessere (dh repräsentativere) Ergebnisse liefert als SSIM, sowie einige andere Derivate.
Die Ergebnisse sollten ähnlich wie bei PSNR sein. Auch hier müssen Sie einen Verweis auf ein verarbeitetes Video vergleichen, damit dies funktioniert. Beide Videos sollten dieselbe Größe haben.
VMAF
Video Multi-Method Assessment Fusion von Netflix ist eine Reihe von Tools zur Berechnung der Videoqualität auf der Grundlage einiger vorhandener Metriken, die dann durch Methoden des maschinellen Lernens zu einem Endergebnis zwischen 0 und 100 verschmolzen werden. Netflix hat das Ganze hier erklärt :
Sie können auch verwenden
ffmpeg
VMAF Noten zu berechnen .VQM
Die Videoqualität Metric wurde in der validierten Videoqualität Experts Group (VQEG) und ist ein sehr guter Full-Referenzalgorithmus. Sie können VQM kostenlos herunterladen oder die Implementierung von MSU verwenden.
Wenn Sie sich registrieren und herunterladen, möchten Sie das allgemeine NTIA-Modell oder das Videoqualitätsmodell mit variabler Bildverzögerung verwenden .
Andere Metriken
Bei beiden handelt es sich um kommerzielle Lösungen, für die Sie keine Software zum Herunterladen finden.
Es gibt auch einige ITU-Standards für Nichtreferenzmetriken , wie ITU-T P.1201 und ITU-T P.1202 , die mit Parametern aus dem Bitstream für IPTV-Streaming arbeiten. ITU-T S.1203 kann für Fälle von adaptivem Streaming verwendet werden.
Zusammenfassung
Wenn Sie nur einfache objektiv messbare Kriterien vergleichen möchten, wie:
… Ein einfacher Anruf
ffmpeg -i
sollte Ihnen alle Details geben, die Sie zu Beginn benötigen. Schauen Sie sich auch die-vstats
Option an. Sie können dies dann in einer Tabelle zusammenfassen. Beachten Sie, dass beim Codieren von Videosx264
beispielsweise PSNR-Daten bei Bedarf direkt in einer Datei protokolliert werden, sodass Sie diese Werte später verwenden können.Was das Abwägen dieser Kriterien angeht, sollten Sie wahrscheinlich die Bitrate betonen - aber nur, wenn Sie wissen, dass der Codec derselbe ist. Man kann allgemein sagen, dass bei Verwendung von x264 für beide Videos die höhere Bitrate besser ist. Im Allgemeinen sollten Sie eine niedrigere Auflösung wählen, wenn Sie zwei Videos mit derselben Bitrate haben, da die Verschlechterung aufgrund von Upscaling nicht so schlimm ist wie die Verschlechterung aufgrund niedriger Bitrate.
Der Vergleich verschiedener Codecs nach ihrer Bitrate ist nur möglich, wenn Sie mehr über den Inhalt und die einzelnen Codierungseinstellungen wissen. Die Bildrate ist ebenfalls sehr subjektiv und sollte in Ihre Messungen einbezogen werden, wenn sie deutlich unter 25 Hz liegt.
Um zusammenzufassen, betonen Sie die Bitrate stark, wenn es das einzige ist, was Sie haben. Vergiss nicht auch deine Augen zu benutzen :)
quelle
Mir ist kein Tool bekannt, mit dem Sie eine endgültige Empfehlung oder Bewertung erhalten. Mit FFmpeg können Sie jedoch alle in der Frage aufgeführten Details ausgeben.
In der Befehlszeile listet ffmpeg -i die Informationen aus dem Video auf. Von dort aus können Sie ein Skript schreiben, um die Informationen zu analysieren und nach Bedarf zu gewichten.
quelle