Mp3
使用命令行從 MP3 文件中刪除專輯封面
我想刪除嵌入在一堆 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。
**/*.mp3
目前目錄下每個目錄中與 .mp3 匹配的每個文件echo ${song%/*} | sed -e 's|[/ ]|-|g’
將路徑部分(不是文件名)中的所有斜杠和空格轉換為破折號—vn -c copy
不要複製影片(影片號),否則複製未修改的文件/path/NOART/"$NAME-"${song##*/}
保存到文件名設置為 NAME 變數和 $song 的基本名稱的路徑。- 輸出文件名看起來像“10Cc-Look-Hear-Dressed To Kill.mp3”。
這樣做的另一個好處是不會刪除歌曲中的所有元數據,只會刪除“影片”,在這種情況下是專輯封面。