我想删除声音的来自 mp3 文件,同时保留其元数据(ID3 标签,在本例中为 v2.3)。
如果可能的话,我想针对许多文件批量执行此操作。
有什么工具可以做到这一点?我能想到的最好的办法是vim 作为十六进制编辑器并使用宏来查找标题的末尾并删除后面的内容,但这种方法感觉很像使用锤子作为开罐器,我宁愿避免它。
(需要明确的是,我不是问如何剥离元数据,这在许多其他问题中已经涉及。我只关心元数据,并且希望最小化文件大小。)
答案1
您可以尝试在 mp3 文件上使用 ffmpeg,并将-aframes
选项设置为1
。元数据将被保留,而音频将几乎不存在。
在 powershell 中,使用以下命令:
Get-ChildItem "C:\path\where\to music\files" | foreach-object { ffmpeg.exe -i $_.Name -c copy -aframes 1 (Join-Path "c:\path\where\to copy\output\" $_.Name) }
答案2
@Reddy 的 PS 答案的一个版本,用于从类 Unix shell 执行相同的工作
# From PWD /path/where/to/music/files
for f in *.mp3 ; do ffmpeg -i "${f}" -c copy -aframes 1 "path/where/to/copy/output/${f}"; done