2013-11-25 45 views
10

FFMPEG是一款非常棒的工具。我知道它可以編輯ID3標籤,甚至刪除行中的所有標籤:如何使用ffmpeg從mp3中刪除ID3音頻標籤圖像(或元數據)

ffmpeg -i tagged.mp3 -map_metadata -1 untagged.mp3 

但即使在那之後,仍然有封面圖片。

我不知道如何使用ffmpeg將其刪除。我知道還有其他軟件可以完成這項工作 - 比如eyed3 - 但是如果ffmpeg可以在編碼音頻的同時在一行中完成,那麼安裝它有什麼意義呢?

回答

20

封面圖片/專輯封面被ffmpeg視爲視頻流。要省略它,您可以使用-vn-map選項。

地帶元數據和刪除專輯封面(重新編碼無)

在這個例子中音頻被stream copied(再多路複用的),而不是被重新編碼。這是更快,不會降低質量:

ffmpeg -i tagged.mp3 -vn -codec:a copy -map_metadata -1 out.mp3 

同上,但使用-map代替-vn

或者你可以使用-map選項來明確選擇的流。使用-map 0:a告訴FFmpeg只能選擇從輸入0音頻流(S)(第一輸入和你的情況僅輸入):

ffmpeg -i tagged.mp3 -map 0:a -codec:a copy -map_metadata -1 out.mp3 

我喜歡-map,因爲它是非常靈活的。

+0

謝謝,那有效!順便說一下,我不想重新編碼它,除了去除元數據之外,還需要對它進行重新編碼以獲得更高的壓縮比。 – Buzut

+0

@ user1717735我明白了。我用一個重新編碼的例子更新了答案。 – LordNeckbeard

+0

再次感謝:) – Buzut

5

我試過使用LordNeckbeard提供的代碼,他們都沒有爲我的案件工作。但是這個工作:

ffmpeg -i tagged.mp3 -acodec copy -map 0 -map_metadata 0:s:0 notags.mp3 

它現在只顯示了一個標籤'TSSE'(意思是編碼器)。另外,非常推薦這篇文章,如果你想使用ffmpeg的操縱ID3標籤:

How To: Create/Write ID3 tags using ffmpeg

0

我嘗試類似:

ffmpeg -i file.mp3 -ab 128k -ac 2 -ar 44100 -map 0:a -map_metadata -1 -sn -vn -y output.mp3 

,並一直在輸出覆蓋。

相關問題