Верьте или нет, mpg123 - это программное обеспечение для воспроизведения музыки с открытым исходным кодом, способное декодировать и воспроизводить файлы MPEG Audio Layer 1, 2 и 3, которые широко известны как MP3, предназначенные для полностью запускается на консоли Linux.
Особенности с первого взгляда
Ключевые функции включают в себя библиотеку декодирования звука для MPEG Audio Layer 1, 2 и 3, аудиоплеер в реальном времени для форматов MPEG 1.0, 2.0 и 2.5, поддержку с плавающей запятой и целочисленной математикой, высококачественное и быстрое воспроизведение звука, а также поддержку широкого спектра Linux и UNIX-подобных операционных систем.
Параметры командной строки
Среди встроенных параметров командной строки приложения мы можем упомянуть о возможности записи вывода в WAV-файл, пропустить первые n кадров, downsample 1: 2 (22 кГц), воспроизводить только каждый n-ый кадр, смешивать оба канала (моно), включать управляющие клавиши, воспроизведение в случайном порядке (с помощью подстановочных знаков), читать URL-адреса, декодировать только канал 0 (только слева), использовать HTTP-аутентификацию, устанавливать выходной буфер, устанавливать или принудительно выполнять выборку и проверять нарушения диапазона.
Под капотом и доступностью
Хотя приложение написано полностью на языке программирования C, оно использует несколько специальных оптимизаций, таких как SSE, 3DNow или ARM, и поддерживает GNU / Linux, BSD, Solaris, AIX, OS / 2, HP-UX, SGI Irix, Mac OS X, операционных системах Microsoft Windows.
Он доступен для загрузки в качестве исходного архива, что означает, что пользователь должен настроить, скомпилировать и установить приложение через командную строку Linux / UNIX. Однако его можно легко установить из стандартных программных репозиториев многих ОС Linux.
Нижняя линия
Подводя итоги, мы понятия не имеем, кто будет этим проигрывателем в командной строке в мире, полном современных графических пользовательских интерфейсов, но мы совершенно уверены, что mpg123 предлагает очень хорошее качество звука, и он чрезвычайно прост в использовании, даже если вы ненавижу Терминал Linux.
Что нового в этой версии:
- libout123: исправить сообщения об ошибках, начиная с OUT123_ARG_ERROR (ошибка 261 ).
- mpg123: Исправлена работа с обработкой промежуточных интервалов для работы с потоком из stdin. (rotl | mpg123 -icy-interval = n -)
- libmpg123: исправить еще одно недопустимое чтение и segfault для поврежденных (fuzzed) файлов с part2_3_length == 0 (установить maxband = 1, вытащил из следующего 1.26.0).
Что нового в версии 1.25.3:
- Тест молчания для artsc-config, если его нет.
- Убедитесь, что -static-libgcc из LDFLAGS проходит через libtool, исправляя 32-битные сборки Windows (в зависимости от библиотеки libgcc в противном случае).
- Исправить сборку с помощью не GNU make, используя простой rm -f вместо глупых $ (RM) в libout123 / modules makefile.
- Сделать сборку работы на iOS, включая бэкэнд coreaudio.
- libmpg123:
- Наконец, создайте независимый от позиции код для x86 с оптимизацией сборки. Текстуры исчезли благодаря Won Kyu Park и Taihei Momma.
- Уточнить некоторые языки лицензий в файлах, спускающихся с исходной оптимизации MMX.
- Исправить ошибку переполнения возвращаемого значения для MPG123_BUFFERFILL.
- Введено mpg123_getformat2 (), чтобы включить команду FORMAT для общего элемента управления, не крадя MPG123_NEW_FORMAT из основного цикла воспроизведения. Предполагается, что теперь будет работать LOADPAUSED-FORMAT-PAUSE (воспроизведение).
- Включить оптимизацию aarch64 на * BSD по умолчанию. В любом случае вы всегда можете переопределить этот глупый белый список ОС, используя -with-optimization.
- Использование декодера i486 в настоящее время не рекомендуется, в выходные данные конфигурации.
- out123: Исправьте глупый сбой с подробным режимом и генерацией тона (напечатайте строку, если указатель не равен null, а не если он равен нулю).
- libout123: более согласованные сообщения об ошибках для динамических и устаревших (встроенных) модулей. А именно, вы получаете подсказку, как выбрать другой модуль, чем встроенные для статического libout123.
Что нового в версии 1.25.0:
- Тест молчания для artsc-config, если его нет.
- Убедитесь, что -static-libgcc из LDFLAGS проходит через libtool, исправляя 32-битные сборки Windows (в зависимости от библиотеки libgcc в противном случае).
- Исправить сборку с помощью не GNU make, используя простой rm -f вместо глупых $ (RM) в libout123 / modules makefile.
- Сделать сборку работы на iOS, включая бэкэнд coreaudio.
- libmpg123:
- Наконец, создайте независимый от позиции код для x86 с оптимизацией сборки. Текстуры исчезли благодаря Won Kyu Park и Taihei Momma.
- Уточнить некоторые языки лицензий в файлах, спускающихся с исходной оптимизации MMX.
- Исправить ошибку переполнения возвращаемого значения для MPG123_BUFFERFILL.
- Введено mpg123_getformat2 (), чтобы включить команду FORMAT для общего элемента управления, не крадя MPG123_NEW_FORMAT из основного цикла воспроизведения. Предполагается, что теперь будет работать LOADPAUSED-FORMAT-PAUSE (воспроизведение).
- Включить оптимизацию aarch64 на * BSD по умолчанию. В любом случае вы всегда можете переопределить этот глупый белый список ОС, используя -with-optimization.
- Использование декодера i486 в настоящее время не рекомендуется, в выходные данные конфигурации.
- out123: Исправьте глупый сбой с подробным режимом и генерацией тона (напечатайте строку, если указатель не равен null, а не если он равен нулю).
- libout123: более согласованные сообщения об ошибках для динамических и устаревших (встроенных) модулей. А именно, вы получаете подсказку, как выбрать другой модуль, чем встроенные для статического libout123.
Что нового в версии 1.23.6:
- call out123_pause () вместо out123_stop () в команда STOP удаленного управления, исправление регрессии в 1.23.x из-за невозможности возобновить воспроизведение с помощью другой LOAD, если новый трек не отличается звуковым форматом (ошибка 234)
Что нового в версии 1.23.5:
- libout123: литий>
- исправить сборку portaudio и SDL на win32 (слишком много круглых скобок, благодаря Sandro Cumerlato за указание)
- make out123_errcode () возвращает OUT123_BAD_HANDLE, как задокументировано (добавление этого значения в перечисление ошибок, было задокументировано, но отсутствует), снова благодаря Sandro
- исправить windows-builds.sh (оболочка цитирования на этапе копирования) и добавить некоторые бит в отправленный заголовок, чтобы сделать его непосредственно используемым в MSVC (определить ssize_t, ошибка 232)
- не переписывать LIBS в Makefile (построить регрессию системы в 1.23, благодаря Питеру Корсгаарду за сообщение об этом)
- нет печати сообщения в ответ на SIGPIPE, поскольку это может вызвать зависание, если сам stderr является виновником вызова (регрессия от 1.22, ошибка 233)
Что нового в версии 1.23.3:
- Это освобождение от пробелов, включая исправление для ошибки 216, избегая обнаружения ложных суррогатов с UTF-16 в данных ID3v2.
- Есть несколько интересных изменений в магистрале, ожидающих выпуска со следующей версией функции, которая должна включать в себя libout123 и исправление общей сборки (нерекурсивный make).
Что нового в версии 1.22.3:
- Это освобождение от зазоров, включая исправление для ошибки 216, избегая обнаружения ложных суррогатов с UTF-16 в данных ID3v2.
- Есть несколько интересных изменений в магистрале, ожидающих выпуска со следующей версией функции, которая должна включать в себя libout123 и исправление общей сборки (нерекурсивный make).
Что нового в версии 1.22.1:
- Исправить mpg123-id3dump при записи изображений с помощью смешного ( управляемый) MIME-тип. Глупая ошибка в вычислении длины расширения резервного файла вызвала нежелательную память из памяти, добавляемую к имени файла, если размер указателя меньше 64 бит. Для 64-битных указателей (или дольше) это было правильно случайно.
- Исправьте педантичную сборку, очистив out123 источник, также теперь действительно показывающий список кодировок в --longhelp вместо, возможно, снова, записывая мусор из памяти там.
- Больше не связывать libmpg123 с libltdl (ошибка 215).
- Обновите порты MSVC ++, чтобы они снова работали.
Что нового в версии 1.21.0:
- Используйте LL как ярлык для удаленной команды LOADLIST, L (ошибка 210).
- Меньшее загрязнение пространства имен (MPG123_EXPORT в заголовке вместо EXPORT, ошибка 212).
Что нового в версии 1.20.1:
- Новейшие выпуски делают загрузчик каналов более эффективным при пропуске нежелательной информации при раннем отбрасывании данных из буферов, чтобы избежать повторного анализа. Предыдущее поведение плохо взаимодействовало с определенным вводом (см. Ошибку gentoo 465744).
Что нового в версии 1.20.0:
- Добавлен оптимизированный декодер NEON для AArch64 (ARM 64-разрядная среда ):
- включен для --with-cpu = neon64 (только для NEON) или --with-cpu = aarch64 (настройка времени выполнения между конфигурацией neon и generic_fpu, например arm_fpu)
- совместим с инструментами aarch64-linux-gnu (от Ubuntu, debian) и Xcode 5
- Добавлен новый бинарный out123 только с частью вывода звука mpg123. Это предшественник разделения кода в простой аудиовыходной библиотеке. Он также позволяет подключать некоторую обработку в трубе перед подачей на выход.
- Предотвратить opendir (NULL) для неизвестного каталога модуля при перечислении модулей.
- некоторые исправления сборки, среди исправлений mpg123-id3dump в Windows
Что нового в версии 1.18.1:
- Не закрывайте буфер дважды с помощью mpg123 -R (удалите устаревший код в control_generic ()), исправляя ошибку 207.
- Не вмешивайтесь в первый аргумент командной строки, чтобы извлечь имя программы, вместо этого используйте копию, исправляя ошибку 205.
- Предотвращение преждевременного выхода из режима сбоя при открытии дорожки в списке воспроизведения и пользователя, желающего пропустить его (ошибка 206).
- Исправление бесполезности сокета HTTP, также избегая ненужных объектов FILE (ошибка 204, патч Rajeev V. Pillai).
- Исправить поведение плейлиста в медленных потоках HTTP, отскакивая назад (клавиша «d») с первого трека остается на первом треке (спасибо снова Rajeev, суб-ошибка с ошибкой 206).
- Исправьте Frankenstein, чтобы не наткнуться на теги ID3v1. Мои извинения. В качестве бонуса положение соответствующего кода в синтаксическом анализаторе теперь намного логичнее.
Что нового в версии 1.17.0:
- mpg123-id3dump --no-scan; для ускорения
- hide -C параметр из mpg123 --help, когда он не поддерживается
- добавлен tinyalsa Выход (by Jarno Lehtinen)
- настройка системы
- Некоторая забота о фиксации сборки Cygwin
Что нового в версии 1.16.0:
- Схема декодирования нового Хаффмана (настраивается по умолчанию) приносит хороший импульс mpg123, чтобы сделать его самым быстрым декодером на современных процессорах.
- новый декодер AVX
- оптимизированный для сборки DCT36 для SSE и AVX
- добавлены конфигурации для винтажных 3DNow (ext) процессоров (AMD K6) с использованием сборки DCT36
- добавлены конфигурации для vintage SSE-процессоров (Pentium M), используя C DCT36
- добавлена команда FORMAT в общий элемент управления
- добавлена поддержка фреймов APIC ID3v2
- добавлен mpg123-id3dump в качестве официального компаньона для извлечения метаданных (включая запись обложки альбомов из APIC в файлы).
- добавлена mpg123-полоса в качестве официального компаньона для удаления грязи из потоков MPEG (включая метаданные).
- не удалять данные ID3 сразу после печати в общем режиме
- загрузчик модулей немного более гибкий с относительным MPG123_MODDIR
- Исправить прерывистое воспроизведение с импульсным выходом: выключение выхода теперь при закрытии.
- Исправление выходных данных SDL, a) не прерывание конца и b) нефатальное недоиспользование
- Исправить очевидные ошибки в выходе win32 ... теперь он воспроизводит конец треков? Вам нужно, чтобы кто-то испытал это.
- добавлена поддержка терминалов экрана и iris-ansi с --title (как подсказывает патч от пользователя canfan пользователя sf.net)
- исправления / улучшения для вывода звука sgi
- libmpg123: правильные псевдонимы большого файла для правильных систем (FreeBSD с одним одиночным off_t
- Это позволяет клиентскому программному обеспечению, которое настаивает на определении бессмысленных _FILE_OFFSET_BITS.
- оболочный скрипт src / mpg123-with-modules для облегчения боли при запуске mpg123 с модулями без установки (настройка MPG123_MODDIR)
- удаленный код ALSA 0.5 (не используется в течение длительного времени, последний бит GPL)
Что нового в версии 1.14.2:
- С версией 1.14 в попытке улучшить обрабатывать ситуации, отличные от диска, код записи WAV был изменен, и это привело к потере WAV стандартного вывода (необработанные данные с одним заголовком WAV спереди). Это будет работать снова с текущим выпуском.
Что нового в версии 1.14.1:
- Это исправляет ошибку, которая была обнаружена с помощью (скромная) реорганизация кода парсера. С API-интерфейсом фидера удалось пропустить изменение формата в (поврежденном) потоке, тем более ужасным результатом является слишком малый выделенный буфер вывода (переход с уровня MPEG 3 с 576 выборками на кадр до 1152 сэмплов на кадр).
Что нового в версии 1.14.0:
- libmpg123 API версии 36 (см. NEWS.libmpg123)
- Добавить --ignore-streamlength.
- Но также иметь дело с конкатенированными (Frankenstein) потоками: не применять безщелезную резку, как только мы закончим объявленное количество кадров.
- Добавить -риски для распечатки текстов (из USLT в ID3v2).
- Добавлена обработка SIGUSR1 и SIGUSER2 в код управления терминалом, настраиваемый через --ctrlusr1 и --ctrlusr2.
- Добавлен некоторый низкоуровневый API (mpg123_framedata (), mpg123_framepos (), управление буферизацией и повторной выборкой).
- Добавлена информация о заполнении буфера ввода в mpg123_getstate ().
- ReplayGain: попытайтесь обнаружить LAME ниже 3.95 для различного эталонного уровня 83 дБ (добавление предусилителя 6 дБ). Сама версия 3.95 (не 3.95.1) я не могу обнаружить. Значения усиления пользовательского набора не затрагиваются.
- Не обращайте внимания на недостающий бит-резервуар при игнорировании кадров. В этом весь смысл (в основном, -).
- Добавьте новый / старый вариант WRITE_SAMPLE из MPlayer, который ускоряет общий декодер на старых процессорах (по крайней мере, на x86). Не на x86-64, хотя (он не включен по умолчанию там).
- Обращайтесь с диском в файлах (немного, см. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=67259)
- Добавлены файлы проекта Xcode для сборки libmpg123 в Mac OS и iOS
- 32-разрядный вывод для вывода sndio (патч от Brad Smith).
- Интерфейс удаленного управления знает команду LOADLIST.
- Теперь освобождение памяти метаданных после распечатки.
- Некоторая очистка документации, в том числе исправления manpage от quadrispro.
- Повторное включение расширения подстановочных знаков в Windows (было нарушено поддержкой имени файла в формате Unicode).
- Исправить синтаксис синтаксиса MMX (спасибо Марселю Мюллеру за то, что он указал).
- Исправить аудиосигнал SGI (был сломан с изменением на модули).
- Исправьте какое-то поведение бахромы (mpg123_getformat () запускает ненужное считывание следующего кадра, возможно, попадание поддельного MPG123_NEED_MORE).
- Ограничение Resync теперь также служит для увеличения количества пропущенных нежелательных сообщений при начале.
- Лучшее разделение конца потока и ошибки чтения (в случае, если поток не открыт, даже).
- Не всегда жалуйтесь на неудачный поиск в заголовке бесплатного формата (только с уровнем детализации 3).
Комментарии не найдены