Вірте чи ні, 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 кГц), відтворювати кожну лише кадру, змішувати обидва канали (моно), увімкнути керуючі клавіші, перемішувати відтворення (з підстановою), читати 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: Fix - керування обробкою інтервалів для роботи з потоком з stdin. (curl | mpg123 --icy-interval = n -)
- libmpg123: Виправте інший недійсний читання та segfault на пошкоджені (збуджені) файли з part2_3_length == 0 (встановити maxband = 1, витягнуті з майбутнього 1.26.0).
Що нового у версії 1.25.3:
- Тест мовчання для artsc-config, якщо його немає.
- Переконайтеся, що -static-libgcc від LDFLAGS отримує через libtool, виправляючи 32-розрядні версії Windows (за винятком libgcc DLL)
- Виправте побудувати з не-GNU-маркою за допомогою простого rm -f замість дурних $ (RM) у фрагменті makefile libout123 / modules.
- Здійснюйте роботу з конструювання на платформі iOS, включаючи базову версію coreaudio.
- libmpg123:
- Нарешті, виділіть положення, незалежний код для x86 з оптимізацією збірки. Текстові вершки пропали завдяки парку Вон Кю та Тайхей Момма.
- Пояснення деякої мови ліцензії у файлах, що походять від початкової оптимізації MMX.
- Виправте перевірку перевизнаного значення для MPG123_BUFFERFILL.
- Ввів mpg123_getformat2 (), щоб включити команду FORMAT для загального контролю, щоб не красти MPG123_NEW_FORMAT з основної петлі відтворення. Потрібно буде працювати послідовність LOADPAUSED-FORMAT-PAUSE (play)
- Увімкніть оптимізацію aarch64 на * BSD за замовчуванням. У будь-якому разі завжди можна замінити цей тупій білий список ОС, використовуючи --with-optimization.
- Використання декодера i486 в даний час перешкоджає виділенню конфігурації.
- out123: Виправте дурну аварію з багатослівним режимом та генерацією тонів (надрукуйте рядок, якщо покажчик не нульовий, а не нульовий).
- libout123: більш послідовні повідомлення про помилки для динамічних та застарілих (вбудованих) модулів. А саме, ви отримуєте підказку, якби ви вибрали інший модуль, ніж вбудовані для статичного libout123.
Що нового в версії 1.25.0:
- Тест мовчання для artsc-config, якщо його немає.
- Переконайтеся, що -static-libgcc від LDFLAGS отримує через libtool, виправляючи 32-розрядні версії Windows (за винятком libgcc DLL)
- Виправте побудувати з не-GNU-маркою за допомогою простого rm -f замість дурних $ (RM) у фрагменті makefile libout123 / modules.
- Здійснюйте роботу з конструювання на платформі iOS, включаючи базову версію coreaudio.
- libmpg123:
- Нарешті, виділіть положення, незалежний код для x86 з оптимізацією збірки. Текстові вершки пропали завдяки парку Вон Кю та Тайхей Момма.
- Пояснення деякої мови ліцензії у файлах, що походять від початкової оптимізації MMX.
- Виправте перевірку перевизнаного значення для MPG123_BUFFERFILL.
- Ввів mpg123_getformat2 (), щоб включити команду FORMAT для загального контролю, щоб не красти MPG123_NEW_FORMAT з основної петлі відтворення. Потрібно буде працювати послідовність LOADPAUSED-FORMAT-PAUSE (play)
- Увімкніть оптимізацію aarch64 на * BSD за замовчуванням. У будь-якому разі завжди можна замінити цей тупій білий список ОС, використовуючи --with-optimization.
- Використання декодера i486 в даний час перешкоджає виділенню конфігурації.
- out123: Виправте дурну аварію з багатослівним режимом та генерацією тонів (надрукуйте рядок, якщо покажчик не нульовий, а не нульовий).
- libout123: більш послідовні повідомлення про помилки для динамічних та застарілих (вбудованих) модулів. А саме, ви отримуєте підказку, якби ви вибрали інший модуль, ніж вбудовані для статичного libout123.
Що нового в версії 1.23.6:
- виклик out123_pause () замість out123_stop () пульт дистанційного керування STOP команда, виправлення регресії в 1.23.x з неможливості відновити відтворення з іншою LOAD, якщо нова композиція не відрізняється аудіоформатом (помилка 234)
Що нового в версії 1.23.5:
- libout123:
- Виправте створення portaudio та SDL на win32 (занадто багато круглих дужок, завдяки Сандро Кумерлато, щоб вказати на це)
- make out123_errcode () повернути OUT123_BAD_HANDLE як документально (додаючи це значення до переліку помилок, було документально підтверджено, але відсутнє), знову ж таки завдяки Сандро
- виправте windows-builds.sh (кодування оболонки на етапі копіювання) та додайте декілька бітів до відправленого заголовка, щоб зробити його прямо використовуваним у MSVC (define ssize_t, bug 232)
- не перезаписувати LIBS в Makefile (регресія системи побудови в 1.23, завдяки Пітер Корсоард, який повідомив про це)
- не надрукуйте повідомлення у відповідь на SIGPIPE, оскільки це може викликати зависання, якщо сам stderr є винуватцем (регресія від 1.22, помилка 233)
Що нового у версії 1.23.3:
- Це випуск, для помилки 216, уникаючи помилкових сурогатних виявлень з UTF-16 в даних ID3v2.
- Існує кілька цікавих змін у стовбурі, що очікує випуску, з наступною версією функції, яка повинна включати libout123 та загальну систему виправлення для збірки (нерекурсивна марка).
Що нового в версії 1.22.3:
- Це звільнення з затримкою, включаючи виправлення для помилки 216, уникнення помилкового виявлення сурогатного матеріалу за допомогою даних UTF-16 в даних ID3v2.
- Існує кілька цікавих змін у стовбурі, що очікує випуску, з наступною версією функції, яка повинна включати libout123 та загальну систему виправлення для збірки (нерекурсивна марка).
Що нового в версії 1.22.1:
- Виправте mpg123-id3dump при написанні зображень із смішними ( маніпулювати) тип MIME. Дурна помилка у довжині обчислення розширення резервного файлу, викликаного небажаним з пам'яті додавання до імені файлу, якщо розмір покажчика менше 64 біт. Для 64 бітових вказівників (або довше) це було випадково.
- Виправте педантичну побудову, очистивши вихідний код джерела123, також тепер дійсно відображатиме список кодування в --longhelp, а не, можливо, ще раз написання сміття з пам'яті.
- Більше не пов'язати libmpg123 з libltdl (помилка 215).
- Оновіть MSVC ++ порти трохи, щоб вони знову працювали.
Що нового у версії 1.21.0:
- Використовуйте LL як ярлик для дистанційної команди LOADLIST, L вже взято (помилка 210).
- Менш забруднення простору імен (MPG123_EXPORT у заголовку замість EXPORT, помилка 212).
Що нового у версії 1.20.1:
- Найновіші релізи полегшують читання каналів, коли вони пропускають непотрібні, буфери, щоб уникнути повторного синтаксичного аналізу. Попередня поведінка погано взаємодіяла з певним входом (див. Gentoo bug 465744).
Що нового в версії 1.20.0:
- Додано NEOON-оптимізований декодер для AArch64 (64-бітне середовище ARM ):
- увімкнено для --with-cpu = neon64 (тільки NEON) або --with-cpu = aarch64 (перемикач runtime між неоном та generic_fpu, як arm_fpu) конфігурація
- сумісна з aarch64-linux-gnu toolchains (з Ubuntu, debian) та Xcode 5
- Додано нове подвійне out123 тільки з аудіовихідною частиною mpg123. Це послідовник відокремлення зазначеного коду на простому бібліотеці аудіо виходу. Це також дозволяє підключити деяку обробку в трубу до подачі до виводу.
- Заборонити opendir (NULL) для невідомого каталогу модулів під час додавання модулів.
- деякі виправлення збірки, серед тих, що виправляють mpg123-id3dump у Windows
Що нового в версії 1.18.1:
- Не закривайте буфер двічі за допомогою mpg123-R (видаліть застарілий код у control_generic ()), виправляючи помилку 207.
- Не спотворюйте спочатку аргумент командного рядка, щоб витягти назву програми, замість скопіювання скопіюйте помилку 205.
- Запобігання передчасному виходу з часу неможливості відкрити трек у списку відтворення та користувача, який хоче пропустити його (помилка 206).
- Виправлення розриву HTTP-роз'єму, також уникаючи ненужних об'єктів FILE (помилка 204, патч Райєва В. Пиллая).
- Виправлення поведінки списку відтворення при повільних HTTP-потоках, перехід назад (клавіша 'd') з першої доріжки залишається на першій доріжці (завдяки Раєєву знов-таки підпункт помилки 206).
- Виправте, щоб Франкенштейн не наткнувся на теги ID3v1. Мої вибачення. Як бонус, позиція відповідного коду в синтаксичному аналізі тепер набагато логічна.
Що нового в версії 1.17.0:
- mpg123-id3dump --no-scan; для прискорення
- приховати параметр від mpg123 - допомогти, коли він не підтримується
- додано висновок "Тинальса" (автор Ярно Лехтінен)
- налагодження системи збірки
- Деякі турботи про встановлення Cygwin-версій
Що нового в версії 1.16.0:
- Нова схема декодування Huffman (налаштовується за замовчуванням) приносить приємний прискорення для mpg123, щоб зробити його найшвидшим декодером на сучасних ЦП.
- новий дешифратор AVX
- оптимізована для зборки DCT36 для SSE та AVX
- додано конфігурації для старих процесорів 3DNow (ext) (AMD K6), використовуючи збірку DCT36
- додано конфігурації для старих процесорів SSE (Pentium M), використовуючи C DCT36
- додано команду FORMAT до спільного управління
- додана підтримка кадрів IDI3 APIC
- додано mpg123-id3dump як офіційний супутник для вилучення метаданих (включаючи написання образу альбому з APIC у файли)
- доповнила mpg123-strip як офіційний компаньон для зняття бруду з потоків MPEG (включаючи мета-дані)
- не видалення даних ID3 відразу після друку в загальному контролі
- завантажувач модулів трохи більш гнучкий з відносним MPG123_MODDIR
- Виправте відбиття від нарізаного зображення за допомогою імпульсного аудіо-виводу: вийміть вихід зараз після закриття.
- виправлення виводу SDL, а) не обрізання кінця і б) нефатальне перенавантаження
- Виправте очевидні помилки у виводі win32 ... він тепер грає в кінець треків? Потрібно, щоб хтось це перевірив.
- додана підтримка терміналів для екрана та ірис-ансі з -тилетом (як це пропонується патчем від користувача sab.net canavan)
- виправлення / покращення звукового виводу 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
- Але також розглядаються об'єднані (Франкенштейновські) потоки: не застосовуємо розріз без розріз, коли ми перевищили оголошену кількість кадрів.
- Додати --лірики для друку тексту пісень (з 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-виходу (патч за Бредом Смітом).
- Інтерфейс дистанційного керування тепер знає команду LOADLIST
- Тепер звільняйте пам'ять метаданих після роздруківки.
- Деяка процедура очищення документації, включаючи виправлення сторінок сторінок за допомогою quadrispro.
- Повторно активована розширення в операційній системі Windows (розбита на підтримку імені файлу Unicode)
- Виправте синтаксис вкладки MMX (спасибі Марселю Мюллеру, вказавши це).
- Виправте вихід аудіо SGI (він був зламаний з моменту зміни модулів).
- Виправте деякі порушення поведінки (mpg123_getformat (), запускаючи непотрібне читання наступного кадру, можливо, потрапивши в фальсифікацію MPG123_NEED_MORE).
- Ліміт Resync тепер також допомагає збільшити кількість пропущених сміття на початку.
- Покращене розділення кінцевого потоку та помилки читання (якщо немає відкритого потоку, навіть).
- Не завжди скаржись на невдалий пошук заголовка вільного формату (лише з рівнем вивченості 3).
Коментар не знайдено