ビデオの生成に使用している一連のタイムラプス画像があります。これらの画像は大きい(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
誰か提案がありますか?
ビットレートを指定する代わりに、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