我需要从输出曲目中删除歌词标签。
曲目信息:
Stream mapping:
Stream #0:1 -> #0:0 (copy)
Stream #0:0 -> #0:1 (mp3 (mp3float) -> mp3 (libmp3lame))
Output #0, mp3, to 'D:\My_music\Music_no_lyrics.mp3':
Metadata:
TIT2 : Music
lyrics-eng : _
: |
: |
: | I want remove this tag
: |
: musics.org _|
TALB : Classic Musics
TCON : Classic
TPE1 : Music
TSSE : Lavf59.17.102
我的命令:
ffmpeg -hide_banner -i "D:\My_music\Music.mp3" -c:v copy -id3v2_version 3 -metadata lyrics-eng="" -acodec mp3 -b:a 320 -ar:a 44100 "D:\My_music\Music_no_lyrics.mp3"
我怎样才能做到这一点?
答案1
这有点复杂。问题是你想完全删除标签,而这是一个自定义标签,因此完全删除需要删除每个标签。
您可以保存当前标签:
ffmpeg -i your_file.mp3 -an -f ffmetadata md_save.txt
这将删除它们:
ffmpeg -i your_file.mp3 -c:a copy -map_metadata -1 your_file_no_tags.mp3
如果您有很多文件需要处理,则需要合并sed
或删除自定义标签中的行。如果您的文件不多,则只需在文本编辑器中打开并删除该行即可。awk
grep
lyrics-eng
md_save.txt
然后您可以使用以下命令添加标签:
ffmpeg -i your_file.mp3 -c:a copy -i md_save.txt -map_metadata 1 -id3v2_version 3 your_file_final.mp3
ID3 标签一直都是一场冒险。
希望这能有所帮助!