Bash

使用 FFmpeg 將所有 *flac 轉換為 *.mp3 的 Bash 腳本?

  • September 9, 2021

我想將特定文件夾中的所有 *.flac 轉換為 *.mp3。

這是我嘗試過的,但不起作用:

# change to the home directory
cd ~/music
# convert all *.flac files
ffmpeg -i *.flac -acodec libmp3lame *.mp3
# (optional: check whether there are any errors printed on the terminal)
sleep 60

如何達到我的目標?

試試這個:

for i in *.flac ; do 
   ffmpeg -i "$i" -acodec libmp3lame "$(basename "${i/.flac}")".mp3
   sleep 60
done

一個簡單的 1 班輪解決方案: find -name "*.flac" -exec ffmpeg -i {} -acodec libmp3lame -ab 128k {}.mp3 \;

http://lewisdiamond.blogspot.ca/2012/01/converting-flac-to-mp3.html

請注意,這將在給定目錄中遞歸應用。即,如果您從您的 Music 文件夾執行它,它將轉換子文件夾中的所有flacs,並在其旁邊生成一個 .mp3。您也可以在不使用 ffmpeg 的情況下直接使用 flac 和 lame(即讀取 w/flac、管道到 lame、輸出到文件 .mp3),如鍊接所示。

引用自:https://unix.stackexchange.com/questions/114908