$ ffmpeg -i track12.mp3 -metadata album="Closer" You\ Raise\ Me\ Up.mp3
重复使用-metadata加 key/value 修改多个tag$ ffmpeg -i track12.mp3 -metadata album="Closer" -metadata artist="Josh Groban" You\ Raise\ Me\ Up.mp3
把value置空来删除某个标签,比如删掉 genre 标签$ ffmpeg -i track12.mp3 -metadata genre="" You\ Raise\ Me\ Up.mp3
可见使用 ffmpeg 修改tag是很简单的事,但难的是不知道音乐文件都有什么标签,或者我的音乐文件已经存在哪些标签,Windows上在音乐文件右键查看属性在详细页里有很多属性,iTunes里右键查看也能看到,那么标准的音乐文件都有哪些tag呢:
进阶使用
清除音乐文件所有的tag信息(-map_metadata -1可清除所有metadata信息):$ ffmpeg -i track12.mp3 -map_metadata -1 out.mp3
把音乐文件的metadata信息导出到文件里:$ ffmpeg -i track12.mp3 -f ffmetadata metadata.txt
可对输出的 metadata.txt 进行修改,完事后重新写入到文件里。ffmetadata文件的格式如下:;FFMETADATA1
title=You Raise Me Up;逗号可以添加注释
artist=Josh Groban
[CHAPTER]
TIMEBASE=1/1000
START=0
#chapter ends at 0:01:00
END=60000
title=chapter \#1
[STREAM]
title=多行\
多行
把 metadata.txt 文件写入音乐文件$ ffmpeg -i track12.mp3 -i metadata.txt -map_metadata 1 -c:a copy -id3v2_version 3 -write_id3v1 1 out.mp3
-map_metadata 1:代表使用输入顺序为1的文件,作为metadata,也就是 metadata.txt,这个数字和 -i的重复的次数有关,从0开始计数。-c:a codec audio的意思,这里用的是 copy,不写也行,默认值就是。
-id3v2_version 3和-write_id3v1 1是为了对Windows兼容加上的,否则在Windows上会出现问题。
除了ffmpeg还有诸多的工具,lame还可以向音乐文件里插入图片:
$ lame --ai <path/to/*.[jpg|png|gif]> <*.mp3> [out.mp3]
网友回复
为啥所有的照片分辨率提升工具都会修改照片上的图案细节?
js如何在浏览器中将webm视频的声音分离为单独音频?
微信小程序如何播放第三方域名url的mp4视频?
ai多模态大模型能实时识别视频中的手语为文字吗?
如何远程调试别人的chrome浏览器获取调试信息?
为啥js打开新网页window.open设置窗口宽高无效?
浏览器中js的navigator.mediaDevices.getDisplayMedia屏幕录像无法录制SpeechSynthesisUtterance产生的说话声音?
js中mediaRecorder如何录制window.speechSynthesis声音音频并下载?
python如何直接获取抖音短视频的音频文件url?
js在浏览器中如何使用MediaStream与MediaRecorder实现声音音频多轨道混流?