ffmpeg:トリミングされたサムネイルを作成する方法は?


10

ffmpegこのコマンドを使用してビデオのサムネイルを作成するには:

ffmpeg -itsoffset -4 -i video.mp4 -vframes 1 thumb.jpg

これにより、ビデオと同じサイズのサムネイルが表示されます(960x540など、サイズが不明です)。しかし、私が必要なのは、指定されたサイズ(例:200x200)の正方形の(トリミングされた)サムネイルです。結果のサイズは変更しないでください。ただし、中央から切り取ってください。アスペクト比は変更しないでください。

どうすればこれを達成できますか?


-itsoffset代わりになぜ使用するの-ssですか?最近、ユーザーがビデオから画像を出力することにより、この使用が増加するのを見てきました。
llogan 2013年

@LordNeckbeard:申し訳ありませんが、オプションを混同しています。詳細情報についてはこれを見つけた-itsoffset-sssuperuser.com/questions/538031/...
ゲオルクLedermann

回答:


12

cropビデオフィルターを使用できます。

ffmpeg -ss 4 -i video.mp4 -vf crop=200:200 -vframes 1 output.jpg
  • デフォルトでは、作物は中央に配置されます。

  • -ss代わりに-itsoffsetを使用して、オフセット時間を選択します。

  • でJPEG出力品質を制御でき-qscale:vます。通常、2〜5の値を使用することをお勧めします。値が小さいほど品質が高くなります。

  • cropフィルタは、値として入力および出力幅と高さを受け入れることができます:iwihowoh。これにより、より柔軟で創造的なフィルタリングが可能になりますcrop=iw-100:ih-50

ffplayプレビューしてプレビューを取得できます。

ffplay video.mp4 -vf crop=200:200

元の画像(testsrcソースフィルターで生成:

ffmpeg -f lavfi -i testsrc -vframes 1 output.jpg 

元の画像

トリミングされた画像:
トリミングされた画像


6

最初にスケーリングしてから、出力を向上させるためにトリミングできます;)

ffmpeg -ss 10 -i "Ali_Video.mp4" -vframes 1 -filter "scale=-1:300,crop=400:300" "output.jpg"

0:49の入力ビデオ 出力画像

ffmpeg -ss 10 -i "Ali_Video.mp4" -vframes 1 -filter "scale=-1:150,crop=200:150" "output.jpg"

別のサムネイル

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.