1
ffmpeg:未指定のままにするのではなく、h.264をbt.601として明示的にタグ付けしますか?
「未指定」ではなく、明示的にbt.601としてビデオにタグを付けたい。プレーヤーは通常、幅が1280ピクセル未満のビデオのデフォルトとしてbt.601を選択することを知っていますが、bt.601がビデオの正しいカラーマトリックスであることを明示的にしたいと思います。 問題は、bt601ffmpegやlibx264 にはオプションがなく、bt709とその他のオプションのみであるということです。 HDからダウンスケールされたビデオがいくつかありますが、まだbt.709のままですが、適切にタグ付けされていません。そのため、ビデオを見るときに、プレーヤーを手動でbt.709に切り替える必要がある場合があります。bt.601として明示的にタグを付けると、将来の視聴者(たとえば、私)に、それがbt.601であることは間違いありませんmediainfo。 これのもう1つの使用例は、(を使用して-vf colormatrix)カラーマトリックス変換を行わずにbt.601ビデオを1280以上に拡大した場合、色情報を指定しないままにしておくと、プレーヤーはbt.709を誤って想定します。 FFMpegのcolormatrixビデオフィルターはbt601、入力または出力のカラーマトリックスとしてサポートしますが、タグも設定しません。(ffmpegのカラーオプションを設定する副作用がないため、のようにsrcとdestで操作することさえ拒否されてい-vf colormatrix=bt601:bt601ます。) ffmpg in -color_primaries bt709 -color_trc bt709 -colorspace bt709 out 出力ビデオに、yuv <-> rgbのbt.709を使用するタグを付けます。タグは、コンテナー内だけでなく、ビデオビットストリーム自体の内部にあります(これは、少なくともmp4およびmkvコンテナーでは、コンテナー固有のものではなく、コーデック固有のもののようです)。 例:mediainfo出力: Complete name : out.mkv ... Writing application : Lavf57.14.100 Writing library : Lavf57.14.100 Video ID : 1 Format : AVC ... Writing library : x264 core 148 r2638+4 afcf21c …