Как удалить изображение аудиотеки ID3 (или метаданных) из mp3 с помощью ffmpeg
FFMPEG - отличный инструмент. Я знаю, что он может редактировать теги ID3 и даже удалять все теги подряд:
ffmpeg -i tagged.mp3 -map_metadata -1 untagged.mp3
Но даже после этого все еще есть обложка.
Я не знаю, как удалить его с помощью ffmpeg. Я знаю, что там есть другие мягкие возможности, которые могут выполнять эту работу - например eyed3 - но зачем это устанавливать, если ffmpeg может это сделать, в одной строке, при кодировании звука?
Ответы
Ответ 1
Обложка/обложка обложки рассматривается как видеопоток по ffmpeg. Чтобы опустить это, вы можете использовать опции -vn
или -map
.
Снять метаданные и удалить обложку альбома (без повторного кодирования)
В этом примере звук stream copy (повторно мультиплексированный) вместо повторного кодирования. Это быстрее и не ухудшит качество:
ffmpeg -i tagged.mp3 -vn -codec:a copy -map_metadata -1 out.mp3
То же, что и выше, но используя -map
вместо -vn
Или вы можете использовать параметр -map
, чтобы явно выбирать потоки. Использование -map 0:a
сообщает ffmpeg, чтобы выбрать только аудиопоток с входа 0
(первый вход и единственный вход в вашем случае):
ffmpeg -i tagged.mp3 -map 0:a -codec:a copy -map_metadata -1 out.mp3
Я предпочитаю -map
, потому что он очень гибкий.
Ответ 2
Я пытался использовать коды, предоставленные LordNeckbeard, ни один из них не работал для моего дела. Но это работало:
ffmpeg -i tagged.mp3 -acodec copy -map 0 -map_metadata 0:s:0 notags.mp3
Теперь отображается только один тег: "TSSE" (означает Encoder). Кроме того, очень рекомендую эту статью, если вы хотите манипулировать тегами ID3 с помощью ffmpeg:
Как создавать/записывать теги ID3 с помощью ffmpeg
Ответ 3
Я пробую что-то вроде:
ffmpeg -i file.mp3 -ab 128k -ac 2 -ar 44100 -map 0:a -map_metadata -1 -sn -vn -y output.mp3
и всегда должны отображаться на выходе.