Я хочу конвертировать все * .flac в * .mp3 в определенной папке.
Это то, что я пробовал, но не работает:
# change to the home directory
cd ~/music
# convert all *.flac files
ffmpeg -i *.flac -acodec libmp3lame *.mp3
# (optional: check whether there are any errors printed on the terminal)
sleep 60
Как получить мою цель?
bash
shell-script
ffmpeg
Кевин Донг
источник
источник
Ответы:
Попробуй это:
источник
$(basename "${i/.flac}")
для обработки пробелов?for
циклом: IFS = $ '\ n'$(basename "${i/.flac}").mp3
к"$(basename "${i/.flac}").mp3"
(положить кавычки вокруг него)Простое решение с 1 вкладышем:
find -name "*.flac" -exec ffmpeg -i {} -acodec libmp3lame -ab 128k {}.mp3 \;
http://lewisdiamond.blogspot.ca/2012/01/converting-flac-to-mp3.html
Обратите внимание, что это будет применяться рекурсивно в данном каталоге. Т.е. если вы запустите это из вашей папки Music, она преобразует все флаки из подпапок и выдает .mp3 рядом с ней. Вы также можете сделать это без ffmpeg, напрямую используя flac и lame (т.е. читайте w / flac, pipe to lame, выводите в файл .mp3), как показано в ссылке.
источник
-maxdepth 1
я думаю, как в ответе X Tian, чтобы ограничить рекурсивность.find -name "*.flac" -exec bash -c 'ffmpeg -i "{}" -y -acodec libmp3lame -ab 128k "${0/.flac}.mp3"' {} \;
Если у вас есть пробелы в именах файлов:
источник
Я взял все, что нашел здесь (и, возможно, на некоторых других сайтах), и создал небольшой инструмент, чтобы не только рекурсивно создавать mp3-файлы flacs, но и сохранять относительные пути для их создания в другом месте с поддержкой многопоточности.
о, да, я вижу, я не использовал ffmpeg в этом случае, потому что мой OSMC не предоставлял пакеты для ffmpeg, только avconv, но, поскольку вы уже здесь, я думаю, вы знаете, это "в основном" то же самое - по крайней мере, для самой важной части. Просто замените команду "avconv" на "ffmpeg". Мои первые запуски были с бином ffmpeg и такими же параметрами.
Я ни в коем случае не хакер bash, но мне это удалось, как мой первый bashscript с заданными требованиями, и, возможно, кому-то это будет полезно. Я открыт для любых предложений с вашей стороны, но пока это работает для меня.
Мой скрипт для раскрутки 4 экземпляров, по одному на каждое ядро, выглядит так:
И рабочий скрипт такой:
который можно найти по адресу https://github.com/erdnuesse/flac-to-mp3
С уважением, Кей
источник
Я работал над ответом @ Ketan с помощью avconv, так как ffmpeg здесь не очень хорошо работает.
Это преобразует
flac
файлы в папке вmp3
файлы и перемещает их в существующую папку «mp3». Файлы будут названы в модели "original_name.flac.mp3"источник
источник
GNU Parallel создан для таких задач:
Он будет запускать задания параллельно (по одному заданию на ядро ЦП) и следить за тем, чтобы выходные данные на терминале не смешивались вместе.
Чтобы узнать больше, потратьте 15 минут на чтение главы 1 + 2: https://zenodo.org/record/1146014
источник
{.}.mp3 :::
делает конструкция? Или обратитесь к разделу руководства, в котором это объясняется?Параллельный FTW (без сомнения, у вас есть более одного ядра - почему бы не использовать их?):
источник
Например, если у вас есть несколько файлов AVI:
источник
Если это может помочь .... Я написал небольшой bash-скрипт для этого .... Вам нужно установить ffmpeg / flac.
Как это работает:
Требуется 2 аргумента:
Это производит:
источник
Чтобы рекурсивно конвертировать в mp3 все файлы flac или wav во вложенных папках, я использовал эту команду:
Он создаст папку с именем «mp3» внутри папки с файлами flac или wav и внутри папки mp3 сохранит относительные mp3-файлы с битрейтом 320 кбит / с без сохранения старого расширения имени в названии.
источник
Имя файла "wav2mp3"
источник
для в * .flac
сделать OUTF =
echo "$a" | sed s/\.flac$/.mp3/g
ffmpeg -i "$ a" -acodec libmp3lame "$ OUTF"
сделанный
источник
Я понимаю, что это происходит довольно поздно, но что касается памяти, см. Мой скрипт "batchaudiocvt" на sourceforge. Это (довольно большой) сценарий оболочки, разработанный для эффективного массового преобразования аудиофайлов между многими форматами. В частности, он делает все возможное, чтобы конвертировать обычные теги.
источник