FFMpeg-Bildsequenz zu Video mit VP9-Encoder

FFMpeg-Bildsequenz zu Video mit VP9-Encoder

Ich versuche, MP4 verlustfrei in das WebM-Format umzuwandeln. Ich habe dazu zwei Möglichkeiten ausprobiert.

Zu diesem Zweck habe ich MP4-Videos in Bildsequenzen (PNG) extrahiert. Dann habe ich die Bildsequenz (ohne ein Frame zu ändern) mit einem verlustfreien Flag in ein WebM-Video konvertiert. Aber als ich WebM-Videos in Bildsequenzen extrahierte und mit den Bildern verglich, die ich aus MP4-Videos extrahiert hatte, stellte ich fest, dass die PSNR-Werte nicht unendlich waren. Sie schwanken zwischen etwa 53 und 55 dB.

Andererseits habe ich MP4 direkt mit einem verlustfreien Flag in WebM transkodiert. Dann habe ich Bildsequenzen aus dem MP4- und WebM-Format extrahiert und die PSNR-Werte verglichen. Diesmal habe ich festgestellt, dass die PSNR-Werte unendlich sind.

Das Kodieren von Bildsequenzen in WebM-Videos mit dem Flag „Lossless“ ist nicht wirklich verlustfrei. Stimmt das oder mache ich etwas falsch?

Antwort1

Das MP4-Video verwendet eine Variante des YUV-Farbraums, ebenso wie VP9. PNG speichert RGB-Pixel. Ihre MP4 -> PNG -> VP9-Pipeline hat also zwei Farbraumkonvertierungen, nämlich YUV -> RGB -> YUV. DieseKonvertierungensind mathematisch nicht verlustfrei.

verwandte Informationen