![FFmpeg 16進数カラーを正確に一致させる](https://rvso.com/image/1606709/FFmpeg%2016%E9%80%B2%E6%95%B0%E3%82%AB%E3%83%A9%E3%83%BC%E3%82%92%E6%AD%A3%E7%A2%BA%E3%81%AB%E4%B8%80%E8%87%B4%E3%81%95%E3%81%9B%E3%82%8B.png)
次のコマンドを使用して、ffmpeg を使用してカラー背景のビデオを生成しようとしています。
ffmpeg.exe -t 5 -f lavfi -i color=c=0x1E3932:s=1094x863 -vcodec libx264 -pix_fmt yuv420p output_test.mp4
しかし、間違った緑が生成されます。#1B3531
ビデオのスクリーンショットを撮って色をサンプリングすると、この色が生成されます。Web サイトの背景色と一致させる必要があるため、特定のコーデックとピクセル形式が必要です。サポートする必要があるプラットフォーム/ブラウザーでは、webm または別のコーデックを使用できません。
color
必要な色空間で正しい 16 進数値を出力するソースを取得する方法はありますか?colorspace
またはcolormatrix
フィルターを使用してこの効果を実現する方法はありますか (私の理解では、この色の変化は RGB から YUV への変換によって発生します)?
答え1
-vf scale=out_color_matrix=bt709 を使用してマトリックスに変換し、-colorspace 1 を使用して出力にタグを付ける必要があります。また、-color_range tv (scale のデフォルト) にタグを付け、-color_trc iec61966_2_1 にタグを付け、-color_primaries に bt709 にタグを付けることもおすすめです。