web-dev-qa-db-ja.com

N番目ごとの画像を順番に使用してFFmpegを使用してビデオを作成する

ビデオの生成に使用している一連のタイムラプス画像があります。これらの画像は大きい(1080p)ので、コンピューターのスペースをできるだけ少なくしようとしています。私は現在約3500枚の画像を持っています。 FFmpegを使用して30fpsおよび3500kb/sでビデオを生成する場合、ファイルは約50MBであり、PowerPointプレゼンテーションで使用するのに実際には適したサイズではありません。したがって、FFmpegを使用してビデオを生成したいのですが、ビデオ内のこの画像シーケンスのN番目ごとのフレームのみを使用します。私はこれを行う方法を提案するたくさんの投稿を見つけましたが、それらはすべて既存のビデオを取り、それを削減しています。 selectコマンドを使用してこれを達成しようとしましたが、役に立ちませんでした。これは私が使用しているコマンドです:

ffmpeg -framerate 30 -i Image%08d.jpg -filter:v select='not(mod(n\,5))' -b:v 3500k Output.mp4

誰か提案がありますか?

1
Kyle Jones

ビットレートを指定する代わりに、CRFモードを使用できます。

ffmpeg -framerate 30 -i Image%08d.jpg -crf 23 Output.mp4

値は小さいほど良いですが、ファイルは大きくなります。 18-28はまともな範囲です。


5フレームごとに使用するには、

ffmpeg -framerate 30 -i Image%08d.jpg -vf "select='not(mod(n,5))',setpts=N/30/TB" -crf 23 Output.mp4
2
Gyan