ffmpeg-開始とcoutを使用して画像フレームからビデオを作成します


18

私は画像フレームからビデオを作成し、それは素晴らしい作品です。問題は、フォルダ内のすべての画像を使用したくないことです。フォルダに200フレームありますが、1〜100のビデオが必要です。

フレームカウントまたはフレームエンドを特定するにはどうすればよいですか?

ffmpeg -start_number n -i test_%d.jpg -vcodec mpeg4 test.avi

方法がわかりません

ありがとう!


このプログラムについてはあまり知りませんが、特定のフォルダー内のすべての画像を使用している場合、新しいフォルダーを作成して、必要な100フレームだけを入れてみませんか?
philipthegreat

2
それはffmpegでそれを行うことができない場合、私の「ハックソリューション」になります:)
DarkPixel

回答:


29

これを行うには、必要なフレーム数を指定します。

-vframes 100  

だから効果的にはあなたの場合です:

ffmpeg -start_number 1 -i test_%d.jpg -vframes 100 -vcodec mpeg4 test.avi

pix_fmt他の要因に応じて、etcなどの他のパラメーターを指定する必要がある場合があります。

また、通常は、test_%05d.jpg先行するゼロと5桁の番号付きシーケンスのようなものを使用します。その形式で持っていない場合は、グロビングパターンを使用する必要あります。参照してくださいこれを


3

これは私にとって常にうまく機能するコードです。

ffmpeg -i yourfile.mp4 -r 1 -ss 15 -t 16 -f image2 snapshot.jpg
                                ^     ^ 
                                ^     ^
                              start  end
                               time   time

時間は秒のみです。リールの2分前の場合、120です。1つの画像ファイルは常に1秒の価値があるため、そのアプローチで希望の画像を計算します。

yourfile.mp4 =ムービークリップ

snapshot.jpg =新しい画像ファイル

重要:image2はそのままにします。それは私が欲しかったものを手に入れる唯一の方法です。


4
このコマンドは、ffmpeg今使用しなければならない古いもので動作するため、感謝しています。唯一のものは-t「終了時間」ではなく、man ffmpeg「期間」であると述べています。終了時間は開始+期間になります。乾杯!
sdaau
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.