Mp3

使用命令行從 MP3 文件中刪除專輯封面

  • April 14, 2022

我想刪除嵌入在一堆 MP3(數千個)中的專輯封面,並且找不到執行此操作的命令行方式。我可以通過添加藝術作品lame,也可以添加或刪除幾乎所有其他標籤,id3tag但我找不到類似的方法:

for file in **/*.mp3 do <remove image command> $file; done

任何人都知道我可能會投入什麼<remove image command>

似乎沒有一個好的解決方案,我想出的最好的方法是使用 ffmpeg 快速創建一個新文件。@awesome14 提供的命令在我的系統上對我不起作用(大多數情況下確實如此,但它產生了許多錯誤並導致歌曲未被複製)。這是我想出的命令。

for song in **/*.mp3
  do NAME=$(echo ${song%/*} | sed -e 's|[/ ]|-|g’)
     ffmpeg -y -i $song -vn -c copy /path/NOART/"$NAME-"${song##*/}; 
done

這適用於 bash5 或 zsh shell。

  1. **/*.mp3目前目錄下每個目錄中與 .mp3 匹配的每個文件
  2. echo ${song%/*} | sed -e 's|[/ ]|-|g’將路徑部分(不是文件名)中的所有斜杠和空格轉換為破折號
  3. —vn -c copy不要複製影片(影片號),否則複製未修改的文件
  4. /path/NOART/"$NAME-"${song##*/}保存到文件名設置為 NAME 變數和 $song 的基本名稱的路徑。
  5. 輸出文件名看起來像“10Cc-Look-Hear-Dressed To Kill.mp3”。

這樣做的另一個好處是不會刪除歌曲中的所有元數據,只會刪除“影片”,在這種情況下是專輯封面。

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