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

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

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

Точно так же я не хочу конвертировать с использованием постоянного битрейта, такого как 320k, потому что некоторые из файлов, которые я конвертирую, являются 320k m4a, а некоторые из них имеют низкое качество, как 96k m4a.

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

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

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

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

  • Удаление дубликатов файлов с расширенным поиском имен
  • Как искать тег комментария внутри mp3 на windows 7?
  • Что такое хороший редактор тегов .mp3 / .m4v для OS X
  • В каком формате Audacity обрабатывает сжатые аудиофайлы?
  • Присоедините много файлов MP3, OGG и FLAC в один WAV или FLAC
  • Получить продолжительность песни из mp3-файла в скрипте?
  • Утилита командной строки Linux для определения битрейта mp3?
  • Неизвестный кодер 'libmp3lame' в Ubuntu 14.04
  • 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 
    Interesting Posts

    Как остановить Windows 8 от автоматического входа в MSN?

    Как настроить ярлык для каталога в терминале Mac OS X?

    «Общий доступ и безопасность» отсутствует на моем ноутбуке XP

    Группировка меток и объединение их текстовых значений (например, сводной таблицы)

    Разрешить стандартным пользователям запускать программу, требующую повышения UAC

    Как заставить разрешение на Windows 7

    Для Chrome Sync Error требуется пароль

    Сделать Firefox отображать количество вкладок в конце последнего окна?

    Возможно ли работать офлайн в Google Chrome (как в Firefox?)

    Совместить целую строку

    Почему Windows 7 предполагает наличие нового сетевого соединения при подключении к существующей точке доступа?

    Как отключить форматирование цвета строки URL в Firefox 6?

    Как предотвратить автоматический вход последнего пользователя в Windows 10?

    Как отредактировать / создать новый пакетный скрипт для настройки массовой загрузки из серии ссылок?

    «Нет места на устройстве» после изменения размера раздела

    Давайте будем гением компьютера.