2

上下にパディングがあるビデオのサムネイル画像を作成しようとしています。jpeg 画像を作成したい場合は問題なく動作しますが、png の場合はエラー メッセージ " error padding picture"が表示されます。

私が使用しているコマンドは次のとおりです。

ffmpeg -ss 0 -vframes 1 -i video.avi -padleft 0 -padright 0 -padtop 22 \
-padbottom 22 -s 128x84 quik.png

出力ファイルを " quik.jpeg" に変更するだけで機能します。ffmpeg でパディングされた png 画像を作成する方法はありますか? ここで明らかに間違ったことをしていますか?

4

1 に答える 1

0

はい ---padオプションを使用しています。それらは、ffmpeg の新しいバージョンでも利用できなくなりました。pad代わりにフィルターを使用する必要があります。

ffmpeg -ss 0 -vframes 1 -i video.avi \
  -vf scale=128:-1,pad=128:128:0:oh/2-ih/2 \
  quik.png

それを分解するには-vf

scale=128:-1

縦横比に適した高さを使用して、画像を幅 128 にスケーリングします。

pad=128:84:0:oh/2-ih/2

画像を 128x84 にパディングし、入力画像を Y 座標oh/2-ih/2(ohは出力の高さ 84、ihは入力画像の高さ) に配置して、出力の中央に配置します。

このフィルター文字列は、ビデオの幅よりも高さが高い場合は機能しないことに注意してください (したがって、垂直方向ではなく水平方向のパディングが必要です)。解決策は、読者に任せます。

于 2012-07-23T20:17:34.670 に答える