תאמינו או לא, mpg123 היא תוכנת הפעלה של שורת פקודה בקוד פתוח, המסוגלת לפענח ולהפעיל קובצי MPEG Audio Layer 1, 2 ו- 3, הידועים כ'קובצי MP3 ' לרוץ לגמרי במסוף לינוקס.
תכונות במבט אחד
התכונות העיקריות כוללות ספריית פענוח אודיו עבור MPEG Audio Layer 1, 2 ו -3, נגן אודיו בזמן אמת עבור MPEG 1.0, 2.0 ו -2.5 פורמטים, נקודה צפה ותמיכה במתמטיקה שלמה, איכות גבוהה ושמע השמעה מהירה, כמו גם תמיכה במגוון רחב של מערכות הפעלה לינוקס ו- UNIX.
אפשרויות שורת פקודה
בין אפשרויות שורת הפקודה המובנית ביישום, ניתן להזכיר את היכולת לכתוב פלט לקובץ WAV, לדלג על מסגרות n, דגימה 1: 2 (22 קילו-הרץ), לשחק בכל מסגרת n'th בלבד, לערבב שני ערוצים (מונו), לאפשר את מפתחות הבקרה, דשדוש לשחק (עם תווים כלליים), לקרוא כתובות אתרים, לפענח ערוץ 0 (משמאל) בלבד, להשתמש אימות HTTP, להגדיר את המאגר הפלט, להגדיר או לכפות את הדגימה, ולבדוק טווח הפרות. p>
מתחת למכסה המנוע והזמינות
בזמן שהיישום כתוב כולו בשפת התכנות C, הוא משתמש במספר אופטימיזציות מיוחדות כמו SSE, 3DNow או ARM, ותומך ב- GNU / Linux, BSD, Solaris, AIX, OS / 2, HP-UX, SGI Irix, Mac OS X, מערכות ההפעלה Microsoft Windows.
הוא זמין להורדה כארכיון מקור, כלומר, המשתמש חייב להגדיר, לקמפל ולהתקין את היישום באמצעות שורת הפקודה Linux / UNIX. עם זאת, זה יכול להיות מותקן בקלות מתוך מאגרי תוכנה ברירת המחדל של מערכות הפעלה רבות לינוקס.
שורה תחתונה
לסיכום, אין לנו מושג מי יהיה זה שורת פקודה נגן אודיו בעולם מלא ממשקי משתמש גרפיים מודרניים, אבל אנחנו די בטוחים כי mpg123 מציע איכות שמע טובה מאוד וזה מאוד קל לשימוש גם אם אתה שונא את מסוף לינוקס.
מה חדש במהדורה זו:
- libout123: תיקון הודעות שגיאה החל מ- OUT123_ARG_ERROR (באג 261 ).
- mpg123: תקן - intercy טיפול מרובע לעבוד עם זרם מ stdin. (curl | mpg123 - media-interval = n -)
- libmpg123: תקן עוד קריאה לא חוקית וקובץ Segfault על קבצים פגומים (מטושטשים) עם part2_3_length == 0 (set maxband = 1, משוך מ- 1.26.0 הקרובה).
מה חדש בגירסה 1.25.3:
- בדיקת שתיקה עבור artc-config אם היא לא שם.
- ודא ש- static-libgcc מ- LDFLAGS מקבל את libtool, מתקן 32 סיביות של Windows (תלוי ב- libgcc DLL אחרת).
- תקן לבנות עם non-GNU לעשות באמצעות rm-f רגיל במקום r $ מטופש (RM) ב libout123 / מודולים makefile שבר.
- צור את העבודה ב- iOS, כולל backaudio backend.
- libmpg123:
- לבסוף, ספק קוד ללא תלות במיקום עבור x86 עם אופטימיזציות הרכבה. הטקסטרים נעלמו הודות לפארק וון קיו ולטאיי מאמה.
- הבהר שפת רשיון כלשהי בקבצים היורדים מהאופטימיזציה המקורית של MMX.
- בדוק את בדיקת הגלישה של ערך ההחזרה עבור MPG123_BUFFERFILL.
- הציג את mpg123_getformat2 () כדי להפעיל את הפקודה FORMAT עבור הפקד הגנרי שלא יגנוב את MPG123_NEW_FORMAT מלולאת ההפעלה הראשית. רצף LOADPAUSED-FORMAT-PAUSE (משחק) אמור לעבוד עכשיו.
- אפשר אופטימיזציה של aarch64 ב- * BSD כברירת מחדל, מדי. אתה תמיד יכול לעקוף את זה whitelist OS טיפש באמצעות - עם אופטימיזציה, בכל מקרה.
- השימוש במפענח i486 מתבטל כעת בצורה בולטת יותר, בהגדרת תצורה.
- out123: תיקון התרסקות מטופשת עם מצב verbose וטווח צליל (הדפס את המחרוזת אם המצביע אינו ריק, לא אם הוא ריק).
- libout123: הודעות שגיאה עקביות יותר עבור מודולים דינמיים ודורשים (מובנים). כלומר, אתה מקבל רמז איך אתה בוחר מודול אחר מאשר אלה המובנים עבור libout123 סטטי.
מה חדש בגירסה 1.25.0:
- בדיקת שתיקה עבור artc-config אם היא לא שם.
- ודא ש- static-libgcc מ- LDFLAGS מקבל את libtool, מתקן 32 סיביות של Windows (תלוי ב- libgcc DLL אחרת).
- תקן לבנות עם non-GNU לעשות באמצעות rm-f רגיל במקום r $ מטופש (RM) ב libout123 / מודולים makefile שבר.
- צור את העבודה ב- iOS, כולל backaudio backend.
- libmpg123:
- לבסוף, ספק קוד ללא תלות במיקום עבור x86 עם אופטימיזציות הרכבה. הטקסטרים נעלמו הודות לפארק וון קיו ולטאיי מאמה.
- הבהר שפת רשיון כלשהי בקבצים היורדים מהאופטימיזציה המקורית של MMX.
- בדוק את בדיקת הגלישה של ערך ההחזרה עבור MPG123_BUFFERFILL.
- הציג את mpg123_getformat2 () כדי להפעיל את הפקודה FORMAT עבור הפקד הגנרי שלא יגנוב את MPG123_NEW_FORMAT מלולאת ההפעלה הראשית. רצף LOADPAUSED-FORMAT-PAUSE (משחק) אמור לעבוד עכשיו.
- אפשר אופטימיזציה של aarch64 ב- * BSD כברירת מחדל, מדי. אתה תמיד יכול לעקוף את זה whitelist OS טיפש באמצעות - עם אופטימיזציה, בכל מקרה.
- השימוש במפענח i486 מתבטל כעת בצורה בולטת יותר, בהגדרת תצורה.
- out123: תיקון התרסקות מטופשת עם מצב verbose וטווח צליל (הדפס את המחרוזת אם המצביע אינו ריק, לא אם הוא ריק).
- libout123: הודעות שגיאה עקביות יותר עבור מודולים דינמיים ודורשים (מובנים). כלומר, אתה מקבל רמז איך אתה בוחר מודול אחר מאשר אלה המובנים עבור libout123 סטטי.
מה חדש בגירסה 1.23.6:
- התקשר החוצה 12312_pause () במקום out123_stop () in פקודת STOP שליטה מרחוק, תיקון הרגרסיה ב 1.23x של לא ניתן לחדש את ההשמעה עם עוד עומס אלא אם המסלול החדש יש פורמט אודיו שונה (באג 234)
מה חדש בגירסה 1.23.5:
- libout123:
- לתקן לבנות של portaudio ו- SDL על win32 (יותר מדי סוגריים, תודה Sandro Cumerlato להצביע על זה)
- לבצע 1233_errcode () לחזור OUT123_BAD_HANDLE כפי שתועד (הוספת ערך זה לשגיאה enum, תועד אבל חסר), שוב הודות Sandro
- לתקן windows-builds.sh (ציטוט פגז בשלב ההעתקה) ולהוסיף כמה סיביות לראש נשלח כדי להפוך אותו שמיש ישירות MSVC (להגדיר ssize_t, באג 232)
- לא מחליף את LIBS ב- Makefile (בנה רגרסיה של המערכת ב -1.23, הודות לפיטר Korsgaard על כך שדיווח על כך)
- ללא הדפסת הודעה בתגובה ל- SIGPIPE, מכיוון שהדבר עלול לגרום לתלייה אם stderr עצמו הוא הגורם לדליפה (רגרסיה מ- 1.22, באג 233)
- זוהי גרסה של שחרור עצירה, כולל התיקון עבור באג 216, הימנעות זיהוי פונדקאי מזויף עם UTF-16 בנתוני ID3v2.
- ישנם כמה שינויים מעניינים בתא המטען ממתינה עם הגירסה תכונה הבאה, אשר יכלול libout123 בכלל לבנות מערכת fixup (לא recursive לעשות).
- זוהי גירסת Stop-gap, הכוללת את תיקון הבאג 216, תוך הימנעות מאיתור פונדקאי מזויף עם UTF-16 בנתוני ID3v2.
- ישנם כמה שינויים מעניינים בתא המטען ממתינה עם הגירסה תכונה הבאה, אשר יכלול libout123 בכלל לבנות מערכת fixup (לא recursive לעשות).
- תקן mpg123-id3dump בעת כתיבת תמונות עם מצחיק ( מניפולציה). טעות מטופשת בחישוב אורך של סיומת קובץ השבתה גרמה לזכרון מהזיכרון להיות מצורף שם הקובץ אם גודל המצביע הוא פחות מ 64 סיביות. עבור 64 סיביות (או יותר) זה היה נכון במקרה.
- לתקן את המבנה הקפדני על ידי ניקוי מקור 123, גם עכשיו מציג את רשימת הקידוד ב - longhelp במקום שוב ושוב, כותב ג 'אנק מהזיכרון שם.
- לא מקשר libmpg123 נגד libltdl יותר (באג 215).
- עדכן מעט את MSVC ++ + כדי לגרום להם לעבוד שוב.
- השתמש ב- LL כקיצור עבור הפקודה LOADLIST מרחוק, L הוא נלקח כבר (באג 210).
- פחות זיהום בשמות-מקום (MPG123_EXPORT בכותרת במקום ב- EXPORT, באג 212).
- הגרסאות החדשות ביותר הופכות את קורא ההזנה ליעיל יותר בעת דילוג על זבל על-ידי ביטול מוקדם של נתונים מ- מאגרים כדי למנוע ניתוח מחדש. ההתנהגות הקודמת פעלה בצורה גרועה עם קלט מסוים (ראה באג ג'נטו 465744).
- נוסף מפענח ממוטב של NEON עבור AArch64 (סביבת ARM 64bit ):
- מופעל עבור --with-cpu = neon64 (NEON בלבד) או עם with-cpu = aarch64 (מעבר זמן ריצה בין ניאון ל- generic_fpu, כמו arm_fpu)
- תואם ל- aarch64-linux-gnu toolchains (מאובונטו, דביאן) ו- Xcode 5
- נוסף בינארי חדש 1212 רק עם חלק פלט השמע של mpg123. זה מבשר להפריד את הקוד אמר לתוך ספריית פלט אודיו פשוטה. זה גם מאפשר חיבור בעיבוד כלשהו בצינור לפני האכלה פלט.
- מנע opendir (NULL) עבור ספריית מודול לא ידוע בעת רישום מודולים.
- כמה תיקוני בנייה, בין תיקוני mpg123-id3dump ב- Windows
- אל תסגור את המאגר פעמיים עם mpg123 -R (מחק קוד מיושן ב- control_generic ()), ותקן את הבאג 207.
- אל תתעסק עם ארגומנט שורת הפקודה הראשונה כדי לחלץ את שם התוכנית, השתמש בעותק במקום תיקון באג 205.
- מנע יציאה מוקדמת מעיתוי של חוסר אפשרות לפתוח רצועה בפלייליסט והמשתמש המעוניין לדלג עליה (באג 206).
- Fixup של הבלוג של שקע HTTP, גם להימנע מאובייקטים מיותרים של FILE (באג 204, תיקון על-ידי Rajeev V. Pillai).
- תקן את התנהגות הפלייליסט על זרמי HTTP איטיים, קופץ חזרה ('d' מפתח) מהמסלול הראשון נשאר במסלול הראשון (תודה Rajeev שוב, באג הבא של באג 206).
- לתקן את בדיקת Frankenstein לא למעוד על תגי ID3v1. התנצלותי. בתור בונוס, המיקום של קוד מודאג במנתח הוא עכשיו הרבה יותר הגיוני.
- mpg123-id3dump --no-scan; עבור מהירות
- hide-c פרמטר מ- mpg123 --help כאשר הוא אינו נתמך
- נוסף tinyalsa פלט (על ידי Jarno Lehtinen)
- צבירת מערכת>
- טיפול כלשהו עבור תיקון Cygwin בונה
מה חדש בגירסה 1.23.3:
מה חדש בגירסה 1.22.3:
מה חדש בגירסה 1.22.1:
מה חדש בגירסה 1.21.0:
מה חדש בגירסה 1.20.1:
מה חדש בגירסה 1.20.0:
מה חדש בגירסה 1.18.1:
מה חדש בגירסה 1.17.0:
מה חדש בגירסה 1.16.0: