
Ich mache einige Erfahrungen mit dem YUV-Rohvideoformat. Dieses YUV-Video, das ich erstellt habe (mit ppmtoy4m von mjpegtools, aus einer Reihe von Screenshots, die mit 24 fps aufgenommen wurden), lässt sich mit Totem problemlos abspielen, korrekte Rate, korrekte Farben, alles. Außerdem kann ffmpeg es problemlos in eine MPG-Datei konvertieren. Aber mplayer und mencoder kommen nicht weiter. Ich verwende Version 1.0-0.47.svn20100703 in CentOS 6.
Ich habe es versucht...
mplayer video.yuv -demuxer rawvideo -rawvideo w=1152:h=864:format=i420
...aber das Ergebnis ist eine seltsame Frameverschiebung wie bei einem alten Fernseher mit deregulierter Horizontale. Anscheinend interpretiert es die Frameheader, als wären sie Teil des Frames.
Die bzippte YUV-Datei finden SieHier(WARNUNG: 34 Megabyte komprimiert, 3,5 Gigabyte unkomprimiert!)
Die einzelnen ppm-Frames sindHier(2,8 Megabyte komprimiert, 557 Megabyte unkomprimiert)
Das Video wurde erstellt mit
cat *.ppm | ppmtoy4m -F 24:1 >video.yuv
Gibt es einen Parameter, den ich vermisse?
Antwort1
Ihr Problem ist, dass das y4m-Format nicht yuv ist. Wie slhck erwähnte, hat yuv KEINE Metadaten und es fehlen sogar Breiten- und Höheninformationen (ganz zu schweigen von der Angabe von 4:2:0 4:2:2 oder 4:4:4; 8-Bit-, 10-Bit-, 16-Bit-Varianten).
Eine Beschreibung des Y4M-Formats fand ich unterhttps://wiki.multimedia.cx/index.php?title=YUV4MPEG2und es hat definitiv Metadaten.
Wenn Sie rohe Yuv-Streams wollen, die mplayer
abgespielt werden können, ppmtoy4m
werden diese nicht generiert. Sie können möglicherweise verwenden
ffmpeg -i %04d.ppm -c:v rawvideo -f rawvideo -pix_fmt yuv420p video.yuv
Wenn Sie stattdessen einen Y4M-Stream abspielen möchten, muss jemand anderes mplayer
(oder ein anderes Tool) die richtigen Argumente heraussuchen.