Конвертировать mp3 в aac с помощью HE-AAC (AAC +) - linux - PullRequest
0 голосов
/ 30 августа 2018

В настоящее время я работаю над потерей размера mp3-файлов для потоковой передачи. Я хочу уменьшить размер mp3, насколько это возможно. Я знаю, что лучший (вероятно) кодировать это HE-AAC (AAC +). Он дал мне 32 Кбит / с для стереозвука в формате mp3, например, 320 Кбит / с из оригинала.

Я нахожусь на Ubuntu. Я нашел одно решение. Это NeroAacEnc, он бесплатный и работает неплохо. Но есть ошибка. Входной файл должен быть файлом "wav", поэтому при первом преобразовании моего mp3 (400 МБ) в файл wav получается файл размером более 4 ГБ. Тогда я не могу открыть такие большие файлы в NeroAacEnc.

Команда с -ignorelength не работает

$ neroAacEnc -ignorelength -br 32000 -if test.wav -of test_nero.mp3

Можете ли вы помочь мне и найти решение, как это сделать правильно? Другие кодеры настолько плохи, что уменьшают размер до 32 Кбит / с, потому что теряют качество. Только HE-AAC (AAC +) дает мне хорошее качество и 32 КБ / с моего файла.

EDIT: ОК, я обнаружил, что могу скомпилировать ffmpeg с помощью кодера AAC +. http://ffmpeg.org/doxygen/trunk/libaacplus_8c-source.html вот источник. Но я не знаю, как это сделать, кто-нибудь знает?

Ответы [ 3 ]

0 голосов
/ 31 августа 2018

Он дал мне 32kb / s для стереозвука mp3, как 320kb / s от оригинала.

Это полная ложь. Кто бы вам ни сказал, он абсолютно не понимает, о чем они говорят.

поэтому при первом преобразовании моего mp3 (400 МБ) в wav файл размером более 4 ГБ

Да, это вероятно. Не конвертируйте его в файл, передавайте его neuroAacEnc поддерживает -if - для чтения из STDIN.

Другие кодеры настолько плохи, что уменьшают размер до 32 Кбит / с из-за потери качества.

Все кодеки звучат плохо на 32K.

Только HE-AAC (AAC +) дает мне хорошее качество и 32 КБ / с моего файла.

HE-AAC - один из ваших лучших вариантов, но он все равно не будет удивительным. Также рассмотрим Opus.

Вы можете рассмотреть готовый FFmpeg для вашего использования. На самом деле, вы все равно не должны конвертировать MP3 в AAC. Получите оригинальное аудио, если это вообще возможно, или вы будете тратить много трафика, пытаясь закодировать артефакты из предыдущих кодеков с потерями.

0 голосов
/ 31 августа 2018

ОК, ребята, после исследований я наконец-то сделал то, что собираюсь сделать. Однако мы не можем разбивать и маркировать файлы. При попытке объединить файлы, закодированные в AAC +, вы теряете его, потому что инструменты для объединения файлов снова кодируют файлы в плохой кодек.

Но мы можем сжать большой (> 4 ГБ) WAV-файл в aac в режиме реального времени по команде

rm audio.fifo; mkfifo audio.fifo; cat test.wav > audio.fifo & neroAacEnc -ignorelength -br 23000 -if audio.fifo -of test.m4a

Используется временный файл fifo.

Obus (ogg) тоже неплохие, но здесь https://trac.ffmpeg.org/wiki/Encode/HighQualityAudio#Recommendedminimumbitratestouse они показывают нам, что лучшее качество - это он-а-а с самым низким битрейтом.

PS. Я знаю, что конвертировать из mp3 в wav в aac не очень хороший метод, но мои исходные файлы - mp3.

PS2. Я знаю, что 32 кбит / с в AAC + не звучат как mp3 320 кбит / с, но обычный пользователь, который слушает музыку из предварительного просмотра в потоковом режиме, не будет слушать детали и будет счастлив.

0 голосов
/ 30 августа 2018

Если вы не нашли лучшего решения, учтите, что файлы .waw и .aac легко разбить и объединить.

...