Tro det eller inte, mpg123 är en programvara för uppspelning av öppen källkod med musikuppspelning som kan avkoda och spela MPEG Audio Layer 1, 2 och 3-filer, som i allmänhet kallas MP3-filer, utformade för att kör helt i en Linux-konsol.
Funktioner i ett ögonkast
Huvudfunktionerna inkluderar ett ljudavkodningsbibliotek för MPEG Audio Layer 1, 2 och 3, realtids ljudspelare för MPEG 1.0, 2.0 och 2.5-format, flytpunkt och heltalsmatstöd, högkvalitativ och snabb ljuduppspelning, samt stöd för ett brett sortiment av Linux och UNIX-liknande operativsystem.
Kommandoradsalternativ
Bland programmets inbyggda kommandoradsalternativ kan vi nämna möjligheten att skriva utdata till en WAV-fil, hoppa över första n-ramar, downsample 1: 2 (22 kHz), bara spela varje nitt ram, mixa båda kanalerna (mono), aktivera kontrolltangenter, blanda uppspelning (med jokertecken), läsa URL-adresser, avkoda kanal 0 (vänster), använd HTTP-autentisering, ställ ut bufferten, sätt in eller tvinga samplerat och kontrollera intervallbrott.
Under huven och tillgängligheten
Programmet är helt skrivet i C-programmeringsspråket, men använder flera speciella optimeringar som SSE, 3DNow eller ARM, och stöder GNU / Linux, BSD, Solaris, AIX, OS / 2, HP-UX, SGI Irix, Mac OS X, operativsystem i Microsoft Windows.
Det är tillgängligt för nedladdning som ett källarkiv, vilket innebär att användaren måste konfigurera, kompilera och installera programmet via Linux / UNIX-kommandoraden. Det kan dock enkelt installeras från standardprogramvarorna för många Linux-operativsystem.
Slutsats
Sammanfattningsvis har vi ingen aning om vem som kommer att ha denna kommandorad ljudspelare i en värld full av moderna grafiska användargränssnitt, men vi är ganska säkra på att mpg123 erbjuder en mycket bra ljudkvalitet och det är extremt lätt att använda, även om du hata Linux-terminalen.
Vad är nytt i den här utgåvan:
- libout123: Fixa felmeddelanden som börjar från OUT123_ARG_ERROR (bug 261 ).
- mpg123: Fix -icy-intervallhantering för att arbeta med ström från stdin. (curl | mpg123 --icy-interval = n -)
- libmpg123: Fixa en annan ogiltig läsning och segfault på skadade (fuzzed) filer med part2_3_length == 0 (set maxband = 1, dras från kommande 1.26.0).
Vad är nytt i version 1.25.3:
- Tystnadstest för artsc-config om det inte finns där.
- Se till att -statisk-libgcc från LDFLAGS kommer igenom libtool, fixar 32 bitars Windows-byggnader (beror på libgcc DLL annars).
- Fix bygga med icke-GNU-märkning genom att använda vanlig rm -f istället för dumma $ (RM) i libout123 / modules makefile fragment.
- Gör byggnadsarbete på iOS, inklusive coreaudio backend.
- libmpg123:
- Slutligen tillhandahålla positionsoberoende kod för x86 med monteringsoptimeringar. Textrelsna är borta tack vare Won Kyu Park och Taihei Momma.
- Förklara något licensspråk i filer som går ner från den ursprungliga MMX-optimeringen.
- Fixa överskottskontroll för returvärde för MPG123_BUFFERFILL.
- Introducerad mpg123_getformat2 () för att aktivera FORMAT-kommandot för den generiska kontrollen, att inte stjäla MPG123_NEW_FORMAT från huvuduppspelningsslingan. Sekvensen LOADPAUSED-FORMAT-PAUSE (play) ska fungera nu.
- Aktivera aarch64-optimeringar på * BSD som standard också. Du kan alltid åsidosätta den dumma OS-vitlistan med --with-optimering, hur som helst.
- Användningen av i486-avkodaren är nu avskräckt mer tydligt i konfigurationsutgången.
- out123: Fix dum krasch med verbose-läge och tongenerering (skriv strängen om pekaren är icke-null, inte om den är null).
- libout123: Mer konsekventa felmeddelanden för dynamiska och äldre (inbyggda) moduler. Namnlösa: Du får en antydan om du väljer en annan modul än de inbyggda för en statisk libout123.
Vad är nytt i version 1.25.0:
- Tystnadstest för artsc-config om det inte finns där.
- Se till att -statisk-libgcc från LDFLAGS kommer igenom libtool, fixar 32 bitars Windows-byggnader (beror på libgcc DLL annars).
- Fix bygga med icke-GNU-märkning genom att använda vanlig rm -f istället för dumma $ (RM) i libout123 / modules makefile fragment.
- Gör byggnadsarbete på iOS, inklusive coreaudio backend.
- libmpg123:
- Slutligen tillhandahålla positionsoberoende kod för x86 med monteringsoptimeringar. Textrelsna är borta tack vare Won Kyu Park och Taihei Momma.
- Förklara något licensspråk i filer som går ner från den ursprungliga MMX-optimeringen.
- Fixa överskottskontroll för returvärde för MPG123_BUFFERFILL.
- Introducerad mpg123_getformat2 () för att aktivera FORMAT-kommandot för den generiska kontrollen, att inte stjäla MPG123_NEW_FORMAT från huvuduppspelningsslingan. Sekvensen LOADPAUSED-FORMAT-PAUSE (play) ska fungera nu.
- Aktivera aarch64-optimeringar på * BSD som standard också. Du kan alltid åsidosätta den dumma OS-vitlistan med --with-optimering, hur som helst.
- Användningen av i486-avkodaren är nu avskräckt mer tydligt i konfigurationsutgången.
- out123: Fix dum krasch med verbose-läge och tongenerering (skriv strängen om pekaren är icke-null, inte om den är null).
- libout123: Mer konsekventa felmeddelanden för dynamiska och äldre (inbyggda) moduler. Namnlösa: Du får en antydan om du väljer en annan modul än de inbyggda för en statisk libout123.
Vad är nytt i version 1.23.6:
- ringa out123_pause () istället för out123_stop fjärrkontroll STOP-kommando, vilket gör att regressionen i 1.23.x inte kan återuppta uppspelning med en annan LOAD om inte det nya spåret har olika ljudformat (fel 234)
Vad är nytt i version 1.23.5:
- libout123:
- fixa byggandet av portaudio och SDL på win32 (för många parentes, tack till Sandro Cumerlato för att peka ut det)
- gör ut123_errcode () returnera OUT123_BAD_HANDLE som dokumenterat (lägger till det här värdet i felet, dokumenterades men saknades), tack tack vare Sandro
- fixa windows-builds.sh (skal citera i kopieringssteget) och lägg till några bitar till sändningsrubriken för att göra det direkt användbart i MSVC (definiera ssize_t, bug 232)
- Ingen skrivning av LIBS i Makefile (bygg systemregression i 1,23, tack vare Peter Korsgaard för att rapportera den)
- Ingen utskrift av ett meddelande som svar på SIGPIPE, eftersom det kan utlösa en hängning om stderr själv är den ledda syndern (regression från 1,22, bug 233)
Vad är nytt i version 1.23.3:
- för bug 216, undviker falsk surrogatdetektering med UTF-16 i ID3v2-data.
- Det finns några intressanta ändringar i stammen som väntar på att släppas med nästa funktionsversion, som ska innehålla libout123 och generellt systemuppdatering (non-recursive make).
Vad är nytt i version 1.22.3:
- Det här är ett stopp-gap-släpp, inklusive fixen för fel 216, vilket undviker falsk surrogatdetektering med UTF-16 i ID3v2-data.
- Det finns några intressanta ändringar i stammen som väntar på att släppas med nästa funktionsversion, som ska innehålla libout123 och generellt systemuppdatering (non-recursive make).
Vad är nytt i version 1.22.1:
- Fix mpg123-id3dump när du skriver bilder med roliga manipulerad) MIME-typ. Dumma fel i längdberäkningen av filbacken för återgången orsakade skräppost från minnet som bifogas filnamnet om pekarstorleken är mindre än 64 bitar. För 64 bitars pekare (eller längre) var det korrekt av misstag.
- Fixa pedantisk byggnad genom att städa upp källan123, och nu visas verkligen kodningslistan i -longhelp istället för att eventuellt igen skriva skräp från minnet där.
- Länkar inte libmpg123 mot libltdl längre (bug 215).
- Uppdatera MSVC ++-portar lite för att få dem att fungera igen.
Vad är nytt i version 1.21.0:
- Använd LL som genväg för LOADLIST fjärrkommando, L tas redan (bug 210).
- Mindre namnutrymmeförorening (MPG123_EXPORT i rubrik i stället för EXPORT, fel 212).
Vad är nytt i version 1.20.1:
- De nyaste utgåvorna gör flödesläsaren mer effektiv när du hoppar över skräp genom att tidigt skicka data från buffertar för att undvika ompresning. Det tidigare beteendet interagerade dåligt med viss inmatning (se gentoo bug 465744).
Vad är nytt i version 1.20.0:
- Tillagd NEON optimerad dekoder för AArch64 (ARM 64bit miljö ):
- aktiverad för - med-cpu = neon64 (endast NEON) eller - med-cpu = aarch64 (runtime switch mellan neon och generic_fpu, som arm_fpu) konfiguration
- kompatibel med verktyget aarch64-linux-gnu (från Ubuntu, debian) och Xcode 5
- Tillagde ny binär out123 endast med ljudutgångsdelen av mpg123. Detta är en föregångare för att separera ut nämnda kod till ett enkelt ljudutmatningsbibliotek. Det tillåter även att plugga in en del bearbetning i ett rör innan det matas ut.
- Förhindra opendir (NULL) för okänd modulkatalog när man listar moduler.
- några byggkorrigeringar, bland dem som fixar mpg123-id3dump på Windows
Vad är nytt i version 1.18.1:
- Stäng inte bufferten två gånger med mpg123 -R (ta bort föråldrad kod i control_generic ()), fixa bugg 207.
- Röra inte med det första kommandoradsargumentet för att extrahera programnamnet, använd en kopia istället och fixa bug 205.
- Förhindra förtidig utgång vid tidpunkten för att inte öppna ett spår i spellistan och användaren vill hoppa över det (bugg 206).
- Felsökning av HTTP-socket-rutt, och undviker onödiga FIL-objekt (bug 204, lapp av Rajeev V. Pillai).
- Fixa spellista beteende på långsamma HTTP-strömmar, hoppa tillbaka ("d" -nyckeln) från första spåret stannar vid första spåret (tack vare Rajeev igen, sub-bug of bug 206).
- Fix Frankenstein kontrollera att du inte snubblar över ID3v1-taggar. Jag ber om ursäkt. Som en bonus är positionen för den aktuella koden i parsern nu mycket mer logisk.
Vad är nytt i version 1.17.0:
- mpg123-id3dump -no-scan; för speedup
- hide-parameter från mpg123 - hjälp när den inte stöds
- lagt till tinyalsa Output (av Jarno Lehtinen)
- bygga system tweaking
- lite omsorg för att fixa Cygwin bygger
Vad är nytt i version 1.16.0:
- Det nya Huffman-avkodningssystemet (konfigurerbart, som standard) ger en bra boost till mpg123 för att göra den snabbaste avkodaren på moderna processorer igen.
- ny AVX-avkodare
- monteringsoptimerade DCT36 för SSE och AVX
- tillagda configs för vintage 3DNow (ext) CPUs (AMD K6) som använder montering DCT36
- lagt till konfigurer för vintage SSE-processorer (Pentium M), som använder C DCT36
- lagt till FORMAT-kommandot till generisk kontroll
- lagt till stöd för ID3v2 APIC-ramar
- lägger till mpg123-id3dump som officiell följeslagare för att extrahera metadata (inklusive skrivning av albumkonst från APIC till filer)
- tillagde mpg123-strip som officiell följeslagare för att ta bort smuts från MPEG-strömmar (inklusive metadata)
- inte raderar ID3-data direkt efter utskrift i generisk kontroll
- modulen laddas lite mer flexibel med relativ MPG123_MODDIR
- Fix avspelad avspelning med pulseaudio-utgång: tömmer utmatningen nu när den stängs.
- SDL-utmatningsfixering, a) inte hugga slutet och b) icke-dödlig underkörning
- Fix uppenbara fel i win32-utgången ... spelar det nu slutet på spåren? Behöver någon testa detta.
- lagt till stöd för skärm- och iris-ansi-terminaler med --title (som uppmanas av patch från sf.net-användarhytt)
- korrigeringar / förbättringar för sgi-ljudutgång
- libmpg123: Korrekt largefile alias för ordentliga system (FreeBSD med en enda och enbart off_t
- Detta möjliggör klientprogramvara som insisterar på att definiera meningslöst _FILE_OFFSET_BITS.
- wrapper script src / mpg123-med-moduler för att underlätta smärtan att köra mpg123 med moduler utan installation (inställning MPG123_MODDIR)
- tog bort ALSA 0.5-kod (oanvänd för lång tid, sista GPL-bara bit)
Vad är nytt i version 1.14.2:
- Med 1.14-serien, i ett försök att förbättra hantera out-of-disk-situationer, WAV-skrivkoden har ändrats och det bröt skrivandet av WAV-filer till standardutdata (rådata med en enda WAV-header framför). Detta ska fungera igen med den aktuella versionen.
Vad är nytt i version 1.14.1:
- Den här åtgärdar en bugg som upptäcktes med (blygsam) omorganisation av parserkoden. Med feeder API var det möjligt att missa en formatändring i den (skadade) strömmen, desto snabbare resultat blir den tilldelade utmatningsbufferten för liten (byter från MPEG-lag 3 med 576 samplar per ram till 1152 sampel per ram).
Vad är nytt i version 1.14.0:
- libmpg123 API-version 36 (se NEWS.libmpg123)
- Lägg till --ignore-streamlength.
- Men handlar också om sammanfogade (Frankenstein) strömmar: Använd inte gaplös skärning när vi är över det tillkännagivna antalet ramar.
- Lägg till - lyder för utskrift av texter (från USLT i ID3v2).
- Tillagd hantering av SIGUSR1 och SIGUSER2 till terminalkontrollkod, konfigurerbar via --ctrlusr1 och --ctrlusr2.
- En del lågnivå API läggs till (mpg123_framedata (), mpg123_framepos (), buffert och resampling kontroll).
- Tillagd information om inmatningsbuffertfyllning till mpg123_getstate ().
- ReplayGain: Försök att upptäcka LAME under 3,95 för den olika referensnivån på 83 dB (lägger till preamp på 6 dB). Version 3.95 själv (inte 3.95.1) Jag kan inte detektera. Användarsättvärdesvärden berörs inte.
- Tyst om saknad bitbehållare när du ignorerar ramar. Det är hela punkten (oftast; -).
- Lägg till den nya / gamla WRITE_SAMPLE-varianten från MPlayer som gör den generiska avkodaren snabbare på äldre processorer (minst x86). Inte på x86-64, dock (det är inte aktiverat per standard där).
- Hantera out-of-disk i filförfattarna (lite, se http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=67259)
- Tillagda Xcode-projektfiler för att bygga libmpg123 på Mac OS och iOS
- 32 bitars utgång för sndio-utdata (lapp av Brad Smith).
- Fjärrkontrollgränssnittet känner till LOADLIST-kommandot nu.
- Frigör nu metadataminnet efter utskrift.
- Några dokumentationsuppretting, inklusive manpage fixes av quadrispro.
- Återaktiverad jokertexpansion på Windows (bruten av stöd för unicode-filnamn).
- Fixa MMX tabinit-syntaxen (tack till Marcel Muller för att peka ut det).
- Fixera SGI-ljudutgång (bruten sedan byte till moduler).
- Fixa ett fringe-beteende (mpg123_getformat () utlösande onödigt läsning av nästa ram, eventuellt slående falsk MPG123_NEED_MORE).
- Resync-gränsen tjänar nu också till att öka mängden hoppad skräp i början.
- Bättre separation av flödesänd och läsfel (om det inte finns någon ström öppnad, jämn).
- Klagar inte alltid på misslyckad sökning i friformathuvud (endast med verbositetsnivå 3).
Kommentarer hittades inte