Music Player Daemon
נכתבה בשפות | C++ (since 0.18)[1] |
---|---|
Unix-like (BSDs, Linux, macOS,…) Windows | |
|
שרת נגן מוזיקה (באנגלית: Music Player Daemon) (MPD) הוא שרת נגן מוזיקה חינמי ובקוד פתוח. מנגן קובצי שמע, מארגן רשימות השמעה ומתחזק מאגר מוזיקה. על מנת לתקשר עם השרת, יש צורך בתכנת לקוח. הפצת חבילת MPD כוללת גם את חבילת (Media Player Client) MPC, לקוח שורת פקודה פשוט.
MPD משמש גם בחומרת שמע קניינית. פרויקט MPD מחזיק רשימת ספקים שחלקם מפרים את ה-GPL.[2]
עיצוב
MPD פועל בפשטות ברקע ומשמיע מוזיקה מרשימת ההשמעה שלו. תוכניות לקוח מתקשרות עם MPD כדי לתפעל את ההפעלה, את רשימת ההשמעה ואת מסד הנתונים. MPD אינו נגן מוזיקה בעל תכונות מלאות כמו אמארוק, אך לקוחותיו יכולים לשמש תפקיד זה.
MPD משתמש במסד נתוני קבצים שטוחים לתחזוקת המידע אודות קובצי מוזיקה כשאינו פועל. לאחר אתחול השרת, מסד הנתונים מוחזק כולו בזיכרון ואין צורך בגישה לקונן הקשיח בכדי לאתר או לחפש קובצי שמע המאוחסנים בקונן המקומי. באופן כללי, קובצי מוזיקה חייבים להיות ממוקמים בתיקיות משנה j, תיקיית המוזיקה (Music/) והם מתווספים למסד הנתונים רק כאשר פקודת עדכון נשלחת לשרת. השמעת קבצים שרירותית מותרת, אך רק לקוחות (נגן) מקומיים המקושרים לשרת באמצעות שקע מתחם יוניקס. ל-MPD אין עורך תגים מובנה; אפשרות זו מטופלת על ידי הלקוח או תוכניות חיצוניות אחרות, אף על פי שקיימים טלאי צד שלישי שיכולים להוסיף תכונה זו לשרת.[3]
מודל השרת-לקוח מעניק מספר יתרונות על פני נגני מוזיקה הכול-כלול. לקוחות עשויים לתקשר עם השרת מרחוק דרך רשת-פנים-ארגונית או דרך המרשתת. השרת יכול להיות מחשב-שרת (headless) הממוקם בכל מקום ברשת. השמעת מוזיקה יכולה להמשיך בצורה חלקה כאשר לא משתמשים במערכת הפעלה חלונות X או באתחול X. ניתן להשתמש בלקוחות שונים למטרות שונות – לקוח קל משקל שפועל כל הזמן ומשמש בעיקר לבקרת ההפעלה או לקוח בעל תכונות מלאות יותר המשמש לחיפושים עצימים במסדי נתונים. ניתן גם להשתמש במספר לקוחות במסד נתונים אחד בו זמנית, בחיבור מרחוק או בחשבונות משתמש שונים.
תכונות
- משמיע קובצי Ogg Vorbis, FLAC, Opus, WavPack, MP2, MP3, MP4 / AAC, MOD, Musepack, wave וכל קבץ אחר הנתמך על ידי FFmpeg.
- שליטה מרחוק ב-MPD ברשת ( IPv4 ו-IPv6 נתמכים).
- השמעת הזרמות מדיה בתבנית HTTP ,FLAC, OggFLAC, MP3 ו-Ogg Vorbis.
- קורא וטומן מידע מטא נתונים ( ID3 : ID3v1 ו-ID3v2), תגובות Vorbis ו-Metadata MP4.
- מאפשר חיפוש במידע מטא נתונים.
- תמיכה בחוצץ השמעה (מונע דילוגים עקב עומס גבוה או חביון רשת).
- השמעה ללא פערים בין רצועות.
- תמיכה בהצלבה.
- תמיכה בהזחה קדימה/אחורה בתוך רצועה.
- שמירה, טעינה ונהל רשימות השמעה (בתבנית M3U ).
- תמיכה מובנית בתקן Zeroconf.
- המרה בקצב הדגימה המקורי libsamplerate ו-native.
- תמיכה ב-ALSA, PulseAudio, OSS, MVP, JACK, ווינדוס ו-macOS.
- יכול לשמש כמקור להזרמת Icecast ב-Ogg Vorbis ו-MP3. ניתן להמיר תבניות אחרות ל-Ogg / MP3 בזמן אמת לפני הפלט לשרת ההזרמה.
- שרת הזרמת HTTP מובנה, המסוגל להפיק Ogg Vorbis והזרמת MP3 באיכות לפי בחירה ובזמן אמת.
- אין תלות בממשק משתמש גרפי. המוזיקה תמשיך להתנגן בין אם יישופ הלקוח פועל או לא, ותמשיך להתנגן גם אם שרת ה-X מופסק.
לקוחות
ל- MPD מגוון ממשקי קצה המתקשרים עם השרת באמצעות פרוטוקול מותאם אישית[4] בחיבור TCP. יישומי לקוח לרוב מיישמות סוגים שונים של ממשקים.
לקוחות מסוף
- mpc (חלק מפרויקט MPD) הוא ממשק שורת פקודה פשוט למרבית אפשרויות השרת.[5]
- ncmpc הוא לקוח ncurses בעל תכונות מלאות דומה לרעיון MOC.[6]
- ncmpcpp הוא לקוח ncurses נוסף שמשכפל את תכונות ncmpc, אך כולל בנוסף תכונות חדשות, כגון עורך התיוג.[7]
- חיפוש מוזיקה מעשית הוא לקוח ncurses נוסף עם ממשק דמוי Vim.[8]
- fmui הוא ממשק משתמש מסוף שנוצר באמצעות fzf ו-mpc.[9]
לקוחות מרשתת
- Bragi-MPD תכונות מלאות, ידידותי למכשירים ניידים, צד לקוח שלם, לקוח אינטרנט HTML5 המסוגל לשלוט על מספר מופעים ופלטים מרובים לכל מופע MPD. היכולות שאינן ממשק משתמש מתוחזקות בפרויקט נפרד MPD.js המאפשר ליצור בקלות לקוחות חדשים.
- netjukebox הוא תיבת נגינה מבוסס מרשתת עבור MPD, VideoLAN ו-Winamp / httpQ.[10]
- O!MPD הוא לקוח עשיר בתכונות המבוסס על PHP ו-MySQL
לקוחות גרפיים
- אריו מבוססת על GTK + ומשתמשת בלשוניות בממשק שלה.[11]
- Cantata פועלת ב-ווינדוס, מאק OS ולינוקס, היא מבוססת על Qt 5 לניהול הספרייה או רשימות ההשמעה, עם תוספות כמו עורך תגים, מילות-שיר ואחזור תמונות-עטיפה מהמרשתת, כמו כן, תמיכה בהתקני אחסון בנפח גדול.[12] קנטטה זכתה למשיכה מסוימת מהפיכתה לנגן השמע התקני של הפצת לינוקס קובונטו[13] באוקטובר 2017 על חשבון נגן השמע Amarok.[14]
- Gimmix מספק ממשק פשוט עם טביעת רגל זיכרון קטנה מאוד.[15]
- gmpc הוא לקוח ה-gtk+-2 הוותיק ביותר (gtk+-3 גרסת הפיתוח), והוא מספק דרכים רבות ושונות לתחקר את אוסף מוזיקה ונתוני מטא עשירים כמו מילות-שיר, תמונות-עטיפה, מידע אודות אמן/אלבום, אמן/אלבום/רקע, אמנים דומים ועוד. הלקוח מתימר להיות עשיר בתכונות, עם זאת קל משקל במידה מספקת שיפעל כל הזמן בתצורת חומרה ירודה.[16]
- לקוח נגן מוזיקה חכם (IMPC) מבוסס ב-GTK+ 3.0 ותומך באחזור מידע קשור (מאמרים, תמונות-עטיפה, תמונות) בזמן השמעת שיר ותוך כדי כך לומד לסווג תוכן קשור.
- mpdlirc מתממשק ל-MPD באמצעות שלט רחוק אינפרא אדום.[17]
- Qmobilempd מספק לקוח מבוסס Qt4 מתאים במיוחד למכשירים ניידים כמו Symbian.[18]
- Qmpdplasmoid מספק לקוח המוטמע ישירות בשולחן העבודה KDE.[19]
- Sonata משתמשת ב-+GTK כדי לספק ממשק משתמש להשמעת קבצים וניהול רשימות השמעה.[20]
עוד
לקבלת רשימה מלאה יותר, עיינו באתר MPD ב- musicpd.org[21] או בויקי של לקוחות MPD ב- Fandom[22].
לקוחות פשוטים יכולים לתסרט את תוכנת mpc ולשיגור פקודות לשרת. לקוחות מסוימים מספקים ממשק משתמש HTML או AJAX ויכולים להיות ממוקמים על אותו מחשב עליו ממוקם השרת, הם דורשים התקנת דפדפן בלבד במחשב הלקוח. קיים גם לקוח המיושם כתוסף פיירפוקס,[23] אחר כמתקע חלונית Xfce,[24] אחד כיישום Wii,[25] ואחד נוסף כיישום מיקרוסופט סטור עבור ווינדוס 8/ווינדוס RT.
קיימות חבילות ספריה שמאפשרות ממשוק MPD למשפות תכנות רבות, לרבותC ,Python, Ruby, Perl, Lua ו-Haskell.[26] libmpdee היא ספריית Emacs Lisp המאפשרת לשלוט ב-MPD מ-Emacs.[27]
קישורים חיצוניים
הערות שוליים
- ^ https://www.musicpd.org/news/2013/10/mpd-0-dot-18-released/
- ^ Commercial Products running MPD, www.musicpd.org, 2018-02-13, נבדק ב-2018-02-15
- ^ Tag editing patches, nomius.blogspot.com, 2008-01-02, נבדק ב-2013-03-18
- ^ Protocol Reference – Music Player Daemon Community Wiki
- ^ Client:Mpc – Music Player Daemon Community Wiki, mpd.wikia.com, 2013-02-28, נבדק ב-2013-03-18
- ^ Client (2008-11-28), Client:Ncmpc – Music Player Daemon Community Wiki, mpd.wikia.com, נבדק ב-2013-03-18
- ^ ncmpcpp MPD client, ncmpcpp.rybczak.net, נבדק ב-2013-03-18
- ^ Practical Music Search
- ^ fzf mpd user interface
- ^ netjukebox – the flexible media share
- ^ Ario, Ario-player.sourceforge.net, נבדק ב-2013-03-18
- ^ Cantata – Qt5 Graphical MPD Client for Linux, Windows, macOS, Haiku, github.com, נבדק ב-2018-03-14
- ^ kubuntu
- ^ Amarok | Rediscover Your Music!, amarok.kde.org
- ^ Gimmix, אורכב מ-המקור ב-2017-01-02, נבדק ב-2015-09-29
- ^ Gnome Music Player Client, gmpclient.org, נבדק ב-2013-11-13
- ^ Client:MpdLIRC – Music Player Daemon Community Wiki, mpd.wikia.com, אורכב מ-המקור ב-2013-05-13, נבדק ב-2013-03-18
- ^ qmobilempd – MPD (musicpd) client, code.google.com, נבדק ב-2013-03-18
- ^ mpdqml plasmoid, kde-look.org, נבדק ב-2013-03-18
- ^ Sonata Music Client for MPD, אורכב מ-המקור ב-2017-01-02, נבדק ב-2015-09-29
- ^ MPD Clients, musicpd.org, 2017-10-13, נבדק ב-2017-10-13
- ^ Clients, Music Player Daemon Wiki (באנגלית)
- ^ Music Player Minion, mpd.wikia.com, 2010-02-27, אורכב מ-המקור ב-2013-05-13, נבדק ב-2013-03-18
- ^ xfce4-mpc-plugin, goodies.xfce.org, 2012-06-30, נבדק ב-2013-03-18
- ^ WiiMPC, WiiBrew.org, 2009-08-10, נבדק ב-2013-03-18
- ^ MPD Client Libraries, mpd.wikia.com, 2013-03-05, נבדק ב-2013-03-18
- ^ "An Emacs lisp client library for mpd".
30709429Music Player Daemon