2017-09-11 22 views
0

画像のスタックをFFMPEGでlibx264を使用して.mp4に変換し、h.264ビデオをエンコードし、1つがピクセル形式を指定しなかった場合FFMPEGは、デフォルトのピクセル形式YUVJ420ですか?私はいくつかの実験をしていて、フォーマットを指定しなかった場合とYUVJ420を指定した場合と同じ結果を得ています。FFMPEGのデフォルトのピクセル形式画像の画像を画像にエンコードする場合

答えて

0

出力ピクセル形式は、入力ピクセル形式、使用されているエンコーダ、およびフィルタ処理を実行しているかどうかによって異なります。

ffmpeg -h encoder=libx264によれば、このエンコーダは、次のピクセル形式をサポートしています:yuv420p yuvj420p yuv422p yuvj422p yuv444p yuvj444p nv12 nv16 nv21。

デフォルトでは、ffmpegはサポートされているフォーマットのいずれかに最も近いソースピクセルフォーマットに似たピクセルフォーマット変換を自動的に実行します。 -loglevel debugを使用してコンソール出力の冗長性をさらに詳細に確認することができます。

[format @ 0x55657882d6e0] compat: called with args=[yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16|nv21] 
[format @ 0x55657882d6e0] Setting 'pix_fmts' to value 'yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16|nv21' 
[format @ 0x55657882d6e0] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format' 
[auto_scaler_0 @ 0x55657882eb00] picking yuv444p out of 8 ref:rgb24 alpha:0 
[auto_scaler_0 @ 0x55657882eb00] w:320 h:240 fmt:rgb24 sar:1/1 -> w:320 h:240 fmt:yuv444p sar:1/1 flags:0x4 

例えば出力用のピクセルフォーマット強制する:-vf format=yuv420p又は-pix_fmt yuv420pをRGB24入力の例。

+0

説明をありがとうございます!これは理にかなっています。デフォルトは、画像が最初にエンコードされた方法と関係がありました。 – JMevorach

関連する問題