Подскажите - кто встречал нормальный компресор для сжатия mp3

? Чтобы один час весил около 10 мб ( очень мало )

24 ответов

62 просмотра

Серч по Гиту https://github.com/MartinEesmaa/awesome-compopt#audio выдал вот такую штуку. Написано до 70% http://losslessaudio.org/

encodec бахни. там есть режим на 1.5кбайта/с. Это типо, 5 мбайт за час аудио

Олег-Светов Автор вопроса
Ilya Shigabeev
encodec бахни. там есть режим на 1.5кбайта/с. Это ...

Там вроде кодировщий и декодировщин нужен для открытия ( вроде - насколько понял )

Олег Светов
Там вроде кодировщий и декодировщин нужен для откр...

Нужен. Но в случае mp3/opus/flac то же самое. Разница только в том насколько стандарты распространены.

А качество не имеет значения? Можно взять старые добрые Lame или Ffmpeg и указать mono 16 kbps, но качество звука будет так себе...

Олег-Светов Автор вопроса
Alexey Bazarov
А качество не имеет значения? Можно взять старые д...

Вот пример - https://www.youtube.com/watch?v=onFoBWvX8Eo - под видио ссылка скачать звуковой ( посмотреть размер и качество ) . Это то что ожидается от кодека. Понять чем они пользуются - найти подобное или лучше.

Олег Светов
Вот пример - https://www.youtube.com/watch?v=onFo...

А что вас здесь удивляет: размер 7.69 мб, Length: 2017 seconds MPEG-2 layer 3 32 kbps 24000 Hz Mono По-моему, всё довольно логично... Можно ещё сделать ресемплинг до 11.025 kHz, будет еще меньше...

Олег-Светов Автор вопроса
Alexey Bazarov
А что вас здесь удивляет: размер 7.69 мб, Length: ...

Поясните - немного не понял - вы пишите MPEG-2 layer 3 - но сам файл формат имеет .mp3 ( счачал - посмотрел - формат mp3 ) Поэтому озадачен - чем можно сократить ( что за компресор сжимает так хорошо ) . Там у них трёхчасовые по 40 мегабайт . Пока сам mp3 1 час по 100 мб сохраняю.

Олег Светов
Поясните - немного не понял - вы пишите MPEG-2 la...

вот такая команда сделает похожий файл ffmpeg -i file.wav -ar 24k -ac 1 -b:a 32k file.mp3

Олег-Светов Автор вопроса
Nikolay V. Shmyrev
вот такая команда сделает похожий файл ffmpeg -i ...

возможно есть программа ( для windows ) - у которой есть граф интерфейс ? Как у других кодеков и программ. Нажать кнопку и сконвертировать ))

Не готов сейчас дать полный корректный ответ. Лучше это поискать в Интернете. Суть в том, что "mp3@ — это просто расширение файла. Содержимое конкретного файла с расширением .mp3 может быть закодировано с применением разных версий этого формата. Размер сжатого файла зависит от нескольких параметров. В частности: Количество каналов: 1 или 2 (mono или stereo)/ Одноканальный звук будет автоматически иметь в два раза меньший размер по сравнению с двухканальным. Скорость потока (bitrate): обычно для речевых фонограмм лучше не применять значение ниже 64 kbps, но всё зависит от цели; для музыкальных фонограмм лучше не применять значение ниже 128 kbps. Ещё есть такая штука как переменный битрейт (variable — vbr). Если очень упрощенно, то при этом кодировщик сам выбирает битрейт для отдельных участков фонограммы, приэтом качество звука более менее не страдает, а размер файла может стать меньше, чем при использовании строго заданного битрейта (constant — cbr). Частота дискретизации исходной аудиозаписи: обычно используются значения 22.050, 44.100 и 48 kHz; при сжатии в mp3 можно применить ресемплинг, т. е. принудительно изменить (снизить) частоту дискретизации.

Олег Светов
Поясните - немного не понял - вы пишите MPEG-2 la...

Для преобразования всех .wav файлов в текущей директории с помощью ffmpeg в формат .mp3 я использую вот такой .cmd скрипт в Windows. На уровень выше будет создана директория с таким же именем как текущая и в круглых скобках перечислены параметры сжатия. Вот в этой новой директории окажутся сжатые .mp3 файлы. Сама утилита ffmpeg.exe должна либо лижать в текущей директории (вместе с .cmd и .wav файлами), либо путь к ней должен быть указан в системной переменной path.

Использовал LAME для джавы/андроида. Так то либа эта для плюсов. Для вашего размера нужны экстремально низкие, минимально поддерживаемые параметры сжатия, типа 64 кбит / переменный битрейт

Alexey Bazarov
Не готов сейчас дать полный корректный ответ. Лучш...

Одноканальный звук в мп3 обычно не вдвое а процентов на 10 меньше. Там кодируется не два независимых канала а разница между ними

Олег Светов
Поясните - немного не понял - вы пишите MPEG-2 la...

А, еще частота дискретизации, да. Для речи достаточно 16000 с запасом.

Олег-Светов Автор вопроса
Сергей П.
Одноканальный звук в мп3 обычно не вдвое а процент...

Вот и я об этом - пробовал по разному в разных форматах ( файл 540 мб ) сжимается до 400 -360 мб ( в разных вариациях ) но вот как у них на сайте - пока не получилось - понятно что они это делают без заморочек - пробовал AnyMP4 Video Converter Ultimate ( обещает за сжать с 500 мб до 100 мб ) - вот и пробую найти подсказку как по простому это сделать 👋🙂 Сжимаю 540 мб файл mp3

Олег Светов
Вот и я об этом - пробовал по разному в разных фор...

Выложите где-нибудь ваш файл. Давайте вместе поэксперементируем.

Олег Светов
Вот и я об этом - пробовал по разному в разных фор...

Вам ужна перекодировка мп3 обычного качества, скажем 44100 гц/ битрейт 320 в компактный? Нужен декодер в 16 битные pcm отсчеты, даунсэмплинг полученног потока до скажем 16000 и запись в новый одноканальный mp3 с новым битрейтом, 64 кбит или даже меньше. Я писал диктофон для андроида, там приходилось использоватб нужные для всего этого инструменты, ро андроид либам могу дать наводку, для других ОС и языков нет

Олег-Светов Автор вопроса

32 k - отлично получилось - хорошее восприятие

Олег Светов
32 k - отлично получилось - хорошее восприятие

ffmpeg.exe -i "file.wav" -write_xing 0 -id3v2_version 0 -acodec libmp3lame -ab 32k -ac 1 -f mp3 -y "file.mp3" Или воспользуйтесь моим скриптом, который я послал в группу выше, укажите там в начале файла set bitrate=32k

Олег-Светов Автор вопроса
Alexey Bazarov
ffmpeg.exe -i "file.wav" -write_xing 0 -id3v2_vers...

Вот попробовал - вроде получилось https://www.mediahuman.com/ru/audio-converter/ - попробую на большом размере 🙂

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта