300

コマンドラインまたはバッチスクリプトを使用してffmpegでディレクトリ/フォルダー全体を変換するにはどうすればよいですか?

4

31 に答える 31

478

LinuxおよびmacOSの場合、これは 1 行で実行できます。パラメーター展開を使用して、出力ファイルのファイル名拡張子を変更します。

for i in *.avi; do ffmpeg -i "$i" "${i%.*}.mp4"; done
于 2015-11-17T20:15:16.817 に答える
238

前の回答では、out.movという出力ファイルが1つだけ作成されます。古いムービーごとに個別の出力ファイルを作成するには、これを試してください。

for i in *.avi;
  do name=`echo "$i" | cut -d'.' -f1`
  echo "$name"
  ffmpeg -i "$i" "${name}.mov"
done
于 2011-11-20T08:35:01.013 に答える
104

Windows の場合:

FOR /F "tokens=*" %G IN ('dir /b *.flac') DO ffmpeg -i "%G" -acodec mp3 "%~nG.mp3"
于 2014-06-17T21:34:17.813 に答える
35

1行のbashスクリプトは簡単に実行できます-*.aviファイルタイプに置き換えてください:

for i in *.avi; do ffmpeg -i "$i" -qscale 0 "$(basename "$i" .avi)".mov  ; done
于 2011-07-02T22:29:07.357 に答える
25

ffmpeg を使用して何かをバッチ変換したいが、便利な Windows インターフェイスが必要な人のために、次のフロントエンドを開発しました。

https://sourceforge.net/projects/ffmpeg-batch

ウィンドウ ファッション インターフェイス、プログレス バー、残り時間情報、ffmpeg を使用するときに私がいつも見逃していた機能を ffmpeg に追加します。

于 2018-04-25T09:34:47.370 に答える
1

Bash は私にはひどいので、Linux/Mac では Ruby スクリプトを好みます。

(フォルダ内のすべてのファイルを見つけて、フォーマットからrmvb/rmフォーマットに変換しmp4ます)

# filename: run.rb
Dir['*'].each{ |rm_file|
  next if rm_file.split('.').last == 'rb'
  command = "ffmpeg -i '#{rm_file}' -c:v h264 -c:a aac '#{rm_file.split('.')[0]}.mp4'"
  puts "== command: #{command}"
  `#{command}`
}

そして、あなたはそれを実行することができます: ruby run.rb

于 2021-07-25T00:03:57.530 に答える
0

ffmpegX でバッチ処理するグラフィカル インターフェイスが必要な場合は、 Quick Batcherを試してください。無料で、最後の ffmpegX 設定を使用して、ドロップしたファイルを変換します。

フォルダーを Quick Batcher にドラッグ アンド ドロップすることはできないことに注意してください。ファイルを選択して、Quick Batcher に入れます。

于 2014-04-05T08:58:23.927 に答える
0

fdコマンド ( repository )を使用した代替アプローチ:

cd directory
fd -d 1 mp3 -x ffmpeg -i {} {.}.wav

-d深さを意味します

-x実行することを意味します

{.}ファイル拡張子なしのパス

于 2022-02-17T08:29:38.063 に答える