Usko tai älä, mpg123 on avoimen lähdekoodin komentorivin toisto-ohjelmisto, joka pystyy dekoodata ja toistaa MPEG Audio Layer 1, 2 ja 3 -tiedostoja, jotka tunnetaan yleisesti nimellä MP3-tiedostoja. suoritetaan kokonaan Linux-konsolissa.
Ominaisuudet yhdellä silmäyksellä
Tärkeimpiä ominaisuuksia ovat MPEG Audio Layer 1, 2 ja 3, reaaliaikainen audiosoitin MPEG 1.0, 2.0 ja 2.5 formaatteja, kelluva piste ja kokonaisluku matemaattinen tuki, laadukas ja nopea äänentoisto, sekä tukea monenlaisille Linux- ja UNIX-kaltaisille käyttöjärjestelmille.
Komentorivivaihtoehdot
Sovelluksen sisäänrakennetuista komentorivivaihtoehdoista mainittakoon kyky kirjoittaa WAV-tiedostoa, ohittaa ensimmäiset n-kehykset, downsample 1: 2 (22 kHz), pelata vain joka neljäs kehys, sekoittaa molemmat kanavat (mono), sallivat ohjausnäppäimet, shuffle-toisto (jossa on jokerimerkkejä), lue URL-osoitteet, dekoodaavat vain kanavat 0 (vasen), käyttävät HTTP-autentikointia, määrittävät lähtöpuskuriin tai asettavat tai pakottavat näytteenoton ja tarkista alueen rikkomukset. p>
Hupun alla ja saatavuus
Vaikka sovellus on kirjoitettu kokonaan C-ohjelmointikielellä, se käyttää useita erikoisoptimointeja, kuten SSE, 3DNow tai ARM, ja tukee GNU / Linux, BSD, Solaris, AIX, OS / 2, HP-UX, SGI Irix, Mac OS X, Microsoft Windows -käyttöjärjestelmät.
Se on ladattavissa lähdetiedostoksi, mikä tarkoittaa, että käyttäjän on määritettävä, käännytettävä ja asennettava sovellus Linux / UNIX-komentorivin kautta. Kuitenkin se on helppo asentaa monien Linux-käyttöjärjestelmien oletusohjelmistojen arkistoista.
Bottom line
Yhteenvetona, meillä ei ole aavistustakaan, kuka tämä komentorivi-soitin on maailmassa, joka on täynnä moderneja graafisia käyttöliittymiä, mutta olemme melko varmoja siitä, että mpg123 tarjoaa erittäin hyvän äänenlaadun ja se on erittäin helppo käyttää, vaikka vihaan Linux-terminaalia
Uutta strong> tässä julkaisussa:
- libout123: Korjaa virheilmoitukset OUT123_ARG_ERROR (bug 261 ).
- mpg123: Fix --icy-interval-käsittely käsitellä Stream from stdin. (curl | mpg123 --icy-interval = n -)
- libmpg123: Korjaa toinen virheellinen luku ja segfault vahingoittuneille (fuzzed) tiedostoille, joiden part2_3_length == 0 (asetetaan maxband = 1, vedetty tulevasta 1.26.0: stä).
Uutta strong> versiossa 1.25.3:
- Hiljennä testi artsc-configille, jos se ei ole.
- Varmista, että LDFLAGS -static-libgcc pääsee libtoolilla, vahvistaa 32-bittiset Windows-rakennukset (riippuu libgcc DLL: stä muulla tavalla).
- Kiinnitä rakentaa ei-GNU -tuotteen avulla käyttämällä tavallista rm -f-tiedostoa libout123 / modules -tyyppisten komentotiedostojen silmän $ (RM) sijaan.
- Tee rakennustyöt iOS: lle, mukaan lukien coreaudio-tausta.
- libmpg123:
- Lopuksi tarjota x86-asennosta riippumaton koodi kokoonpanojen optimoinnilla. Tekstirytket ovat poissa Won Kyu Parkin ja Taihei Momman ansiosta.
- Määritä eräitä käyttöoikeuskieliä tiedostoista, jotka alenevat alkuperäisestä MMX-optimoinnista.
- Korjaa paluuarvon ylivuoto tarkistaa MPG123_BUFFERFILL.
- Otettiin käyttöön mpg123_getformat2 (), jotta FORMAT-komento generaalisäädelle ei varasta MPG123_NEW_FORMAT päätoistosilmukasta. LOPPUUN-FORMAT-PAUSE (toisto) -jakson on tarkoitus toimia nyt.
- Ota käyttöön aarch64-optimoinnit * BSD: ssä oletuksena. Voit silti ohittaa kyseisen typerä käyttöoikeusluettelon - käyttämällä optimointia.
- i486-dekooderin käyttö on nyt entistäkin näkyvämpää konfiguroidussa lähdössä.
- out123: Kiinnitä tyhmä kaatuminen verbose-tilassa ja sävyn luomisessa (tulosta merkkijono, jos osoitin ei ole nolla, ei jos se on tyhjä).
- libout123: Dynaamisemmat ja vanhat (sisäänrakennetut) moduulit ovat johdonmukaisempia virheilmoituksia. Nimittäin saat ohjeet, jos valitset muuhun moduuliin kuin sisäänrakennetuille staattiselle libout123: lle.
Uutta strong> versiossa 1.25.0:
- Hiljennä testi artsc-configille, jos se ei ole.
- Varmista, että LDFLAGS -static-libgcc pääsee libtoolilla, vahvistaa 32-bittiset Windows-rakennukset (riippuu libgcc DLL: stä muulla tavalla).
- Kiinnitä rakentaa ei-GNU -tuotteen avulla käyttämällä tavallista rm -f-tiedostoa libout123 / modules -tyyppisten komentotiedostojen silmän $ (RM) sijaan.
- Tee rakennustyöt iOS: lle, mukaan lukien coreaudio-tausta.
- libmpg123:
- Lopuksi tarjota x86-asennosta riippumaton koodi kokoonpanojen optimoinnilla. Tekstirytket ovat poissa Won Kyu Parkin ja Taihei Momman ansiosta.
- Määritä eräitä käyttöoikeuskieliä tiedostoista, jotka alenevat alkuperäisestä MMX-optimoinnista.
- Korjaa paluuarvon ylivuoto tarkistaa MPG123_BUFFERFILL.
- Otettiin käyttöön mpg123_getformat2 (), jotta FORMAT-komento generaalisäädelle ei varasta MPG123_NEW_FORMAT päätoistosilmukasta. LOPPUUN-FORMAT-PAUSE (toisto) -jakson on tarkoitus toimia nyt.
- Ota käyttöön aarch64-optimoinnit * BSD: ssä oletuksena. Voit silti ohittaa kyseisen typerä käyttöoikeusluettelon - käyttämällä optimointia.
- i486-dekooderin käyttö on nyt entistäkin näkyvämpää konfiguroidussa lähdössä.
- out123: Kiinnitä tyhmä kaatuminen verbose-tilassa ja sävyn luomisessa (tulosta merkkijono, jos osoitin ei ole nolla, ei jos se on tyhjä).
- libout123: Dynaamisemmat ja vanhat (sisäänrakennetut) moduulit ovat johdonmukaisempia virheilmoituksia. Nimittäin saat ohjeet, jos valitset muuhun moduuliin kuin sisäänrakennetuille staattiselle libout123: lle.
- soita out123_pause () out123_stop () -toiminnon sijaan
Uutta strong> kauko-ohjaimen STOP-komennolla, joka korjaa 1.23.x: n regressiota, ettei voi jatkaa toistoa toisen LOAD: n kanssa, ellei uudella kappaleella ole erilainen äänimuoto (bug 234)
Uutta strong> versiossa 1.23.5:
- libout123:
- korjaa rakennuksen portaudio ja SDL win32: ssa (liikaa sulkeja Sandro Cumerlaton ansiosta osoittamalla se)
- anna out123_errcode () palauttaa OUT123_BAD_HANDLE dokumentoiduksi (lisäämällä arvo virheeseen, dokumentoitu mutta puuttuu), jälleen Sandro
- korjaa windows-builds.sh (kopiointivaiheessa oleva kuori) ja lisää joitakin bittejä lähetettyyn otsikkoon, jotta se voidaan käyttää suoraan MSVC: ssä (määritä ssize_t, bug 232)
- ei LIBS: n päällekirjoitus Makefile-ohjelmassa (rakenna järjestelmän regressio 1.23: ssä, kiitos Peter Korsgaardille tämän ilmoittamisesta)
- ei viestin tulostusta SIGPIPE: n vastauksena, koska se voisi aiheuttaa jumittumisen, jos stderr itseään on piped syyllinen (regressio 1.22, bug 233)
Uutta strong> versiossa 1.23.3:
- bugille 216, välttäen väärän sijainnin havaitsemisen UTF-16: llä ID3v2-datassa.
- Seuraavassa ominaisuusversiossa on joitain mielenkiintoisia muutoksia runkoon odotettavassa muutoksessa, joka sisältää libout123: n ja yleisen rakennuksen järjestelmän korjauksen (ei-rekursiivinen merkki).
Uutta strong> versiossa 1.22.3:
- Tämä on pysäytysraportti, joka sisältää korjauksen vika 216: lle, välttäen väärän sijainnin havaitsemisen UTF-16: llä ID3v2-tiedoissa.
- Seuraavassa ominaisuusversiossa on joitain mielenkiintoisia muutoksia runkoon odotettavassa muutoksessa, joka sisältää libout123: n ja yleisen rakennuksen järjestelmän korjauksen (ei-rekursiivinen merkki).
- Korjaa mpg123-id3dump kirjoitettaessa kuvia hauskalla (
- Kiinnitä pedagoginen rakentaminen puhdistamalla ulos123-lähde, joka myös näyttää nyt koodausluettelon - longhelp -muodossa sijaan mahdollisesti uudelleen kirjoittamalla roskakori muistista.
- Ei liitä libmpg123 enää libltdl: hen (virhe 215).
- Päivitä MSVC ++ -portit hieman, jotta ne toimisivat uudelleen.
Uutta strong> manipuloitu) MIME-tyyppi. Hämmästyttävä virhe tallennustiedoston pituuden laskennassa aiheuttamasta roskapostista muistin liittämisestä tiedostonimeen, jos osoittimen koko on alle 64-bittinen. 64-bittisille osoittimille (tai pidemmälle) se oli oikein vahingossa.
Uutta strong> versiossa 1.21.0:
- Käytä LL -ohjelmaa LOADLIST- on otettu jo (vika 210).
- Vähemmän nimien epäpuhtauksia (MPG123_EXPORT otsikossa EXPORTin sijasta, virhe 212).
Uutta strong> versiossa 1.20.1:
- Uusimmat julkaisut tekevät syötteenlukijasta tehokkaamman jättämällä roskaa ohittamalla tietojen puskureita, jotta vältytään uudelleen jäsentämisestä. Aiempi käyttäytyminen toimi huonosti tiettyjen syötteiden kanssa (katso gentoo bug 465744).
- Lisätty NEON-optimoidun dekooderin AArch64 (ARM 64bit -ympäristö)
- käytössä - with-cpu = neon64 (vain NEON) tai --with-cpu = aarch64 (käynnistyksen välinen kytkentä neon- ja generic_fpu: n välillä, kuten arm_fpu)
- yhteensopiva aarch64-linux-gnu työkalujen kanssa (Ubuntu, debian) ja Xcode 5
- Lisätty uusi binääri out123 vain mpg123: n äänilähtöosalla. Tämä on edelläkävijä erottaa mainittu koodi yksinkertaiseksi äänilähtökirjastoksi. Se mahdollistaa myös jonkin tietyn prosessoinnin putkessa ennen syötteen syöttämistä.
- Estää opendir (NULL) tuntemattomalle moduulihakemistolle, kun luetellaan moduuleja.
- joitakin korjauksia, joiden joukossa on mpg123-id3dump Windowsissa
Uutta strong> ):
Uutta strong> versiossa 1.18.1:
- Älä sulje puskuria kahdesti mpg123 -R: llä (poista vanhan koodin control_generic ()), korjaamalla vika 207.
- Älä sekoita ensimmäisellä komentorivin argumentilla ohjelman nimen poistamiseen, käytä kopiota sen sijaan, korjaa virhe 205.
- Estää ennenaikaisen poistumisen ajoituksesta, kun avaat kappaleen soittolistassa ja käyttäjä haluaa ohittaa sen (vika 206).
- HTTP-liittymän virheiden korjaaminen, mikä myös välttää tarpeettomat TIEDOSTO-objektit (bugi 204, Rajeev V. Pillai).
- Fix-soittolistat käyttäytyvät hitaissa HTTP-virroissa, ensimmäisestä kappaleesta hyppäämällä takaisin ('d' -näppäin) ensimmäisellä radalla (Rajeevin ansiosta vika 206).
- Korjaa Frankenstein tarkista, ettet törmää ID3v1-tunnisteiden päälle. Pahoitteluni. Bonuksena kyseessä olevan koodin sijainti jäsentimessä on nyt paljon loogisempi.
Uutta strong> versiossa 1.17.0:
- mpg123-id3dump --no-scan; nopeuttamiseksi
- Piilota -C-parametri mpg123: sta - helpota, kun sitä ei tueta li>
- lisäsi tinyalsa Tuotos (Jarno Lehtinen)
- Rakenna järjestelmän muokkaus
- joitakin huolenaiheita Cygwin-rakennusten vahvistamisesta li>
Uutta strong> versiossa 1.16.0:
- Uusi Huffman-dekoodausjärjestelmä (konfiguroitavissa, oletusarvoisesti) tuo miellyttävän lisäyksen mpg123: een, jotta se olisi nopein dekooderi nykyaikaisissa suorittimissa.
- uusi AVX-dekooderi
- kokoonpanotuotettu DCT36 SSE: lle ja AVX: lle
- lisäsi asetuksia vintage 3DNow (ext) -koneisiin (AMD K6) kokoonpanon DCT36 avulla
- lisäsi asetuksia vintage SSE-keskusyksiköille (Pentium M) käyttämällä C DCT36
- lisäsi FORMAT-komennon yleiseen hallintaan
- lisäsi tukea ID3v2 APIC -kehyksille
- lisäsi mpg123-id3dump virallisena kumppanina metatietojen poistamiseen (mukaan lukien APIC-tiedostojen levytuotteiden kirjoittaminen tiedostoihin)
- lisäsi mpg123-nauhan viralliseksi kumppaniksi liukastumasta MPEG-virroista (mukaan lukien metatiedot)
- ei poista ID3-tietoja heti yleisen kontrollin tulostamisen jälkeen
- moduulikuormaaja hieman joustavampi suhteessa MPG123_MODDIR
- Korjaa katkaistun toiston pulseaudio-ulostulolla: tyhjennä ulostulo nyt suljettuna.
- SDL-tulostuksen korjaus, a) ei katkaista loppua ja b) ei-kuolemaan johtava underrun
- Korjaa ilmeiset virheet win32-lähdössä ... toistaako se nyt kappaleiden loppua? Tarvitse jonkun testaamaan tätä.
- Lisätty tuki näytön ja iris-ansi -terminaalien kohdalle - (kuten julkaisusta sf.net-käyttäjätunnusta kehotetaan)
- korjaukset / parannukset sgi-audiolähdölle
- libmpg123: oikeat suurikokoiset aliakset oikeisiin järjestelmiin (FreeBSD ja yksi ainoa off_t
- Tämä mahdollistaa asiakasohjelmiston, joka vaatii määrittelemättömän _FILE_OFFSET_BITS.
- wrapper script src / mpg123-moduulit helpottamaan mpg123: n kulun moduulit ilman asennusta (asetus MPG123_MODDIR)
- poistettu ALSA 0.5-koodi (ei käytetä pitkään, viimeinen GPL-vain bitti)
1.14.2:
Uutta strong> versiossa 1.14.2:
- käsitellä out-of-disk tilanteissa, WAV kirjoituskoodi muuttui ja se rikkoi WAV-kirjojen kirjoittamisen standardituotteeksi (raakatiedot edessä on yksi WAV-otsikko). Tämä toimii uudelleen nykyisen julkaisun kanssa.
Uutta strong> versiossa 1.14.1:
- Tämä korjaa vian, joka paljastui (vaatimaton) jäsentelykoodin uudelleenorganisointi. Feeder API: n avulla on mahdollista jättää muodonmuutos (vaurioituneessa) virrassa, sitä vaikeampi tulos on, että allokoidun tulostuspuskurin ollessa liian pieni (siirtyminen MPEG-kerroksesta 3 576 näytettä kehystä kohti 1152 näytettä per kehys).
Uutta strong> versiossa 1.14.0:
- libmpg123-sovellusliittymän versio 36 (katso NEWS.libmpg123)
- Lisää --ignore-streamlength.
- Mutta myös käsittelemättömiä (Frankenstein) puroja: Älä käytä aukottomia leikkauksia, kun olemme ylittämättömiä kehyksiä.
- Lisäosat tekstien tulosteille (USLT ID3v2: ssä).
- Lisäsopimus SIGUSR1: n ja SIGUSER2: n käsittelemisestä päätelaitteen ohjauskoodeihin, jotka voidaan konfiguroida --ctrlusr1 ja --ctrlusr2 kautta.
- Lisätyt matalan tason API (mpg123_framedata (), mpg123_framepos (), puskurointi ja resampling-ohjaus).
- Lisätietoa syöttöpuskurin täyttöön mpg123_getstate ().
- ReplayGain: Yritä havaita LAME alle 3,95 eri viitetasolla 83 dB (lisäämällä esivahvistin 6 dB). Itse versio 3.95 (ei 3.95.1) En pysty havaitsemaan. Käyttäjäasetusten vahvistuksen arvoja ei kosketa.
- Äänet hiljaa puuttuvasta bittivarastosta, kun jätät kehykset huomiotta. Tämä on koko piste (enimmäkseen; -).
- Lisää uusi / vanha WRITE_SAMPLE-muunnos MPlayerista, joka tekee yleisestä dekooderista nopeamman vanhemmissa suorittimissa (vähintään x86). Ei kuitenkaan x86-64: ssä (se ei ole käytössä oletuksena).
- Tiedostojen kirjoittajien käsitteleminen (vähän, katso http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=67259)
- Lisätty Xcode-projektitiedostoja libmpg123: n rakentamiseksi Mac OS: lle ja iOS: lle
- 32-bittinen ulostulo sndio-ulostulolle (korjaus Brad Smith).
- Kaukosäätimen käyttöliittymä tuntee LOADLIST-komennon nyt.
- Nyt vapautetaan metatiedon muisti tulostuksen jälkeen.
- Jotkin dokumentin puhdistus, mukaan lukien manuaaliset korjaukset quadrispro.
- Järjestelmän uudelleenkäyttäjän joukkovahvistimen laajennus Windowsissa (rikkoi Unicode-tiedostonimi-tuki).
- Fix MMX tabinit syntaksi (kiitos Marcel Mullerille osoittamasta sitä).
- Korjaa SGI-audiolähtö (on rikki, koska se on muuttunut moduuleiksi).
- Korjaa jonkin verran käyttäytymistä (mpg123_getformat (), joka käynnistää seuraavan kehyksen tarpeettomasti lukemisen, mahdollisesti lyö väärennetty MPG123_NEED_MORE).
- Resync-raja palvelee myös ohittavan roskakorin määrän lisäämistä alussa.
- Virran loppu ja lukuvirhe (jos virtaa ei ole avattu, edes) on parempi.
- Älä aina valittaa epäonnistuneesta ilmaisen formaatin otsikkohakemisesta (vain verbosity level 3).
Kommentteja ei löytynyt