web-dev-qa-db-ja.com

WindowsでFFMPEGを使用して画像をビデオに変換する

一連のJPEG画像をタイムラプスビデオに変換しようとしています。それらはIMGP0001.JPG、IMGP0002.JPGなどの形式になっています。外観から、これはパターンIMGP%04.JPGと一致するはずです。

私は次のコマンドを試しました ((このページの2番目のエントリから変更された)

ffmpeg -f image2 -i IMGP%04d.jpg video.mpg

「IMGP%04d.JPG:そのようなファイルまたはディレクトリはありません」というエラーが表示されます。

何が悪いのですか?おそらく「IMGP%04d.JPG」という構文は* nix固有のものですか?もしそうなら、Windowsの同等のものは何でしょうか?

8
CadentOrange

ファイル名テンプレートを二重引用符で囲んでみてください。また、スクリプトでコマンドを実行している場合は、%の代わりに%%を使用する必要がある場合があります。

6

上記のマイクの答えに基づいて、Windowsソリューションでも機能する他のいくつかの便利なスイッチがあります。

次の1つのライナーを使用して、フレームレートを遅くし、画像を圧縮して、結果のビデオを小さくしています。

ffmpeg.exe -f image2 -framerate 25 -pattern_type sequence -start_number 1234 
        -framerate 3 -i "Imgp%%04d.jpg" -s 720x480 test.avi

-framerate 3オプションは、結果のビデオのフレームレートを1秒あたり3フレームに設定するので、短期間それぞれを静止画像で見ることができます。 -rを出力オプションとして追加すると、-framerate値と異なる値にする必要がある場合に、出力のフレームレートが変更されます。 -sオプションは、結果のビデオのサイズを管理するために、画像を必要な解像度に再スケーリングします。代わりに、より柔軟な scale filter を代わりに使用できます。

上記のJasonのコメントとは異なり、-start_numberスイッチを次のように使用する場合は、ファイルの名前を変更する必要はありません。

ffmpeg -f image2 -start_number n -i "IMGP%%04d.jpg" video.mpg 
    -vcodec mpeg4 test.avi

ここで、nは、静止画のシーケンスの開始です。

これは、シーケンスが開始されたら、シーケンスが途切れない限り機能します。ギャップがあり、すべての静止画を含める場合は、ギャップを埋めるために番号を付け直す必要がある場合があります。

10
Assad Ebrahim

より簡単な方法があり、無料のソフトウェア(Total Commander)と無料のAVIプラグインを使用する必要があります。

この記事を参照してください " 静止画からアニメーションを作成する "、 ここ

0
Assad Ebrahim