命名スタイル「frame_0000.jpg」、「frame_0001.jpg」の何百もの写真をaviに変換しますか?


0

これらの画像はすべてjpegとして使用しており、AVIにストリーミングしたいと考えています。ここで示したコマンドでffmpegを使用しようとしていますが、「No such file or directory」というエラーが表示されます。

私の正確なコマンドは次のとおりです(これらのファイルすべてを含むフォルダーから):

ffmpeg -f image2 -i frame_%d.jpg view.avi

どうすればいいですか?また、特定の範囲の画像に対してこれを行うにはどうすればよいですか?たとえば、フレーム500〜1000だけが必要な場合、frame_0500.jpgからframe_1000.jpgが必要ですか。


あなたがそれを一つずつやっていた場合、それは動作しますか(回避策を考えて)?
soandos

frame_1を探しており、frame_0001があるため、機能していない可能性があります。
soandos

それが理由だと思う、あなたは正しい:)しかし、私はそれらのゼロを削除するために何千ものファイルの名前を変更する方法はありません。ffmpegがこれを処理できる方法が必要ですか?

あなたはしてファイル名を変更することができます一括Renamerのが、私はそれなしでそれを行うための方法があるとは思わない
soandos

を使用frame_%04d.jpgして、先頭のゼロを正しく処理できますがffmpeg、シーケンスの開始は0001であると主張します。開始するには0500です。一括名前変更が必要だと思います。
マイクフィッツパトリック

回答:


2

正しいコマンドは

ffmpeg -f image2 -i frame_%04d.jpg view.avi

%04d手段は、番号の長さは4つの文字、ゼロパディング(0000から9999)です。

範囲を指定する場合は、必要なファイルを独自のディレクトリに移動するだけです。

これはGUIで簡単ですが、コマンドラインではできます

mv frame_0[5-9]* newfolder
mv frame_1000* newfolder

3

グロブパターン

ffmpegグロブパターンの非古代ビルドを使用する方が最も柔軟な方法です:

ffmpeg -framerate 10 -pattern_type glob -i "*.png" -pix_fmt yuv420p output.mkv

シーケンス

これは、番号の入力、一連の変換されますimage-0001.pngimage-0002.pngなどを:

ffmpeg -framerate 30000/1001 -i image-%04d.png -pix_fmt yuv420p output.mkv
  • 特定の画像から開始する場合は-start_number、など-start_number 100の入力オプションとしてを追加します。

cat

を使用catして画像をパイプすることもできますffmpeg

cat *.jpg | ffmpeg -framerate ntsc -f image2pipe -c:v mjpeg -i - -pix_fmt yuv420p output.mp4

ノート

  • 出力は、入力と同じフレームレートを使用します。宣言しない場合-framerate、デフォルトの25が使用されます。特定のレートで入力を読み取り、フレームをドロップまたは複製して異なる出力フレームレートを実現する場合-r-r 25、inなどの出力オプションとして追加することもできますffmpeg

  • 入力、ffmpegバージョン、および選択したエンコーダーに応じて、ffmpegクロマサブサンプリングを回避または最小化しようとします。これは技術的な意味では良いかもしれませんが、FFmpegベースでないプレーヤーでは再生できない出力を生成する可能性があります。追加-pix_fmt yuv420pすると、H.264ビデオにエンコードするときに出力が再生可能になります。

  • ffmpeg開発は非常に活発であり、既に修正されたバグを避けるため、最近のビルドを使用することをお勧めします。Windows、OS X、およびLinuxのビルドへのリンクについては、FFmpegダウンロードページを参照しください。

こちらもご覧ください

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