FFmpeg を使用して 50 枚の画像 (同じオーディオ ファイルを含む) を 50 本のビデオに一括変換する

FFmpeg を使用して 50 枚の画像 (同じオーディオ ファイルを含む) を 50 本のビデオに一括変換する

名前の異なる画像が 50 枚あります。

同じフォルダに、名前.txt次のように、そのフォルダ内のすべての画像の名前を含むファイルを作成します。

apples.jpg
oranges.jpg
blackberries.jpg
etc.

オーディオファイルが1つあります。サウンド.wav

各画像を sound.wav ファイルとミックスして、50 本のビデオを生成したいです。

apples.mp4
oranges.mp4
blackberries.mp4
etc.

何か案は?

これは、各画像を手動で変換するために私が使用したスクリプトです。

ffmpeg -loop 1 -y -i oranges.jpg -i sound.wav -shortest oranges.mp4

しかし、これをスケールアップしたいので、各行を順に処理するスクリプトを用意したい。名前.txtファイルから画像の名前を取得し、その画像をビデオに変換してから次の画像に進みます。

ありがとう

答え1

あなたはできるファイルの行を反復処理するWindows バッチファイルの場合:

for /F "tokens=*" %%A in (names.txt) do [process]

ここで、[process]次のように置き換えます。

ffmpeg -loop 1 -y -i %%A -i intro5.wav -shortest %%~nA_movie.mp4

%A行内の はファイル名、は%%~nA拡張子なしの名前です。

関連情報