Каков наилучший способ объединения mp3-файлов?[закрыто]

StackOverflow https://stackoverflow.com/questions/62618

  •  09-06-2019
  •  | 
  •  

Вопрос

У меня есть много-много mp3-файлов, которые я хотел бы объединить в один файл.Я использовал метод командной строки

copy /b 1.mp3+2.mp3 3.mp3

но это неприятно, когда их так много, а их названия противоречивы.Кажется, что и время никогда не подходит.

Это было полезно?

Решение

Как отметил Томас Оуэнс, простое объединение файлов приведет к тому, что несколько заголовков ID3 будут разбросаны по всему результирующему объединенному файлу, поэтому информация о времени / битрейте будет совершенно неверной.

Вам нужно будет использовать инструмент, который может комбинировать аудиоданные для вас.

mp3 - обертка было бы идеально для этого - он предназначен для объединения файлов MP3 без необходимости декодирования + перекодирования данных (что привело бы к потере качества звука), а также разумно обрабатывает теги ID3.

Полученный файл также можно разделить обратно на составные части с помощью инструмента mp3splt - mp3wrap добавляет информацию в комментарий IDv3, чтобы разрешить это.

Другие советы

Ответ Дэвида правильно, что простое объединение файлов оставит теги ID3 разбросанными внутри (хотя обычно это не влияет на воспроизведение, поэтому вы можете выполнить "copy /b" или в UNIX "cat a.mp3 b.mp3 > combined.mp3" в крайнем случае).

Однако mp3wrap - не совсем подходящий инструмент для простого объединения нескольких MP3-файлов в один "чистый" файл.Вместо того чтобы использовать ID3, он фактически вставляет свой собственный пользовательский формат данных среди MP3-кадров (часть "переноса"), что вызывает проблемы с воспроизведением, особенно на iTunes и iPod.Хотя файл будет воспроизведение нормально, если вы просто позволите им работать от начала до конца (потому что проигрыватели пропустят произвольные байты, отличные от MPEG), длительность файла и битрейт будут указаны неверно, что приведет к прерыванию поиска.Кроме того, mp3wrap удалит все ваши метаданные ID3, включая обложку, и не сможет обновить заголовок VBR с правильной длиной файла.

mp3 - кот сам по себе он создаст хороший объединенный файл данных (таким образом, лучше, чем mp3wrap), но он также удаляет теги ID3 и не обновляет заголовок VBR с правильной длиной объединенного файла.

Вот такой хорошее объяснение из этих проблем и метод (на самом деле два) для объединения MP3-файлов и получения "чистого" конечного результата с сохраненными исходными метаданными - это командная строка, поэтому работает на Mac / Linux / BSD и т.д.Он использует:

  • mp3 - кот чтобы объединить только кадры данных MPEG в непрерывный файл, затем
  • id3cp скопировать все метаданные в объединенный файл и, наконец,
  • VBRFix чтобы обновить заголовок VBR.

Для получения информации о графическом интерфейсе Windows взгляните на Объединить MP3 -- он позаботится обо всем.(VBRFix также поставляется в виде графического интерфейса, но он не выполняет объединение.)

Используйте ffmpeg или аналогичный инструмент для преобразования всех ваших MP3-файлов в согласованный формат, например

ffmpeg -i originalA.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateA.mp3  
ffmpeg -i originalB.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateB.mp3

Затем, во время выполнения, объедините ваши файлы вместе:

cat intermediateA.mp3 intermediateB.mp3 > output.mp3

Наконец, пропустите их через инструмент MP3val чтобы исправить любые ошибки потока без принудительного полного перекодирования:

mp3val output.mp3 -f -nb

Проблема со временем связана с заголовками ID3 файлов MP3, которые ваш метод не учитывает, поскольку копируется весь файл целиком.

Есть ли у вас любимый язык, который вы хотите использовать, или это не имеет значения?Это повлияет на то, какие библиотеки доступны для поддержки нужных вам операций.

Чего я действительно хотел, так это графического интерфейса, который бы переупорядочивал их и выводил в виде одного файла

Производитель плейлистов делает именно это, декодируя и перекодируя их в объединенный MP3.Он предназначен для создания микшированных лент или простых подкастов, но вы можете счесть его полезным.

(Раскрытие информации:Я написал программное обеспечение, и я получу прибыль, если вы купите Pro Edition.Облегченная версия - это бесплатная версия с несколькими ограничениями).

У MP3-файлов есть заголовки, которые вы должны уважать.

Вы могли бы также использовать библиотеку, подобную Проект Аудиотеки с открытым исходным кодом и напишите инструмент вокруг этого.Или вы можете использовать инструмент, который понимает mp3-файлы, такие как Дерзость.

Если ты чего-то хочешь Бесплатно с простым пользовательским интерфейсом, который делает полностью чистый mp3 я рекомендую MP3-Столяр.

Характеристики:

  • Удаляет данные ID3 (как ID3v1, так и ID3v2.x) и не добавляет свои собственные (в отличие от mp3wrap)
  • Соединение без потерь (не декодирует и не перекодирует файлы .mp3).Никаких кодеков не требуется.
  • Простой пользовательский интерфейс (см. Ниже)
  • Низкое использование памяти (использует потоки)
  • Очень быстрый (по сравнению с mp3wrap)
  • Я написал это :) - так что вы можете запросить функции, и я их добавлю.

MP3 Joiner app

Ссылки:

  • Веб-сайт MP3 Joiner: Здесь
  • Последняя версия программы установки: Здесь

Как говорит Дэвид, mp3 - обертка это тот путь, по которому нужно идти.Однако я обнаружил, что это не исправило заголовок длины звука, поэтому iTunes отказался воспроизводить весь файл целиком, хотя все данные были там.(Я объединил три 7-минутных файла, но он просматривался только до первых 7 минут.)

Я откопал это сообщение в блоге, в котором объясняется, как это исправить, а также как скопировать теги ID3 из исходных файлов (mp3wrap сам по себе удаляет ваши теги ID3).Или просто скопировать теги (используя id3cp из id3lib), делать:

id3cp original.mp3 new.mp3

Я бы использовал Winamp для этого.Создайте список воспроизведения файлов, которые вы хотите объединить в один, выберите модуль вывода Disk Writer, выберите имя файла, и все готово.Файл, который вы получите, будет правильным файлом MP3, и вы можете установить битрейт и т.д.

Я раньше не слышал о mp3wrap.Выглядит великолепно.Я предполагаю, что кто-то где-то внедрил это и в графический интерфейс пользователя.Но, просто чтобы ответить на исходное сообщение, я написал графический интерфейс, который выполняет метод COPY / b.Итак, под прикрытием нет ничего нового под солнцем, но программа предназначена для того, чтобы сделать процесс менее болезненным, если у вас много файлов для объединения...И вы не хотите перекодировать, И каждый набор файлов для объединения имеет одинаковый битрейт.Если у вас это есть (и вы используете Windows), ознакомьтесь с Mp3Merge по адресу: http://www.leighweb.com/david/mp3merge и посмотрите, это ли то, что вы ищете.

Лично я бы использовал что-то вроде mplayer с опцией передачи звука, например,oac copy

Вместо того, чтобы использовать командную строку для выполнения

копия /b 1.mp3+2.mp3 3.mp3

вы могли бы вместо этого использовать "Переименование" переименовать все фрагменты MP3 в серию имен, расположенных по порядку на основе какого-либо счетчика.Тогда вы могли бы просто использовать тот же формат командной строки, но немного изменить его на:

копировать /b *.mp3 имя_выхода.mp3

Это предполагает, что вы одновременно разорвали все эти фрагменты MP3 и у них одинаковые настройки звука.У меня это отлично сработало, когда я конвертировал аудиокнигу, которая была у меня в формате .aa, в один файл .mp3.Мне пришлось записать все файлы .aa на 9 компакт-дисков, затем скопировать все 9 компакт-дисков, и тогда у меня осталось около 90 mp3-файлов.Настоящая заноза в а55.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top