mplayer/mencoder で YUV ビデオを読み込む際に問題が発生する

mplayer/mencoder で YUV ビデオを読み込む際に問題が発生する

YUV RAW ビデオ フォーマットでいくつか実験しています。私が作成したこの YUV ビデオ (mjpegtools の ppmtoy4m を使用して、24 fps で撮影した一連のスクリーンショットから) は、Totem で正しく再生され、レートも色もすべて正しいです。さらに、ffmpeg で .mpg に問題なく変換できます。しかし、mplayer と mencoder ではうまくいきません。私は CentOS 6 でバージョン 1.0-0.47.svn20100703 を使用しています。

私は試した...

mplayer video.yuv -demuxer rawvideo -rawvideo w=1152:h=864:format=i420

...しかし、その結果は、水平方向の規制が解除された古いテレビのような奇妙なフレーム変位になります。どうやら、フレーム ヘッダーをフレームの一部であるかのように解釈しているようです。

bzip圧縮されたYUVファイルはここ(警告: 圧縮時は 34 MB、非圧縮時は 3.5 GB!)

個々のppmフレームはここ(圧縮時 2.8 MB、非圧縮時 557 MB)

このビデオは

cat *.ppm | ppmtoy4m -F 24:1 >video.yuv

不足しているパラメータはありますか?

答え1

問題は、y4m 形式が yuv ではないことです。slhck が述べたように、yuv にはメタデータがなく、幅と高さの情報さえありません (4:2:0、4:2:2、または 4:4:4、8 ビット、10 ビット、16 ビットのバリアントを指定することは言うまでもありません)。

Y4Mフォーマットの説明はhttps://wiki.multimedia.cx/index.php?title=YUV4MPEG2そして、メタデータも確実に存在します。

再生可能な生のyuvストリームが必要な場合はmplayerppmtoy4mそれを生成しません。

ffmpeg -i %04d.ppm -c:v rawvideo -f rawvideo -pix_fmt yuv420p video.yuv

mplayer代わりに y4m ストリームを再生したい場合は、他の誰かが(または別のツール)への正しい引数を探し出す必要があります。

関連情報