7

できれば ImageMagick や ffmpeg を使用して、静止画像からビデオを作成したいと考えています。私が見つけた最高のガイドはここにあります: http://www.itforeveryone.co.uk/image-to-video.html

この種の作品ですが、このコマンド

convert *.JPG -delay 10 -morph 10 %05d.morph.jpg

遅延が静止画像とモーフ画像の両方の時間を設定するため、私にはうまくいきません。

4 つの画像 (1.jpg ... 4.jpg) のセットに対して、追加の黒い画像 0.jpg を使用してこのソリューションを思いつきました。

convert -size 800x600 xc:'rgba(0,0,0,1)' 0.jpg
convert \
\( -set delay 1 0.jpg 1.jpg -morph 10 \) \
\( -set delay 60 1.jpg \) \
\( -set delay 1 1.jpg 2.jpg -morph 10 \) \
\( -set delay 60 2.jpg  \) \
\( -set delay 1 2.jpg 3.jpg -morph 10 \) \
\( -set delay 60 3.jpg         \) \
\( -set delay 1 3.jpg 4.jpg -morph 10 \) \
\( -set delay 60 4.jpg         \) \
\( -set delay 1 4.jpg 0.jpg -morph 10 \) \
 output.mpg

これは、それを除いて私が望むことを行います

  1. 見た目が複雑で、
  2. ディレクトリ内の任意の画像セットで機能するように、そこに '*.jpg' をスローすることは明らかにできません。

これで、これを自動化するスクリプトに python または bash を使用できますが、私の直感では、上記のスクリプトを美しいワンライナーに変える明らかな何かを見落としたのではないでしょうか? または、少なくともそれほど醜くないものですか?

前もって感謝します。

4

2 に答える 2

3

そこに「*.jpg」を投げることを許可する解決策が見つかりませんでした。ただし、 -duplicate を使用すると、少しクリーンアップできます。私はあなたとは異なる定数を使用していますが、ここにあります:

convert \
\( 0.png 1.png -morph 23 -duplicate 25,-1 \) \
\( 1.png 2.png -morph 23 -duplicate 25,-1 \) \
\( 2.png 3.png -morph 23 -duplicate 25,-1 \) \
\( 3.png 4.png -morph 23 -duplicate 25,-1 \) \
\( 4.png 0.png -morph 23 \) \
output.mpg

私はこの質問が少し古いことを知っています。あなたが投稿したので、そこに「*.jpg」を投げることができる解決策を見つけたなら、私はそれを見てみたい.

于 2013-09-17T20:29:52.513 に答える
1

同じ記事を読んだ後、この投稿を見つけました。確実に自動化できるものではなく、ハックで機能させることができました。しかし、これらの手順を使用するのは一度だけでした。

変換する 205 個の連続した番号と同じサイズの画像のバッチを取得できませんでした。10 ~ 15 分待っても、出力フォルダーには何も表示されません。処理を 100 のバッチに分割すると、2 ~ 3 分後に処理されます。205枚の画像は脳にとって多すぎると思います。

これには、-scene パラメータを使用して出力の命名シーケンスを調整する必要がありました

convert 00*.jpg -delay 10 -morph 10 frames/%05d.morph.jpg
convert 01*.jpg -delay 10 -morph 10 -scene 1079 frames/%05d.morph.jpg
convert 02*.jpg -delay 10 -morph 10 -scene 2169 frames/%05d.morph.jpg
ffmpeg -i frames/%05d.morph.jpg -c:v libx264 -vf fps=25 -pix_fmt yuv420p output.mp4
于 2014-11-29T06:42:34.397 に答える