30,000個の画像をタイムラプスムービーに結合するにはどうすればよいですか?


69

30,000枚の静止画像を撮影し、それらを組み合わせてタイムラプスムービーにしたい。QuickTime Pro、TimeLapse 3、およびWindows Movie Makerを試しましたが、膨大な量の画像があるため、各プログラムは失敗します(SUPER©を試してみましたが、どちらも動作しませんでした...?)。これらのプログラムはすべて、数千枚の写真の後にクラッシュするようです。

私が持っている画像はすべて、解像度1280x800の.JPG形式で、これらの画像をある種のロスレス形式のタイムラプスムービーに入れることができるプログラムを探しています(生/非圧縮AVIは問題ありません)さらに編集します。誰かがアイデアを持っていますか、または同じような写真の数でこのようなことを試しましたか?


Adobe PremiereやFinal Cut Proなどを試しましたか?
マフムードホッサム

HuffYUVのようなロスレスビデオコーデックを使用してみましたか?
-Hydaral

jpegは損失があるため、すでに品質が低下しているため、元に戻すことはできません。
ctrl-alt-delor

回答:


54

Avidemuxは、多数の画像からムービーを作成できます。http://fixounet.free.fr/avidemux/

mencoderを使用することもできますが、すべてのコマンドラインオプション 'n allを使用すると、少し使いにくくなります。私はこれを使用しています:

mencoder mf://*.jpg -mf fps=xxx:type=jpg -ovc x264 -x264encopts bitrate=yyyy:threads=2 -o outputfile.mkv

私が使う

xxx = 25 and 
yyy = 1200

これで問題ないvidsが生成されます。次を挿入して、ムービーに曲を追加します。

-oac copy -audiofile audiofile.mp3

2
Avidemux ROCKS!33.000画像のクイック挿入。非圧縮AVIへのクイック保存-それは自動的に4GB AVIチャンクに分割されます。しかし、それらはすべてプレイ可能です!
スウィフト

2
Avidemuxの+1は、MeGUIを使用して多くのビデオ編集を行ってきましたが、そのような優れた代替手段が存在することすら知りませんでした!
ブレークスルー

2
mencoderは、出力ファイル名に関係なく、aviを出力します。他の形式を出力するオプションもありますが、コードはうまく機能しません。推奨される方法は、h.264-in-aviを出力し、次にremuxを出力することです。代わりにffmpegを使用してください。(シェナルシルバの答えを参照)
ピーター

mencoderは、2011年に比べてメンテナンスや可用性が低下しています。MPVでの同等物:mpv mf://*.jpg --mf-fps=25 --ovc libx264 --ovcopts=bitrate=1200:threads=2 -o outputfile.mkv
Sam Brightman

Avidemuxは、「VLCはオーディオまたはビデオフォーマット「PNG」をサポートしていません。残念ながら、これを修正する方法はありません。」という苦情をVLCで返すだけです。
ヴァレンティン

39

FFmpegを使用します。

これにより、img001.png、img002.png、img003.pngという名前の一連のpng画像からビデオスライドショー(ビデオコーデックlibx264を使用)が作成されます。

各画像の持続時間は5秒で、選択に応じて変数を変更します。

ffmpeg -f image2 -r 1/5 -i img%03d.png -c:v libx264 -pix_fmt yuv420p out.mp4

画像に4桁の数字がある場合%04d、などを使用します。画像にこのパターンがない場合は、少なくともLinuxおよびOS Xでシェルグロブを使用できます。

ffmpeg -f image2 -pattern_type glob -i 'time-lapse-files/*.JPG' …

-r入力後に別のフレームレートを指定して、出力フレームレートを変更することもできます。


8
警告のメモ:ffmpegのprintf構文をバイパスして、*。jpgなどをより複雑なパターンに使用できるとは思わないでください。実際には、画像ファイルのそれぞれを最初の画像ファイルで上書きします!自分で試しました。
クリスチャン

私もこれに悩まされていました。これを行うことができますが、globスタイルフラグを設定する必要があります。ffmpeg -pattern_type glob -i 'time-lapse-files / *。JPG' time-lapse.mp4
arno_v

2
-framerateimage2入力形式に使用できます。実際にffmpegにフレームをドロップまたは複製させない限り、入力fpsとは異なる出力fpsを設定しないことをお勧めします。(ffmpegのは、可変フレームレートをサポートしているMKVなどのコンテナに出力する場合を除きます。)うん、ちょうどテストし、あなたがこれだけの入力のFPSを設定し、x264のを介して供給余分DUPフレームを得るかが、入れ-rたり-framerate、BEFORE-i .../stuff
ピーター・コルド

2
ffmpegもお勧めします。これについては、ここでブログに書いています(準備と引数の詳細):dsebastien.net/2015/01/25/simple-time-lapse-using-ffmpeg
dSebastien

cat *.jpg | ffmpeg -framerate 60 -f image2pipe -i - ~/output.mp4-pattern_type glob利用できない場合はこちらをご覧ください
vearutop

12

いくつかの基本的な計算を行うと、ムービーを非圧縮のままにしようとしている場合、おそらくメモリが不足していることがわかります。

各フレームは1,024,000ピクセルです。32,768,000ビット(4,096,000バイトまたは3.9 MB)の32ビット/ピクセル。

それを30,000フレームで乗算すると、ムービー全体を一度にメモリに保持するために117187.5 MB(114.45 GB)のメモリが必要になります-QuickTime Proが失敗するのも不思議ではありません。

解像度を下げることもできますが、それでも失敗する場合があります。

ムービーを小さな塊にまとめてから、全体をつなぎ合わせる必要があります。ムービー全体をメモリにロードせずにこれを行うアプリケーションがあると思います。最終的な映画も圧縮する必要があります。これもハードドライブで114 GBを占有するためです。映画が20分の長さ(1秒あたり25フレーム)である間、映画は1枚のDVDしか占有しません。


3
私の知る限り、保存する世界の中では、ビデオ編集プログラムが存在しない任意の /セーブを解析する前に、メモリ内に完全に圧縮されていないクリップが。
ブレークスルー

@Breakthrough〜しかし、圧縮されたクリップにどのように合成しますか?
jcolebrand

@Breakthrough-それはおそらく真実ですが、OPは非圧縮の映画を望んでいます。
ChrisF

2
@ddrachensternと@ChrisF-即時保存と長期保存には違いがあります。圧縮されていないビデオデータの全長をメモリに保存するビデオ編集プログラムはありません。プレビューをスクロールしても、さまざまなメディアソースのハードディスクに保存されているデータからデータが再作成されます(キャッシュのためにもう少し)。それ以外は、最終的にプロジェクトを「レンダリング」すると、完全なビデオ出力が得られます(通常はストリームとして)。その後、完全なビデオ出力をそのまま保存するか(非圧縮/ RAWなど)、エンコーダーにストリーミングできます。
ブレークスルー

1
申し訳ありませんが、最初のコメントをしたときに、問題はメモリ不足ではないことを指摘したかっただけです。また、プログラムはいくつかの非圧縮ビデオデータをメモリに保存することもありますが(プレビューなど)、ビデオストリーム全体を保存することは決してありません(これもまた、答えで明らかになった問題のため)。これはこれらのプログラムの作成方法であるため、これは問題になりません。誤解して申し訳ありません!
ブレークスルー

11

はい、このスレッドは1年以上前のものであることを知っています。私はこれを2年以上使っていますが、10,000以上の画像でうまく機能します:

1080p @ 24fps、音なし

ls -1v | grep JPG > files.txt
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=21600000 -o windowsill_flowers_7.avi -mf type=jpeg:fps=24 mf://@files.txt -vf scale=1920:1080

4k @ 90fps、音なし

ls -1v | grep JPG > files.txt
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=21600000 -o windowsill_flowers_7.avi -mf type=jpeg:fps=90 mf://@files.txt -vf scale=3840:2160

ただし、YouTubeが認識するものを取得する前に、コーデックをいじりまわす必要がありました。2番目のブロックを使用したサンプルは、http//www.youtube.com/watch?v = 4G_aaPG2QWkにあります。


11

PhotoLapseをお試しください。レビューはLifehacker.comでこちらに掲載されています

ここに画像の説明を入力してください


1
このツールの動作を示すビデオを次に示します:vimeo.com/1226517
ダロクタル

タイプミスがありました。Photolapseを試しましたが、レンダリングプロセスで失敗します。10.000枚の画像に下げると、AVIファイルが完成しますが、ファイルは役に立たず、再生できません。
スウィフト

@Swiftファイルを元のサイズにする必要があることを理解しています。タイムラプスaviを作成する前に、Irfanviewを使用してダウンサンプリングした画像を常にバッチ処理しました。うまくいけば、必要な解決策が見つかるでしょう!
-JYelton

Photolapseへのリンクは、死後硬直の明確な兆候を示しています。
ティモシーリーラッセル

@Timothy更新されたリンク。
-JYelton

8

GoogleのPicasaを使用しています。私の意見では、これは非常に優れた写真オーガナイザーでもあります。方法は次のとおりです。

1)[ファイル]> [Picasaにフォルダを追加...]> [写真を含むフォルダを追加します。

2)左の[フォルダ]メニューで追加したフォルダを右クリックし、[すべての画像を選択]

3)トップメニューから>作成>ビデオ>選択から...

4)今、あなたはビデオメーカーにいます>ビデオタブ>トランジションスタイル>タイムラプス

5)オーディオトラックの読み込み、サイズの変更(通常は1024x768を使用)、スライドタブ内のテキストを含むスライドの追加...

6)[動画メーカー]> [動画]タブ> [動画を作成]。Googleアカウントでサインインして、ここからYouTubeにアップロードすることもできます。

ライブラリに戻って、ビデオを右クリックし、ディスク内を検索して、ビデオが保存された場所を確認できます。Picasaを使用するもう1つの良い点は、すべての画像を選択して、トップメニューの[画像]> [バッチ編集]> [気分がいい]に移動できることです。すべての写真のコントラストと色を同時に修正します。

ビデオを作成する前に、http: //motiontimelapser.co.nr/でタイムラプスに動きを追加することをお勧めします。Disclamer:私は著者です。


これは、バーストモードのGoProで撮影された約2500枚の画像で、私にとっては本当にうまくいきました。既にPicasaを使用している場合は、このソリューションを確認してください。
lonstar

Picasaは牧草地に設定されています。
ティモシーリーラッセル

5

少し前に、地元のハッカースペースでトーンを作成するためのタイムラプスを作成しようとしたときに、同様の問題に直面しました。私はOS Xを実行しているので、Windowsでこれを使用することがどの程度実行可能かはわかりませんが、MEncoderを使用しました。

これは、ターミナルで使用したコマンドです。

mencoder mf://*.jpg -mf w=800:h=600:fps=5:type=jpg -ovc copy -oac copy -o buildmadison.avi

これには2つの問題があります。

  1. それはAVIです。
  2. 圧縮なしで画像を1つのファイルにまとめます。もちろん、それは高速で、実際に動作します!

その後、別のユーティリティを使用して、中間の適切な形式に変換しました。

MEncoderは、次の場所にあるMPlayerプロジェクトの一部です:http : //www.mplayerhq.hu/


4

このスレッドは古いもののようですが、MakeAVIが私にとって最高のプログラムであることがわかりました!

ここからダウンロードできます:http : //sourceforge.net/projects/makeavi/?source=dlp

  • あなたがしなければならないのは、それをダウンロードして、ダウンロードされたフォルダー内で実行可能ファイルを実行することです(インストーラーなし)。
  • 次に、写真を追加するには、右上隅の[ファイルの追加]ボタンを押して、コンパイルする写真を選択します。
  • インポートが完了したら、左中央の「上」と「下」を使用して、画像が順番どおりにならない場合に画像の順序を調整できます。
  • 次に、コンパイルされた画像のフレームレートを調整するために、「再生フレームレート」フレーム内の右下にあるテキストボックスを希望のフレームレートに変更できます。
  • プログラムはまだベータ版(0.1.1)であるため、一部の機能が動作しません。[開始]ボタンを押して、目的のファイル名を指定します。圧縮の種類を尋ねられたら、「フルフレーム(非圧縮)」を除いて、必要な圧縮を選択します。
  • 次に、ビデオのコンパイルが完了したら、ビデオに移動して視聴し、その様子を確認します。ビデオが空白(長さなし)の場合は、圧縮オプションを変更してみてください。(それが「フルフレーム(非圧縮)」を試したときに起こったことです)

ここにリストされている他の方法を使用することはできませんでしたが、これは私のために機能しました!それがあなたのために働くことを願っています!:)


3

VirtualDubを試しましたか?

virtualdubで画像を開くと、シーケンス全体をロードするように求められます。そこから-フレームレートを調整し、いくつかのフィルター(クロップ、シャープ)を追加し、エンコーダーを選択して、ビデオを保存します。

最初はより少ない数の画像で実験し、結果に満足している場合は、バッチ全体を実行することをお勧めします。

編集:これに関する簡単なチュートリアルを次に示します。あなたがしなければならないのは、このような適切なロスレスコーデックを見つけることです:MSU Lossless Video Codec


2

Time-Lapse Toolソフトウェアをテストして、100,000枚の画像からビデオを生成しました。これらのすべての画像は、複数のフォルダーから追加できます。これは、フォルダー内の1万個の画像でグループ化されたDSLRの写真に役立ちます。


2

Premiere Proを使用している場合は、画像を専用のフォルダーに入れ、順番に連続して番号が付けられていることを確認してから、Premiere Proでプロジェクトウィンドウを右クリックして[インポート]を選択し、最初の画像を選択し、 [画像シーケンス]チェックボックスをオンにします。thefirstimageName.jpgと呼ばれるシーケンスとしてすべての画像を自動的にプルしますが、画像の「スタック」アイコンがあります。それだけです。それをシーケンスにドラッグし、1080pとしてレンダリング(エクスポート->メディア)してから、エクスポートを新しいビデオクリップとしてインポートします。Premiere ProおよびMedia Encoderは、カットや速度の変更をいじると高解像度の映像でクラッシュすることがわかっているため、高解像度の映像を1080pにエクスポートするため、それをエクスポートしてクリップとして再インポートすることをお勧めします。品質を損なう一方で、安定性を回復します。


1

楽しみのために、ここに別の方法があります(いいえ、明らかに自分のプロセスを改良しようとはしていません)。これは、ffmpegを使用した、より編集しやすいバージョンです。

1080p@90fps, no sound, IMG_00000.JPG - IMG_99999.JPG
    ffmpeg -r 90 -i IMG_%05d.JPG -vcodec libx264 -vpre medium -crf 22 -threads 0 -vf scale=1920:-1 -r 15 -metadata title="foo"

0

以前そのようなことをしなければなりませんでした。一度に500フレームを実行することで、quicktime proで正常に実行できました。それらを個別の映画として保存してから、次の作品に進みます。その後、500フレームセグメントのすべてを組み合わせて最終的なものにします。


「プロ」のソフトウェアでのripのようなものです!
スウィフト

0

また、Virtualdubに投票します(実際にこの操作を行ったことがありますが、これらが多かったのかどうかは思い出せません)。後で不要なフレームなどを簡単に削除することもできます。おそらく、camstudio codecのように、ロスレスビデオ形式を使用してレンダリングおよび保存してみてください。タイムラプスについては、おそらくtechsmithコーデック(TSCC)でも問題ありませんが、エンコードバージョンのコーデックをインストールするCamtasiaを購入した(または雑誌から古いバージョンを入手した)場合にのみ機能します。それは本当に小さなビデオを作ります。そして、おそらく時間の経過に適しています。


0

使用できる別のプログラムは、Time Lapse MovieMonkeyです

最新のタイムラプスムービーを作成するという仕事は、本当に本当に速く行われました。そして、私は指示を読む必要はありませんでした。シンプルで直感的ですが、十分な高度な設定があります。そして、それは無料です。

著者は、50.000枚の写真でテストされたと言っています。


リンクが死亡しました。
ティモシーリーラッセル

0

PicasaまたはGoPro-studioを使用すると、非常に良い結果が得られます。

私は、これらのツールを使用してサーフボードを構築することをジャーナルに記録するビデオで忙しいです。進行中の作業がプロファイルにYouTubeに投稿されました(「Surfbordbou」を検索-投稿ごとに2つ以上のリンクはまだ許可されていません)

Picasaのムービーメーカーは非常に使いやすく、2回クリックするだけで、選択した一連の画像のタイムラプスを取得できます。


サイトへようこそ。良い結果が得られていると言うとき、同じ種類のタスクを実行し、質問と同程度の量の画像を操作することですか?それが重要なポイントであり、回答の中で議論する必要があります。答えが「はい」の場合、それを説明すると、あなたは勝利の答えを得ることができます。そうでない場合、それは有用な情報ですが、この質問に対する素晴らしい答えではありません。その場合は、この回答を削除し、タスクの実行について新しい質問をしてから、ソリューションで独自の質問に答えてください。それは別の勝利の組み合わせになります。
fixer1234 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.