![静止画像を使ったビデオの作成](https://rvso.com/image/1048321/%E9%9D%99%E6%AD%A2%E7%94%BB%E5%83%8F%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%83%93%E3%83%87%E3%82%AA%E3%81%AE%E4%BD%9C%E6%88%90%20.png)
画像をビデオに変換するためにを使用していますavconv
が、問題が発生しています。 ディレクトリに何千もの画像があり、 という名前が付けられていますが、画像は特定の順序に従っておらず、最後のフィールドに 100 が追加されることもあれば、103 が追加されることもあります (ただし、約 100 が追加されることは確かです)。コマンドvideo_clip_0_0_0_0_0_0_0_0_09_0_102.jpeg
の使用中:avconv
- 一時ディレクトリを作成する必要があります。
- すべての画像をそのディレクトリにコピーします。
convert temp/*.jpeg -delay 10 -morph 10 temp/%05d.jpg.
avconv -f image2 -i temp/%05d.jpeg output.mkv
これらすべての作業に時間がかかりすぎます。私はすべての作業を行うつもりはなく、一時ディレクトリを作成したり、クリップの名前を変更したりせずにビデオを作成したいのです。利便性と時間の節約のためです。
答え1
avconvで画像付きのビデオを作成するには、画像が連続している必要があります。そうでない場合は、エラーメッセージが表示されて失敗します。IMG_%04d.JPG: そのようなファイルまたはディレクトリはありません「
そのためには、以下のスクリプトを使用して、ファイル名を順番に変更します。
a=1
for i in *.JPG; do
new=$(printf "%04d.JPG" ${a}) #04 pad to length of 4
mv ${i} ${new}
let a=a+1
done
ファイル名を変更したら、ビデオを作成できます。また、「」を使用してビデオの作成から取得できる画像ファイルの範囲を指定することもできます。-開始番号「
注意: -start_number オプションには、最新バージョンの 9.x の avconv が必要です。バージョン 0.8.x にはありません。代わりに、最新バージョンの ffmpeg を使用することもできます。または、デフォルトでこれらの名前がチェックされるため、ファイル名を 0 から 4 までの数字で始まるように変更します。