BaR*_*Rud 48 command-line audio
我正在 Linux 中寻找一种软件,它将以批处理模式将专辑封面/封面添加到每个选定的文件中。专辑封面是存储在我电脑中的 jpg/png。如果它可以从互联网导入,那就太棒了。
目前我已经尝试了 Rhythmbox 和 Banshee。我也试过lameand easytag,但似乎它们不支持批处理模式。lame在不添加属性,但覆盖。(我知道 lame 是迄今为止 s/wi 使用的唯一命令行)。
所以,基本上我正在寻找:
<some magic s/w> --picture=<my chosen picture> Music/Artist/*.mp3
Run Code Online (Sandbox Code Playgroud)
这会将图片永久添加到文件的元数据中。
你能给我推荐任何这样的软件吗?
slm*_*slm 35
使用lame你可以使用一些脚本来做到这一点:
$ lame --ti /path/to/file.jpg audio.mp3
Run Code Online (Sandbox Code Playgroud)
如果文件的名称是这样的,您可以制作一个 shell 脚本来执行您想要的操作:
for i in file1.mp3 file2.mp3 file3.mp3; do
albart=$(echo $i | sed 's/.mp3/.jpg/')
lame --ti /path/to/$albart $i
done
Run Code Online (Sandbox Code Playgroud)
您可以通过删除匹配的后缀来使上述内容稍微更紧凑,并消除sed使用bashto do it的需要:
...
albart="${i%.mp3}.jpg"
...
Run Code Online (Sandbox Code Playgroud)
如果您想大规模执行此操作,我建议使用 Picard,它是使用 MusicBrainz 数据库的前端工具。Picard 有一个名为“Cover Art Downloader”的插件,它可以批量处理您的收藏。
然而,上面的内容似乎不是命令行驱动的。
另一种选择是使用beets. 这可以从命令行驱动,并利用 MusicBrainz 数据库来获取专辑封面。
您可以使用源专辑封面FetchArt插件或使用其嵌入EmbedArt插件。
还可以看看之前问过的 U&L 问答题:哪个 mp3 标记工具适用于 Linux?. 此线程中列出了几种替代工具。
evi*_*oup 23
一种解决方案是使用 ffmpeg:
ffmpeg -i input.mp3 -i cover.jpg -map_metadata 0 -map 0 -map 1 output.mp3
Run Code Online (Sandbox Code Playgroud)
您可以将其放入 for 循环中以执行目录中的每个 MP3:
for f in ./*.mp3; do ffmpeg -i "$f" -i cover.jpg -map_metadata 0 -map 0 -map 1 out-"${f#./}"; done
Run Code Online (Sandbox Code Playgroud)
这将创建一个单独的输出文件(因此,如果您有一个名为 的文件foo.mp3,则最终会同时包含foo.mp3和out-foo.mp3);这是因为 ffmpeg 无法覆盖其输入。您可以使用以下方法解决此问题:
for f in ./*.mp3; do \
ffmpeg -i "$f" -i cover.jpg -map_metadata 0 -map 0 -map 1 out-"${f#./}" \
&& mv out-"${f#./}" "$f"; done
Run Code Online (Sandbox Code Playgroud)
用ffmpeg解决这个问题有点像用巡航导弹破解坚果。更专业的元数据操作工具肯定能够以更简洁、更短的命令来完成这项工作。
Rap*_*ael 14
对于 MP3:
eyeD3 --add-image="cover.jpg":FRONT_COVER "file.mp3"
Run Code Online (Sandbox Code Playgroud)
对于 FLAC:
metaflac --import-picture-from="cover.jpg" "file.flac"
Run Code Online (Sandbox Code Playgroud)
OGG/Vorbis 似乎更复杂。
您可以为此使用FancyAudio gem。它可以将专辑封面添加到 mp3 文件中。 文档可在此处获得。
特征
下面的屏幕截图显示了在包含图像和多个 mp3 文件的文件夹中运行时 Fantasy_audio 的输出
下面的屏幕截图显示了在包含 mp3 和图像文件的文件夹中运行时 Fantasy_audio 的输出
小智 5
使用诱变剂中的 mid3v2:
mid3v2 -p <image> <mp3>
Run Code Online (Sandbox Code Playgroud)
使用 lame 或 ffmpeg 重新编码 MP3,而不是仅将图像添加为元 blob。UI 不是命令行。