1. ホーム
  2. ffmpeg

[解決済み] ffmpeg が MJPEG エンコード用に高画質な画像を生成する。

2022-02-12 06:07:11

質問

mov / H.264ファイルがたくさんあり、mov / MJPEGにエンコードしたいと思っています。しかし、私は非常に低品質の出力を得ています。以下は私が試したことです。

ffmpeg -i a.mov -an -crf 11 -preset slower -pix_fmt yuv420p -vcodec mjpeg -f mov -y b.mov

H.264のエンコーディングでは -crf-preset フラグはより高い品質を生成します。しかし、それはMJPEGではうまくいかないようです。

解決方法は?

使用方法 -q:v (M)JPEGの画質をコントロールするために

有効範囲は2-31のリニアスケールで、値が小さいほど高画質で出力されます。

使用例

MJPEGビデオをMOVコンテナで作成します。

ffmpeg -i input.mov -c:v mjpeg -q:v 3 -an output.mov

一連のJPG画像を出力する。

ffmpeg -i input.mov -q:v 2 images_%04d.jpg

ファイル名は images_0001.jpg , images_0002.jpg , images_0003.jpg など。


プライベートオプション

<ブロッククオート

H.264のエンコードでは -crf-preset フラグはより高い品質を生成します。しかし、それはMJPEGではうまくいかないようです。

MJPEGエンコーダは -crf-preset これらは プライベートオプション libx264、libx265、libvpx などの一部のエンコーダで使用されます。プライベートオプションは、以下のように表示されます。 ffmpeg -h encoder=mjpeg .