У меня есть своя крупная библиотека FLAC, разделенная папкой, каждым альбомом и всем FLAC perfecty отмеченный, и т.д. я хочу преобразовать один или несколько альбомов в mp3, но от самого gmusicbrowser. AFAIK там не является никакой опцией для этого, только "выполняют пользовательскую команду на выбранных файлах" сменная опция. Я думаю, возможно, существует commnad, чтобы сделать это. В противном случае кто-то знает, как я могу сделать это?
Заранее спасибо.
Возможно, это не точно, что Вы просите, но я использую следующий сценарий для этой задачи:
#!/bin/bash
#
# convert FLAC-files to MP3
# (similar folder structure, max quality)
#
export path=<flacpath>
export out=<mp3path>
echo "" > doit.sh
find $path -name \*.flac | (
while read i; do
echo
echo "$i"
newfile=`echo $i | sed s,$path,, | sed s,.flac,.mp3, | sed s,\",,g`
echo $out/$newfile
targetdir=`dirname "$newfile"`
echo $targetdir
echo "mkdir -pv \"$out/$targetdir\"" >> doit.sh
echo "ffmpeg -y -i \"$i\" -aq 2 \"$out/$newfile\"" >> doit.sh
done
)
Это - просто вид шаблона, изменение 'flacpath' и 'mp3path', как Вам нужно. Файл 'doit.sh', который сгенерирован, может быть отредактирован и затем выполнен как sh doit.sh
Теги FLAC будут включены в MP3 насколько они поддерживаются.
Я думаю, что существуют намного лучшие решения, но это работает на меня.
Дать пример:
Мне оцифровали запись к FLAC в
/data/music_out/FLAC/Jimi_Hendrix/Smash_Hits/...
и я хочу преобразовать это в
/tmp/out/MP3/Jimi_Hendrix/Smash_Hits/...
Принятие ffmpeg установлено (иначе sudo install ffmpeg
), я установил
export path=/data/music_out/FLAC/Jimi_Hendrix/Smash_Hits
export out=/tmp/out/MP3/Jimi_Hendrix/Smash_Hits
в вышеупомянутом сценарии. Когда выполнено, сценарий создает другой названный файл сценария doit.sh
с содержанием
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/01-Purple Haze.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//01-Purple Haze.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/02-Fire.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//02-Fire.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/03-The Wind Cries Mary.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//03-The Wind Cries Mary.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/04-Can You See Me.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//04-Can You See Me.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/05-51st Anniversary.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//05-51st Anniversary.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/06-Hey Joe.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//06-Hey Joe.mp3"
...
просто для уточнения идея. Вызов sh doit.sh
действие будет сделано.
Если существуют специальные charcters (даже как '') в Вашем пути, необходимо изменить некоторые части сценария. И да, mkdir -pv
избыточно в этом примере. Но это не причиняет боль, и сценарий сохранен простым этот путь.