我收集了一些 FLAC 翻录,用于存档和在我的 Hi-Fi 系统上播放。但是,我想为我的整个 FLAC 收藏创建一个 MP3 副本(用于我的笔记本电脑、手机等),模仿以下目录结构:
Music
Jazz
Miles Davis
Kind of Blue
... .mp3
cover.jpg
这样,我的收藏就可以像我的 FLAC 收藏一样进行导航。我不想使用 FLAC 文件创建 MP3。如何在 bash 中执行此操作?
使用:Bash、ffmpeg
答案1
您可以使用 执行以下操作find
,只需确保将输出放在目标目录之外。
find ./ -type d -exec mkdir -p "../test/{}" \;
find ./ -type f -iname '*.flac' -exec ffmpeg -i "{}" "../output/{}.mp3" \;
find ./ -type f -iname '*.jpg' -exec cp "{}" "../output/{}" \;
要将文件重命名为正确的扩展名:
find . -name "*.flac.mp3" -exec bash -c 'echo mv $0 ${0/.flac.mp3/.mp3}' {} \;
答案2
你可以试试mp3fs:
mp3fs 是一个只读的 FUSE 文件系统,它在打开和读取文件时动态地在音频格式(当前为 FLAC 到 MP3)之间进行转码。
它可以让您将 FLAC 集合与仅识别 MP3 格式的软件和/或硬件一起使用,或者通过文件浏览器中的简单拖放操作来转码文件。
就您的程序而言,它们只是常规文件。
安装你的音乐:
$ mp3fs -b 192 /mnt/music /mnt/mp3 -o allow_other,ro
或者使用以下条目/etc/fstab
:
mp3fs#/mnt/music /mnt/mp3 fuse allow_other,ro,bitrate=192 0 0
它们将显示为挂载点上的 MP3 文件,镜像 FLAC 的目录结构:
$ ls -l /mnt/mp3/Machinarium
total 81030
-rw-r--r-- 1 khenriks khenriks 8607397 Feb 14 2012 1-01 The Bottom.mp3
-rw-r--r-- 1 khenriks khenriks 6295871 Feb 14 2012 1-02 The Sea.mp3
-rw-r--r-- 1 khenriks khenriks 6287732 Feb 14 2012 1-03 Clockwise Operetta.mp3
-rw-r--r-- 1 khenriks khenriks 5157984 Feb 14 2012 1-04 Nanorobot Tune.mp3
...