将一首歌曲的封面艺术批量复制到另一首(相同的文件名)
Posted
技术标签:
【中文标题】将一首歌曲的封面艺术批量复制到另一首(相同的文件名)【英文标题】:Batch Copy Cover Art from One Song to Another (Identical File Names) 【发布时间】:2016-11-20 01:34:26 【问题描述】:我正在寻找一种将专辑封面从一组歌曲复制到另一组没有专辑封面的相同歌曲的方法。 FFMPEG 完美复制文本标签(艺术家、专辑、标题...),但不会复制嵌入的专辑插图。
我一直在尝试将我的 MP3 文件夹批量转换为 128k AAC(使用 FFMPEG 和 libfdk-aac
编解码器)文件以节省手机空间,但它没有将我的专辑封面复制到新歌曲中.
我使用了以下批处理命令:
FOR /F "tokens=*" %%G IN ('dir /b *.mp3') DO ffmpeg -i "%%G" -c:a libfdk_aac -b:a 128k "%%~nG.m4a"
编辑:我尝试使用以下命令对其进行测试,因为流 0:0 是音频,流 0:1 是 JPEG,但是它不起作用:
ffmpeg -i Estranged.mp3 -map 0:0 -map 0:1 -c:a libfdk_aac -b:a 128k -c:v copy Estranged.m4a
这是日志的粘贴:http://pastebin.com/dZFsvR7F(我知道,这不是最新版本。我自己编译时遇到了问题,但我目前正在努力。)
有没有办法将专辑封面(或整个标签,如果需要)从一个文件夹中具有相同名称的歌曲复制到新文件夹中的歌曲?
I.E. C:\Folder1\song.mp3
→ C:\Folder2\song.m4a
谢谢。
【问题讨论】:
艺术是嵌入在文件中还是外部?%%~nG
将选择%%G
中文件名的名称部分是否有帮助?详情请见for /?|more
...
艺术嵌入所有文件soja。感谢 Magoo 的解释,我不确定为什么会这样格式化。
在旧版本的 FFMPEG 上,您可以使用附加开关“-vcodec copy”来保留源格式和目标格式之间的封面。
有效!但不适用于 AAC ......我使用了 ffmpeg-hi10-heaac -i Estranged.mp3 -vcodec copy -c:a libmp3lame -b:a 128k Estranged-COPY.mp3
(我可以交替使用 acodec
和 c:a
)并且它有效 - 除了 Windows 无法识别标签,但它在 Audioshell 中.但是,当我尝试使用 ffmpeg-hi10-heaac -i Estranged.mp3 -vcodec copy -c:a libfdk_aac -b:a 128k Estranged-COPY.m4a
转换为 AAC 时,我得到了 Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
。我怀疑这里的问题是 M4A 容器。
【参考方案1】:
ffmpeg -y -i input1.mp3 -i input2.mp3
-map 1 -codec copy
-map 0:1 -map_metadata 0 -id3v2_version 3
o.mp3
从输入 2 获取音频
以高度兼容的 id3v2.3 格式从输入 1 获取元数据和专辑封面
这将根据需要进行修改
【讨论】:
以上是关于将一首歌曲的封面艺术批量复制到另一首(相同的文件名)的主要内容,如果未能解决你的问题,请参考以下文章
我制作了一个播放音频文件的播放器。我希望播放器在完成一首歌曲后播放一首歌曲。寻求帮助以解决此问题
想把cue里的一首歌单独提取出来或者把cue切割成一首一首的歌怎么弄?不想听完整张CD的歌