詰まっています...数分ごとにWebカメラから写真をダウンロードするスクリプトをしばらく使用してきました。命名規則は次の通りで、すべてnew_image((len(files(dir))+1) + '.jpg')
が大丈夫でした...今日まで...
画像を読み込むPythonスクリプトがあります。作成日基準OpenGLデータをインポートして映画にダンプします。難しくなく、すべてが大丈夫です。今を除いて何千もの画像があり、このように続けるのはやや非効率的です(素敵でも)自分だけのGUIやオーバーレイなどを作ることができるからです。)..とにかく私はffmpegを使ってショーで結合しています。
ffmpeg -f image2 -r 25 -pattern_type glob -i '*.jpg' -qscale 3 -s 1920x1080 -c:v wmv1 video.wmv
ffmpegはうまく機能しますが、名前付きの順序で画像を取得することは機能しません。これは、ファイルが以下-pattern_type glob
のような(同じではなくても)方法で取得されるためです。ls
user@host:/storage/photos$ ls
0.jpg 1362.jpg 1724.jpg 2086.jpg 2448.jpg 280.jpg 3171.jpg 3533.jpg 3896.jpg 4257.jpg 4619.jpg 4981.jpg 5342.jpg 5704.jpg 6066.jpg 650.jpg
1000.jpg 1363.jpg 1725.jpg 2087.jpg 2449.jpg 2810.jpg 3172.jpg 3534.jpg 3897.jpg 4258.jpg 461.jpg 4982.jpg 5343.jpg 5705.jpg 6067.jpg 651.jpg
0, 1000, 1, 2000, 2
...それが論理ls
なので、画像シーケンス(時間経過)はすべて処理されます。
ffmpegを使用してより整頓された方法で画像をロードする方法についてのアイデアはありますか?
ベストアンサー1
ffmpegは同じファイル形式をリンクします
次のコマンドを使用して、任意の方法でファイルのリストをリンクできます。
ffmpeg -f concat -i <( for f in *.wav; do echo "file '$(pwd)/$f'"; done ) \
output.wav
上記の方法は、リンクするファイルがすべて同じコーデックである場合にのみ機能します。たとえば、すべて.wavまたは.mpgである必要があります。
メモ:concat demuxerを使用するにはffmpeg v1.1以降が必要です。上記の例と、この手法を使用してさまざまなコーデックを接続する方法について詳しく学んでください。ffmpegのウェブサイト。
printfフォーマッタを使用したffmpeg
FFmpegはprintfフォーマッタ(たとえば)を使用することもできます%d
。これは、ゼロから始まり、順番に上に上がる数字と一致します。数字が000 - 099のような構造で構成されている場合は、%03d
ゼロパディングを使用して一連の3桁の数字を表すこのフォーマッタを使用できます。
だからあなたはこれを行うことができます:
ffmpeg -r 25 -i %d.png -qscale 3 -s 1920x1080 -c:v wmv1 video.wmv
上記は私には適しておらず、ffmpeg
このオプションについて不平を言っています-c:v
。私はオプションを省略しましたが、そのバージョンのコマンドが期待どおりに機能しました。
ffmpeg -r 25 -i %d.png -qscale 3 -s 1920x1080 video.wmv