コマンド
mkdir -p small_mp3 && for f in *.mp3; do ffmpeg -i "$f" -acodec libmp3lame -ab 48k -ac 1 "small_mp3/$f"; done
コマンド構成要素の解説
-
mkdir -p small_mp3
- ディレクトリ作成: 出力先のフォルダ「small_mp3」を作成します。
- -p オプション: すでにフォルダが存在していてもエラーにならず、必要なら親ディレクトリも同時に作ります。
-
&&
- 逐次実行: 左側のコマンド(ディレクトリ作成)が正常に完了したときのみ、右側のループ処理を開始します。
-
for f in *.mp3; do … done
- ループ処理: カレントディレクトリにある .mp3 ファイルを一つずつ変数 $f に代入して、do 以降の処理を繰り返します。
-
ffmpeg -i “$f”
- 入力指定: ffmpeg を起動し、変数 $f(現在の処理対象ファイル)をソースとして読み込みます。
-
-acodec libmp3lame
- コーデック指定: MP3への変換に標準的な「LAME」エンコーダーを使用するように指定します。
-
-ab 48k
- ビットレート指定: 音声のデータ量を 48kbps に制限します。数値が小さいほど容量は減りますが、音質は劣化します。
-
-ac 1
- モノラル化: オーディオチャンネル数を 1 にします。左右の音を統合して1chにすることで、データ量を効率よく削減します。
-
“small_mp3/$f”
- 出力先指定: 作成したフォルダ内に、元と同じファイル名($f)で保存します。