Geloof het of niet, mpg123 is een open source opdrachtregel muziek afspeelsoftware geschikt voor het decoderen en afspelen van MPEG Audio Layer 1, 2 en 3 bestanden, in de volksmond bekend als MP3's, ontworpen om volledig in een Linux-console draaien.
Functies in één oogopslag
Belangrijkste functies zijn onder andere een audio-decodeerbibliotheek voor de MPEG Audio Layer 1, 2 en 3, real-time audiospeler voor de MPEG 1.0, 2.0 en 2.5-indelingen, zwevende punt en wiskundige ondersteuning voor geheel getal, hoge kwaliteit en snelle audioweergave, evenals ondersteuning voor een breed scala van Linux- en UNIX-achtige besturingssystemen.
Opdrachtregelopties
Onder de ingebouwde opdrachtregelopties van de toepassing kunnen we de mogelijkheid vermelden om uitvoer naar een WAV-bestand te schrijven, eerste n-frames overslaan, downsample 1: 2 (22 kHz), alleen elk frame afspelen, mixen beide kanalen (mono), schakeltoetsen in, willekeurig afspelen (met jokertekens), lees URL's, alleen decodeer kanaal 0 (links), gebruik HTTP-authenticatie, stel de uitvoerbuffer in, stel in of forceer de samplerate en controleer bereikoverschrijdingen.
Onder de motorkap en beschikbaarheid
Hoewel de toepassing volledig in de programmeertaal C is geschreven, gebruikt deze verschillende speciale optimalisaties zoals SSE, 3DNow of ARM en ondersteunt GNU / Linux, BSD, Solaris, AIX, OS / 2, HP-UX, SGI Irix Mac OS X, Microsoft Windows-besturingssystemen.
Het is beschikbaar om te downloaden als bronarchief, wat betekent dat de gebruiker de applicatie moet configureren, compileren en installeren via de opdrachtregel Linux / UNIX. Het kan echter gemakkelijk worden geïnstalleerd vanuit de standaard softwarebronnen van veel Linux-besturingssystemen.
Bottom line
Samenvattend, we hebben geen idee wie deze opdrachtregel audiospeler zal zijn in een wereld vol moderne grafische gebruikersinterfaces, maar we zijn er vrij zeker van dat mpg123 een zeer goede audiokwaliteit biedt en het is extreem gemakkelijk te gebruiken, zelfs als je haten de Linux Terminal.
Wat is nieuw in deze versie:
- libout123: Fixeer foutmeldingen beginnend bij OUT123_ARG_ERROR (bug 261 ).
- mpg123: Fix --icy-interval afhandeling om met stream van stdin te werken. (krul | mpg123 --icy-interval = n -)
- libmpg123: herstel een andere ongeldige lees- en segfault op beschadigde (fuzzed) bestanden met part2_3_length == 0 (stel maxband = 1 in, getrokken uit aankomende 1.26.0).
Wat is nieuw in versie 1.25.3:
- Stiltetest voor artsc-config als deze er niet is.
- Zorg ervoor dat -static-libgcc van LDFLAGS libtool doorkomt en 32 bit Windows-builds repareert (anders is dit afhankelijk van libgcc-DLL).
- Fix build met niet-GNU make door gebruik te maken van plain rm -f in plaats van domme $ (RM) in libout123 / modules makefile fragment.
- Maak build-werk op iOS, inclusief coreaudio-backend.
- libmpg123:
- Geef ten slotte positie-onafhankelijke code voor x86 met montage-optimalisaties. De textrels zijn verdwenen dankzij Won Kyu Park en Taihei Momma.
- Verduidelijk wat licentietaal in bestanden die afwijken van de oorspronkelijke MMX-optimalisatie.
- Overloopcontrole voor retourwaarde corrigeren voor MPG123_BUFFERFILL.
- Introductie van mpg123_getformat2 () om de opdracht FORMAT in te schakelen voor de generieke besturing die MPG123_NEW_FORMAT niet van de hoofdafspeellus afhaalt. De volgorde LOADPAUSED-FORMAT-PAUSE (play) zou nu moeten werken.
- Activeer aarch64 optimalisaties ook standaard op * BSD. Je kunt die stomme witte lijst van besturingssystemen altijd negeren met - met-optimalisatie, hoe dan ook.
- Het gebruik van de i486-decoder wordt nu meer nadrukkelijk ontmoedigd bij het configureren van uitvoer.
- out123: Fix domme crash met uitgebreide modus en toongeneratie (print de string als de pointer niet-null is, niet als deze null is).
- libout123: consistentere foutmeldingen voor dynamische en legacy (ingebouwde) modules. Je krijgt namelijk een hint als je kiest voor een andere module dan de ingebouwde module voor een statische libout123.
Wat is nieuw in versie 1.25.0:
- Stiltetest voor artsc-config als deze er niet is.
- Zorg ervoor dat -static-libgcc van LDFLAGS libtool doorkomt en 32 bit Windows-builds repareert (anders is dit afhankelijk van libgcc-DLL).
- Fix build met niet-GNU make door gebruik te maken van plain rm -f in plaats van domme $ (RM) in libout123 / modules makefile fragment.
- Maak build-werk op iOS, inclusief coreaudio-backend.
- libmpg123:
- Geef ten slotte positie-onafhankelijke code voor x86 met montage-optimalisaties. De textrels zijn verdwenen dankzij Won Kyu Park en Taihei Momma.
- Verduidelijk wat licentietaal in bestanden die afwijken van de oorspronkelijke MMX-optimalisatie.
- Overloopcontrole voor retourwaarde corrigeren voor MPG123_BUFFERFILL.
- Introductie van mpg123_getformat2 () om de opdracht FORMAT in te schakelen voor de generieke besturing die MPG123_NEW_FORMAT niet van de hoofdafspeellus afhaalt. De volgorde LOADPAUSED-FORMAT-PAUSE (play) zou nu moeten werken.
- Activeer aarch64 optimalisaties ook standaard op * BSD. Je kunt die stomme witte lijst van besturingssystemen altijd negeren met - met-optimalisatie, hoe dan ook.
- Het gebruik van de i486-decoder wordt nu meer nadrukkelijk ontmoedigd bij het configureren van uitvoer.
- out123: Fix domme crash met uitgebreide modus en toongeneratie (print de string als de pointer niet-null is, niet als deze null is).
- libout123: consistentere foutmeldingen voor dynamische en legacy (ingebouwde) modules. Je krijgt namelijk een hint als je kiest voor een andere module dan de ingebouwde module voor een statische libout123.
Wat is nieuw in versie 1.23.6:
- bel out123_pause () in plaats van out123_stop () in STOP-commando op afstand, waarmee de regressie in 1.23.x wordt opgelost van het niet kunnen hervatten van het afspelen met een andere LOAD, tenzij de nieuwe track een ander audioformaat heeft (bug 234)
Wat is nieuw in versie 1.23.5:
- libout123:
- fix build van portaudio en SDL op win32 (te veel haakjes, met dank aan Sandro Cumerlato voor het aanwijzen)
- make out123_errcode () retourneer OUT123_BAD_HANDLE zoals gedocumenteerd (voeg die waarde toe aan het foutenenum, was gedocumenteerd maar ontbrak), nogmaals dankzij Sandro
- fix windows-builds.sh (shell citeert in kopieerfase) en voeg wat bits toe aan de verzonden header om het direct bruikbaar te maken in MSVC (define ssize_t, bug 232)
- geen overschrijven van LIBS in Makefile (build-systeemregressie in 1.23, met dank aan Peter Korsgaard voor het melden van die)
- geen bericht afdrukken als reactie op SIGPIPE, omdat dit kan leiden tot vastlopen als stderr zelf de boosdoener is (regressie van 1.22, bug 233)
Wat is nieuw in versie 1.23.3:
- Dit is een stop-gap release inclusief de fix voor bug 216, waarbij onechte surrogaatdetectie met UTF-16 in ID3v2-gegevens wordt vermeden.
- Er zijn enkele interessante wijzigingen in trunk in afwachting van release met de volgende feature-versie, die libout123 en general build system fixup (niet-recursieve maken) zal bevatten.
Wat is nieuw in versie 1.22.3:
- Dit is een stop-gap-release inclusief de correctie voor bug 216, waarbij onechte surrogaatdetectie met UTF-16 in ID3v2-gegevens wordt vermeden.
- Er zijn enkele interessante wijzigingen in trunk in afwachting van release met de volgende feature-versie, die libout123 en general build system fixup (niet-recursieve maken) zal bevatten.
Wat is nieuw in versie 1.22.1:
- Fix mpg123-id3dump bij het schrijven van afbeeldingen met grappige ( gemanipuleerd) MIME-type. Stomme fout bij de lengteberekening van de fallback-bestandsextensie, waardoor rommel uit het geheugen is toegevoegd aan de bestandsnaam als de aanwijzer kleiner dan 64 bit is. Voor 64 bit-wijzers (of langer) klopte het per ongeluk.
- Fixeer pedantiek door de bron123 op te ruimen, nu ook echt de codeerlijst in --longhelp te laten zien in plaats van mogelijk opnieuw rommel uit het geheugen te schrijven daar.
- Libmpg123 niet meer libltdl koppelen (bug 215).
- Werk MSVC ++ -poorten een beetje bij om ze weer te laten werken.
Wat is nieuw in versie 1.21.0:
- Gebruik LL als sneltoets voor LOADLIST-opdracht op afstand, L is al bezet (bug 210).
- Minder verontreiniging door naamruimte (MPG123_EXPORT in header in plaats van EXPORT, bug 212).
Wat is nieuw in versie 1.20.1:
- De nieuwste releas maakt de feedlezer efficiënter bij het overslaan van rommel door het vroeg weggooien van gegevens van buffers om herparsing te voorkomen. Het vorige gedrag had een negatief effect op bepaalde invoer (zie gentoo-bug 465744).
Wat is nieuw in versie 1.20.0:
- Toegevoegde NEON-geoptimaliseerde decoder voor AArch64 (ARM 64bit-omgeving ):
- ingeschakeld voor --with-cpu = neon64 (alleen NEON) of --with-cpu = aarch64 (runtime-switch tussen neon en generic_fpu, zoals arm_fpu) configuratie
- compatibel met aarch64-linux-gnu toolchains (van Ubuntu, debian) en Xcode 5
- Nieuwe binaire out123 is alleen toegevoegd met het audio-uitvoergedeelte van mpg123. Dit is een voorloper voor het scheiden van de genoemde code in een eenvoudige audio-uitvoerbibliotheek. Het maakt het ook mogelijk enige verwerking in een pijp aan te sluiten voordat deze naar de uitvoer wordt gevoerd.
- Preventie van opendir (NULL) voor onbekende module-directory bij het vermelden van modules.
- enkele build-oplossingen, waaronder het repareren van mpg123-id3dump op Windows
Wat is nieuw in versie 1.18.1:
- Sluit de buffer niet tweemaal met mpg123 -R (verwijder verouderde code in control_generic ()), waarbij bug 207 wordt opgelost.
- Knoei niet rond met het eerste opdrachtregelargument om de programmanaam uit te pakken, in plaats daarvan een kopie te gebruiken en bug 205 te herstellen.
- Voortijdig afsluiten voorkomen bij timing van het niet openen van een nummer in de afspeellijst en de gebruiker die het wil overslaan (bug 206).
- Fixup van HTTP-socket-puinhoop, vermijdt ook onnodige FILE-objecten (bug 204, patch door Rajeev V. Pillai).
- Bepaal het gedrag van de afspeellijst op langzame HTTP-streams, spring terug ('d' -toets) van de eerste nummerblokkeringen op het eerste nummer (dankzij Rajeev opnieuw, subbug van bug 206).
- Fix Frankenstein check niet om over ID3v1-tags te struikelen. Mijn verontschuldigingen. Als een bonus is de positie van de betreffende code in de parser nu veel logischer.
Wat is nieuw in versie 1.17.0:
- mpg123-id3dump --no-scan; voor sneller
- hide -C-parameter van mpg123 - help wanneer dit niet wordt ondersteund
- heeft tinyalsa Output toegevoegd (door Jarno Lehtinen)
- systeemaanpassing bouwen
- enige zorg voor het repareren van Cygwin builds
Wat is nieuw in versie 1.16.0:
- Het nieuwe Huffman-decoderingsschema (standaard configureerbaar) zorgt voor een mooie boost naar mpg123 om het weer de snelste decoder op moderne CPU's te maken.
- nieuwe AVX-decoder
- voor montage geoptimaliseerde DCT36 voor SSE en AVX
- heeft configs toegevoegd voor vintage 3DNow (ext) CPU's (AMD K6) met behulp van assembly DCT36
- heeft configs toegevoegd voor vintage SSE CPU's (Pentium M), gebruikmakend van C DCT36
- opdracht FORMAT toegevoegd aan generieke besturing
- ondersteuning toegevoegd voor ID3v2 APIC-frames
- heeft mpg123-id3dump toegevoegd als officiële aanvulling om metadata te extraheren (inclusief het schrijven van albumillustraties van APIC naar bestanden)
- heeft mpg123-strip toegevoegd als officiële aanvulling om het vuil uit MPEG-streams (inclusief metagegevens) te verwijderen
- niet verwijderen van ID3-gegevens direct na afdrukken in generieke besturingselementen
- module-lader een beetje flexibeler met relatieve MPG123_MODDIR
- Vastgelegd afspelen met pulseaudio-uitvoer verhelpen: de uitvoer wordt nu leeggemaakt bij het sluiten.
- Oplossing van SDL-uitvoer, a) niet afsnijden van einde en b) niet-fatale onderloop
- Verhelp overduidelijke fouten in win32-uitvoer ... speelt deze nu het einde van tracks af? Ik heb iemand nodig om dit te testen.
- ondersteuning toegevoegd voor scherm- en iris-ansi-terminals met --title (zoals gevraagd door patch van sf.net user canavan)
- fixes / verbeteringen voor sgi audio-uitvoer
- libmpg123: juiste grootfile aliassen voor de juiste systemen (FreeBSD met één-en-alleen off_t
- Hiermee wordt clientsoftware ingeschakeld die erop staat ondoeltreffend _FILE_OFFSET_BITS te definiëren.
- wrapper script src / mpg123-with-modules om de pijn van het uitvoeren van mpg123 met modules zonder installatie te verminderen (instelling MPG123_MODDIR)
- ALSA 0.5-code verwijderd (ongebruikt voor oud, laatste GPL-bit)
Wat is nieuw in versie 1.14.2:
- Met de 1.14-serie, in een poging om beter te worden omgaan met situaties waarin de schijf niet werkte, de WAV-schrijfcode werd gewijzigd en het schrijven van WAV's naar standaarduitvoer (onbewerkte gegevens met een enkele WAV-kopregel vooraan) werd verbroken. Dit werkt weer met de huidige release.
Wat is nieuw in versie 1.14.1:
- Deze lost een bug op die werd ontdekt met de (bescheiden) reorganisatie van de parsercode. Met de feeder-API was het mogelijk om een formaatverandering in de (beschadigde) stroom te missen, des te erger was de toegewezen uitvoerbuffer te klein (overschakelen van MPEG-laag 3 met 576 samples per frame naar 1152 samples per frame).
Wat is nieuw in versie 1.14.0:
- libmpg123 API-versie 36 (zie NEWS.libmpg123)
- Voeg toe --ignore-streamlength.
- Maar ook omgaan met aaneengeschakelde (Frankenstein) streams: geen gapless snijden toepassen als we het aangekondigde aantal frames voorbij zijn.
- Add --lyrics for printout of lyrics (from USLT in ID3v2).
- Afhandeling van SIGUSR1 en SIGUSER2 toegevoegd aan terminalbesturingscode, configureerbaar via --ctrlusr1 en --ctrlusr2.
- Sommige low-level API toegevoegd (mpg123_framedata (), mpg123_framepos (), buffering en resampling-controle).
- Informatie over invoerbuffervulling toegevoegd aan mpg123_getstate ().
- ReplayGain: Probeer LAME onder 3,95 te detecteren voor het verschillende referentieniveau van 83 dB (een voorversterker van 6 dB toevoegen). Versie 3.95 zelf (niet 3.95.1) Ik kan het niet detecteren. Door de gebruiker ingestelde versterkingswaarden worden niet aangeraakt.
- zwijgen over ontbrekende bit reservoir bij het negeren van frames. Dat is het hele punt (meestal; -).
- Voeg de nieuwe / oude WRITE_SAMPLE-variant toe van MPlayer die de generieke decoder sneller maakt op oudere CPU's (minstens x86). Niet op x86-64, hoewel (het is standaard niet ingeschakeld)
- Omgaan met de schijf in de schrijvers van bestanden (een beetje, zie http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=67259)
- Xcode-projectbestanden toegevoegd om libmpg123 te bouwen op Mac OS en iOS
- 32 bit-uitvoer voor sndio-uitvoer (patch door Brad Smith).
- De interface van de afstandsbediening kent de opdracht LOADLIST nu.
- Nu het metagegeheugen vrijmaken na het afdrukken.
- Enige opschoning van documentatie, inclusief manpage-fixes door quadrispro.
- Wildcard-uitbreidingen opnieuw ingeschakeld op Windows (onderbroken door ondersteuning voor Unicode-bestandsnamen).
- Fix MMX-syntaxis voor tabinit (met dank aan Marcel Muller voor het aanwijzen)
- SGI-audio-uitvoer herstellen (is verbroken sinds de wijziging in modules).
- Bepaal wat pseudo-gedrag (mpg123_getformat () waardoor het onnodig lezen van het volgende frame wordt gestart, mogelijk met de valse MPG123_NEED_MORE).
- Resync-limiet dient nu ook om het aantal overgeslagen rommel bij het begin te vergroten.
- Betere scheiding van de einde- en leesfout van de stream (in het geval dat er geen stream is geopend, even).
- Klaag niet altijd over een mislukte zoekopdracht naar gratis opmaakheader (alleen met breedsprakigheidsniveau 3).
Reacties niet gevonden