FFMPEG: конвертировать файлы m4a в mp3 без существенной потери информации / качества. Автоматизированный битрейт

У меня есть загрузка аудиофайлов (около 1000), которые я хочу конвертировать из m4a в mp3, поэтому я могу использовать их воспроизведение на CD-плеере с USB-портом.

Я попытался сделать что-то простое: ffmpeg -i FILE.m4a FILE.mp3 но это, похоже, уменьшает битрейт до очень низкого значения, чего я не хочу.

  • Выходной разъем звука на CD-ROM?
  • Наушники Bluetooth: отличное качество на iPhone, низкое качество на ноутбуке и ПК
  • Построение звука в реальном времени, звуковые эффекты, Ubuntu 10.04
  • Windows 7 Audio Too Loud
  • Преобразование аудио 5.1 в стерео
  • Компьютер зависает и звучит заикается
  • Точно так же я не хочу конвертировать с использованием постоянного битрейта, такого как 320k, потому что некоторые из файлов, которые я конвертирую, являются 320k m4a, а некоторые из них имеют низкое качество, как 96k m4a.

    Кажется, нет смысла форсировать 320k, так как некоторые файлы будут во много раз больше, чем они должны быть. Точно так же нет смысла уничтожать все мои 320k-файлы, преобразовывая их в нечто гораздо меньшее, чем 96k. (На данный момент файлы конвертируются примерно в 50 тыс.).

    Кто-нибудь знает, как я могу это сделать? Я действительно хочу сказать, что ffmpeg конвертирует все файлы m4a в каталог в mp3, сохраняя при этом текущее качество звука, насколько это возможно. (Конечно, скорее всего, будут некоторые дополнительные потери от конвертирования из файлов с потерями в файлы с потерями).

    Спасибо за вашу помощь. Если это невозможно, существует ли какой-то скрипт, который может обнаружить требуемое качество при конвертировании файлов по отдельности?

    PS: Я работаю над Intel Mac, но также имею Ubuntu.

  • Выбрасывать каждый четный или нечетный кадры с помощью FFmpeg?
  • Как удалить несколько сегментов из видео с помощью FFmpeg?
  • Компьютер зависает и звучит заикается
  • Ffmpeg приостанавливает видео каждые 10 секунд в течение 3 секунд
  • Ошибка синхронизации Ffmpeg, первое изображение, показывающее действительно быстрое
  • Отправлять только видеовыход с помощью кабеля HDMI
  • 5 Solutions collect form web for “FFMPEG: конвертировать файлы m4a в mp3 без существенной потери информации / качества. Автоматизированный битрейт”

    VBR

    Вы можете использовать параметр -qscale:a в ffmpeg для создания выходного сигнала переменной битрейта (VBR). Из FFmpeg Wiki: Кодирование VBR (Variable Bit Rate) mp3-аудио :

    Качество управления с помощью -qscale:a (или псевдоним -q:a ). Значения специфичны для кодировщика, поэтому для libmp3lame диапазон 0-9, где более низкое значение является более высоким. 0-3, как правило, выдают прозрачные результаты, 4 (по умолчанию) должны быть близки к прозрачности восприятия, а 6 обычно производит «приемлемое» качество. Параметр -qscale:a сопоставляется с параметром -V в автономном интерфейсе командной строки командной строки.

    Вам нужно поэкспериментировать, чтобы узнать, какое значение вам приемлемо. Также см. Hydrogen Audio: Рекомендуемые настройки кодировщика LAME .

    Кодирование нескольких файлов

    Вы можете использовать Bash для цикла для кодирования всех файлов в каталоге:

     $ mkdir newfiles $ for f in *.m4a; do ffmpeg -i "$f" -codec:v copy -codec:a libmp3lame -q:a 2 newfiles/"${f%.m4a}.mp3"; done 

    Получить ffmpeg

    Рекомендуется использовать недавнюю сборку ffmpeg если это возможно. См. Страницу загрузки FFmpeg для ссылок на сборки для OS X, Linux и Windows. Вы также можете следовать руководству по компиляции FFmpeg .

    Использование, FFmpeg (Полная информация по адресу: http://ubuntuforums.org/showthread.php?t=1614765 )

     ffmpeg -i filenameee.m4a -acodec libmp3lame -ab 128k output.mp3 

    Это сработало для меня:

     ffmpeg -i testing.m4v -b:a 192K -vn testing.mp3 

    Если вы работаете на 48 KhZ и по крайней мере 24-бит во входном файле (из редактора файлов i.ex.) -q:a 0 будет воспроизводить 20 кГц в не столь большом файле, как flac … Но звук низкого качества Если вы не уменьшите шум от высоких частот (шипение) с помощью звуковых редакторов сглаживания или уменьшения носа, созданных в конверсиях, которые будут воспроизведены, затем будут использовать файл данных как неслышимый HF, но дорогой шум.

    Используя существующие ответы в качестве основы, я написал сценарий bash, который должен делать именно то, что задает вопрос на машине Ubuntu (протестировано 16.04). Вам нужно будет установить avprobe который находится в пакете libav-tools . Вы можете установить avprobe со следующей командой

    sudo apt-get install libav-tools

    ПРИМЕЧАНИЕ. Было бы разумно сделать резервную копию любой папки, в которой вы запускаете этот скрипт, а также приложить все усилия, чтобы прочитать и понять, что он делает перед запуском.

    Я не очень тщательно тестировал YMMV.

     #!/bin/bash mkdir "mp3s" for f in *.m4a; do bitrate=$(avprobe "${f}" 2> >(grep bitrate) | sed 's/^.*bitrate://g' | sed 's/[^0-9]*//g') bitrate="${bitrate}K" new_filename=$(echo "${f}" | sed 's/.m4a$/.mp3/g') ffmpeg -y -i "${f}" -acodec libmp3lame -ab "${bitrate}" "mp3s/${new_filename}" done 
    Давайте будем гением компьютера.