משתמש:Avma55/M3U

מתוך ויקיפדיה, האנציקלופדיה החופשית
M3U
סיומת קובץ m3u
סוג מדיה באינטרנט M3U
תאריך השקה c. 1996
תבנית {{סוג קובץ}} ריקה מתוכן. יש להזין פרמטרים בערך או בוויקינתונים.
תבנית {{סוג קובץ}} ריקה מתוכן. יש להזין פרמטרים בערך או בוויקינתונים.
תבנית {{סוג קובץ}} ריקה מתוכן. יש להזין פרמטרים בערך או בוויקינתונים.

M3U ( כתובת פורטן MP3 [1] [2], ובשמה המלאMoving Picture Experts Group Audio Layer 3 Uniform Resource Locator [3]) היא תבנית קובץ מחשב לרשימות השמעת מולטימדיה. אחד השימושים הנפוצים ביותר בתבנית קובץ M3U הוא יצירת קובץ רשימת השמעה עם ערך בודד המפנה להזרמת מדיה במרשתת. הקובץ שנוצר מאפשר גישה נוחה להזרמה ומשמש גם (לעתים קרובות) להורדות קבצים מאתר המרשתת אליו הוא מפנה, כמו גם שליחת צרופת דוא"ל ולהאזנה לתחנות רדיו במרשתת מקוונות.

התכנון והיעוד המקוריים לתבנית הייתה להשמעת קבצי שמע, כגון MP3, כלומר להפניית נגני מדיה לקובצי המקור של השמע או הווידאו, בכלל זה למקורות רשת ומרשתת מקוונים. במילים אחרות, במקום לשכפל את קובצי המדיה מספר רב של פעמים, די לשמור מקור אחד ולהפנות אליו בקישור את הנגנים ממרחב הרשת או המרשתת. הפתוח המקורי של תבנית MU3 התבצע על ידי חברת Fraunhofer שתכננה למעשה לספק קישוריות לתכנת Winplay3[4] אותה פתחה והיתה למעשה נגן השמע זמן-אמת הראשון למחשבים אישיים, אך עד מהרה אמצו נגני מדיה ויישומי תכנה נוספים את התבנית. כיום רוב הנגנים משתמשים או תומכים בתבנית זו להזרמת שמע ותוכן חזותי.

רשימות השמעה עלולים להוות סיכון אבטחה רציני ביותר, לכן טיפול רשלני בקוד או קבצים המבוססים או משתמשים תבנית M3U היה (ועדיין מהווה) גורם משמעותי לפגיעות באבטחת נגני שמע רבים וביניהם נגן מדיה VLC, [5]iTunes, [6]Winamp[7], ורבים אחרים[8].

תבנית קובץ[עריכת קוד מקור | עריכה]

לתבנית M3U מעולם לא נכתב מפרט רשמי, למרות זאת היא הפכה והתקבעה כתקן דה פקטו.

קובץ M3U הוא קובץ מלל רגיל ובו ציון מיקום קובץ מדיה אחד או יותר במרחב הדיגיטלי. סיומת שם הקובץ תהיה לרוב "m3u" במידה וקידוד ברירת המחדל של המערכת המקומית אינו יוניקוד (למשל קוד דף וינדוס), או עם הסיומת "m3u8" אם המלל מקודד UTF-8[9].

כל רשומה בקובץ (m3u או m3u8) נושאת מפרט אחד בלבד. המפרט יכול להיות אחד מאלו:

  • שם נתיב מקומי מוחלט; למשל, C:\My Music\Heavysets.mp3 (קובץ רשימת ההשמעה ממוקם במקום כלשהו במחשב)
  • שם נתיב מקומי ביחס למיקום הקובץ M3U; לְמָשָׁל Heavysets.mp3 (קובץ רשימת ההשמעה ממוקם באותה סיפריה בה ממוקם קובץ השמע)
  • מען URL (קובץ רשימת ההשמעה ממוקם במחשב וקובץ המדיה ממוקם במרחב הרשת או המרשתת)

M3U מורחב[עריכת קוד מקור | עריכה]

ניתן לכלול בקובץ גם הערות, לשם כך יש להשתמש בתו קידומת "#" לפני הזנת ההערה. ב- M3U מורחב, התו "#" מאפשר גם הנהגת הוראות M3U מורחבות אותן יש לסיים, בסוף ההערה, בנקודתיים ":" זאת, ככל שהן תומכות במשתנים.

הרחבות M3U
הוראה תאור דוגמה נדרש תקן
#EXTM3U כותרת הקובץ, חייבת להיות השורה הראשונה בקובץ #EXTM3U כן
#EXTINF: מידע רצועה: זמן ריצה בשניות והצגת כותרת המשאב הבא #EXTINF:123,Artist Name – Track Title␤artist - title.mp3 לא כן
מאפיינים נוספים כצמדי ערכי מפתח #EXTINF:123 logo="cover.jpg",Track Title לא IPTV
#PLAYLIST: כותרת מצג רשימת השמעה #PLAYLIST:Music TV IPTV
#EXTGRP: התחלת קיבוץ שמות #EXTGRP:Foreign Channels לא IPTV
#EXTALB: מידע אלבום, בעיקר כותרת #EXTALB:Album Title (2009) AL,[10] M3A[11]
#EXTART: אמן אלבום #EXTART:Various AL,[10] M3A[11]
#EXTGENRE: סוגת אלבום #EXTGENRE:Jazz Fusion AL[10]
#EXTM3A רשימת השמעה עבור רצועות או פרקי אלבום בקובץ יחיד #EXTM3A M3A[11]
#EXTBYT: גודל קובץ בביטים #EXTBYT:34124 לא M3A[11]
#EXTBIN: נתונים בינאריים עוקבים, בדרך כלל קבצי MP3 משורשרים #EXTBIN: לא M3A[11]
#EXTENC: קידוד מלל, חייב להיות השורה השנייה בקובץ #EXTENC: UTF-8 לא
#EXTIMG: תמונת עטיפה, סמל או תמונות אחרות #EXTIMG: front cover␤cover.jpg לא לא

חברת אפל השתמשה בתבנית M3U מורחב כבסיס ל-HTTP Live Streaming (HLS)[12] שלה. כפי שתועדה ב- RFC Streaming Streaming Independent ב- 2017 כ- RFC 8216[13]. שם, רשימת השמעה ראשית מתייחסת למקטעי רשימות השמעה המכילים בדרך כלל מען URL לחלקים הקצרים של הזרמת המדיה. כל התגים הללו התחילו ב- #EXT-X-.

תוספי HLS M3U
הוֹרָאָה דוגמה תיאור
#EXT-X-START: TIME-OFFSET=0
#EXT-X-INDEPENDENT-SEGMENTS חילוף ללא משתנים
#EXT-X-PLAYLIST-TYPE: VOD או EVENT
#EXT-X-TARGETDURATION: 10 בשניות
#EXT-X-VERSION: 4
#EXT-X-MEDIA-SEQUENCE: 0
#EXT-X-INDEPENDENT-SEGMENTS חילוף ללא משתנים
#EXT-X-MEDIA: NAME="English", TYPE=AUDIO, GROUP-ID="audio-stereo-64", LANGUAGE="en", DEFAULT=YES, AUTOSELECT=YES, URI="english.m3u8"
#EXT-X-STREAM-INF: BANDWIDTH=1123000, CODECS="avc1.64001f,mp4a.40.2 למשתנים יש ערך משולב אחד או אחד לכל זרם, המופרד בפסיקים
#EXT-X-BYTERANGE: 1024@256000
#EXT-X-DISCONTINUITY חילוף ללא משתנים
#EXT-X-DISCONTINUITY-SEQUENCE: 2
#EXT-X-KEY: METHOD=NONE
#EXT-X-MAP: URI=MediaInitializationSection
#EXT-X-PROGRAM-DATE-TIME: 2010-02-19T14:54:23.031+08:00 תבנית ISO 8601
#EXT-X-DATERANGE: ID=foo
#EXT-XI-FRAMES-ONLY חילוף i-frame ללא משתנים
#EXT-X-SESSION-DATA: DATA-ID=com.example.movie.title
#EXT-X-SESSION-KEY:
#EXT-X-ENDLIST אות סוף רשימה ללא משתנים

M3U8[עריכת קוד מקור | עריכה]

גרסת היוניקוד של M3U נקראת M3U8, בה התווים מקודדים UTF-8. הם יעילים במיוחד כאשר שמות קובצי השמע שונים מאנגלית. קבצי M3U8 הם הבסיס לתבנית HTTP Live Streaming (HLS) שפותחה במקור על ידי אפל כדי להזרים וידאו ורדיו למכשירי iOS, כיום היא למעשה תבנית פופולרית להזרמה סתגלנית באופן כללי.

בשנת 2015 ההצעה לשימוש בתבנית רשימת להשמעת HLS הייתה לעשות שימוש בקידוד UTF-8 באופן בלעדי ללא הבחנה בין סיומות שמות הקבצים "m3u" ו- "m3u8"[14].

סוגי מדיה במרשתת[עריכת קוד מקור | עריכה]

בשנת 2009 למעשה נרשם סוג מדית המרשתת היחיד עבור M3U8 ו-M3U והוא application/vnd.apple.mpegurl, סוג זה מתייחס רק לתבנית רשימת ההשמעה כפי שהיא משמשת ביישומי HLS[15][16].

כיום, ההצעה לשימוש בתבנית רשימת השמעה HLS מכירה בשני סוגי מדיה ומתייחסת האליהם כשווי ערך: application/vnd.apple.mpegurl ו- audio/mpegurl[14]. מיקרוסופט[17] גם כן, ממליצה להשתמש בשני הסוגים הללו עבור HLS.

לא תוארו או נרשמו סוגי מדיה ב- IANA, עבור יישומים שאינם HLS, אך יחד עם זאת קיימם מספר סוגי מדיה הקשורים לשימוש ההיסטורי בתבניות M3U ו- M3U8 וכן לשימוש המתמשך ואף מתפתח ברשימת השמעה כללית, הכוללים:

  • application/mpegurl
  • application/x-mpegurl
  • audio/mpegurl
  • audio/x-mpegurl[1][2]

סוגים אלה, בנוסף ל- application/vnd.apple.mpegurl ו- application/vnd.apple.mpegurl.audio, נתמכים גם ביישומי HLS על ידי (למשל) וינדוס 10[17] של מיקרוסופט, Internet Explorer 9[18], ו- WebOS של LG[19].

דוגמאות[עריכת קוד מקור | עריכה]

דוגמה 1

דוגמה לקובץ M3U מורחב בסביבת וינדוס. Sample.mp3 ו- Example.ogg הם קבצי המדיה. 123 ו- 321 הם האורכים בשניות[20]. אורך יכול לקבל ערך של 1- או 0 כאשר קובץ המדיה הוא קובץ הזרמה, מכיוון שאין ערך אורך מוגדר מראש. הערך הבא, אחרי האורך, יהיה הכותרת שתוצג, בדרך כלל מיקום הקובץ ויופיע בשורה השנייה. בסביבת Mac OS X ו- Linux יעשה שימוש בנתיבי יוניקס.

# EXTM3U
#EXTINF: 123, אמן לדוגמה - כותרת לדוגמה
C:\Documents and Settings\I\My Music\Sample.mp3
 
#EXTINF: 321, אומן לדוגמה - כותרת לדוגמה
C:\Documents and Settings\I\My Music\Greatest Hits\Example.ogg
דוגמה 2

דוגמה זו ממחישה את אופן יצירת קובץ m3u המקשר לספרייה מסוימת (למשל כונן הבזק או תקליטור). קובץ ה- m3u צריך להכיל מחרוזת אחת בלבד: הנתיב לספריה. לאחר ההפעלה, נגן המדיה ינגן את כל תוכן הספריה שבהפניה:

C:\Music


דוגמה 3

דוגמה נוספת, הפעם נעשה שימוש בתבנית יחסית. קובץ M3U ממוקם באותה ספרייה בה ממוקמים קובצי המוזיקה. בעת העברת רשימות ההשמעה למכשיר אחר, יש לשמר את נתיב הספריות, במידה ומשתמשים בספריות משנה. שיטה זו גמישה יותר מאחר שהיא אינה מניחה שנתיב הקובץ לא ישתנה.

הקובץ זהה לקובץ בדוגמה הקודמת שלעיל והוא נשמר כקובץ sample.m3u בנתיב C:\Documents and Settings\User\My Music

# EXTM3U

#EXTINF: 123, אמן לדוגמה - כותרת לדוגמה
Sample.mp3
 
#EXTINF: 321, אומן לדוגמה - כותרת לדוגמה
הלהיטים הגדולים ביותר\Example.ogg

תבנית M3U זו מאפשרת העתקת רשימת ההשמעה למכשיר אחר לצורך השמעה. כמובן שיש להעתיק גם את כל קבצי השמע, הספריות וספריות המשנה האילהם מפנה קובץ רשימת ההשמעה.

דוגמה 4

זוהי דוגמה מעורבת בה מופעים מעני מרשתת, נתיבים מוחלטים ויחסיים:

אלטרנטיבה\אמן\שיר.mp3
להקה קלאסית\אמן\שיר חדש.mp3
דברים.mp3
D:\מוזיקה אחרת\פו.mp3
..\מוזיקה אחרת\סרגל.mp3
http://www.example.com:8000/האזינו.mp3
http://www.example.com/~user/שלי.mp3

הערות:

  • 'אלטרנטיבה' ו'קלאסית' הן ספריות משנה של הספריה בה רשימת השמעה זו מאוחסנת.
  • 'שיר' ו'שיר חדש' ממוקמים בספריות המשנה של הספריה בה רשימת השמעה זו מאוחסנת.
  • 'דברים' נמצא באותה ספריה בה רשימת ההשמעה מאוחסנת.
  • 'פו' נמצא בכרך ובספרייה שצוינו (וינדוס), אשר עשויים להיות באותה הספרייה בה נמצאת רשימת ההשמעה אך לא בהכרח.
  • 'סרגל' נמצא בספריה אחרת באותה רמה כמו ספריית רשימת ההשמעה. הנקודות הכפולות מתייחסות לספריית האב של ספריית רשימת ההשמעה, ולספריית המשנה 'מוזיקה אחרת' על מנת להפנות ל'סרגל'.
  • 'האזינו' הוא זרם SHOUTcast.
  • 'שלי' הוא קובץ MP3 המאוחסן בשרת מרשתת.
דוגמה 5

הפניות לרשימות השמעת M3U אחרות (שרשור רשימות השמעה), לא נתמכות, בדרך כלל, בצורה מיטבית.

AnotherPlayList.m3u
דוגמה 6

להלן דוגמה לקובץ רשימת השמעה M3U לאלבום "Jar of Flies " והאמן "Alice in Chains" שנוצר על ידי תכנת עורך התגים Mp3tag עם הגדרות האפשרויות המותאמות אישית הבאות[21][22][23]:

  • תבנית מידע מורחב לרשימת השמעה = "%artist% - %title%"
  • תבנית שם הקובץ של רשימת השמעה = "%artist%_%album%_00_Playlist.m3u"
  • תג לתבנית המרת שם קובץ = "%artist%_%album%_$num(%track%,2)_%title%"
 #EXTM3U
 #EXTINF:419,Alice in Chains - Rotten Apple
 Alice in Chains_Jar of Flies_01_Rotten Apple.mp3
 #EXTINF:260,Alice in Chains - Nutshell
 Alice in Chains_Jar of Flies_02_Nutshell.mp3
 #EXTINF:255,Alice in Chains - I Stay Away
 Alice in Chains_Jar of Flies_03_I Stay Away.mp3
 #EXTINF:256,Alice in Chains - No Excuses
 Alice in Chains_Jar of Flies_04_No Excuses.mp3
 #EXTINF:157,Alice in Chains - Whale And Wasp
 Alice in Chains_Jar of Flies_05_Whale And Wasp.mp3
 #EXTINF:263,Alice in Chains - Don't Follow
 Alice in Chains_Jar of Flies_06_Don't Follow.mp3
 #EXTINF:245,Alice in Chains - Swing On This
 Alice in Chains_Jar of Flies_07_Swing On This.mp3

תכנָה וישומים המשתמשים בתבנית[עריכת קוד מקור | עריכה]

עורכי תגים[עריכת קוד מקור | עריכה]

תוכנת עורך התגים הבאה מאפשרת למשתמשים לערוך את תגי ID3 בקבצי MP3, ויש לה תמיכה ביצירת קבצי M3U.

לינוקס
  • EasyTAG, שלולית.
חלונות
  • Mp3Tag, puddletag.

נגני מדיה[עריכת קוד מקור | עריכה]

תומכים בריבוי-מסדות
מכשירים ניידים
מבוססי אנדרויד
נינטנדו
  • Nintendo 3DS חדש (כולל גרסאות XL ו- 2DS XL ) עם אפליקציית דפדפן האינטרנט
  • מתג Nintendo עם אפליקציית YouTube ( ספציפית לאתר)
  • Wii U באמצעות דפדפן האינטרנט או אפליקציית YouTube
וינדוס

ראו גם[עריכת קוד מקור | עריכה]

  • רשימת עורכי תגים
תבניות קבצי רשימת השמעה אחרות
  • ASX - מדיה של חלונות
  • PLS - SHOUTcast
  • XSPF - Xiph. קרן Xiph.Org
  • WPL - נגן המדיה וינדוס

קישורים חיצוניים[עריכת קוד מקור | עריכה]

  • "Unofficial M3U and PLS file specification". Forum. Tech Support Greatest Hits. WinAmp. 2008 [2001].
  • Gonze, Lucas (2003). "Survey of playlist formats". Draft.
  • May, W. (2017). Pantos, R. (ed.). "HTTP Live Streaming specification". Draft. IETF. Includes M3U and M3U8

הפניות[עריכת קוד מקור | עריכה]

  1. ^ 1 2 Fraunhofer Gesellschaft, Fraunhofer Institut für Integrierte Schaltungen-A (1996-10-30). "WinPlay3 - Windows real-time ISO/MPEG Audio Layer 3 Player". אורכב מ-המקור ב-1997-06-06. נבדק ב-2018-01-21.
  2. ^ 1 2 Gruett, Matt. "M3U FILES AND STREAMING". LockerGnome. אורכב מ-המקור ב-2001-04-26.
  3. ^ Nero. "Nero MediaHome 4 - Manual" (PDF). אורכב מ-המקור (PDF) ב-2015-09-05.
  4. ^ "WINAMP.COM | Winamp Documentation". 6 ביוני 2002. אורכב מ-המקור ב-2002-06-06. {{cite web}}: (עזרה)
  5. ^ "VideoLAN-SA-0804 (CVE-2007-6683)". 2008. Arbitrary file overwrite and other abuses through M3U parser and browsers plugins.
  6. ^ "CVE-2012-0677: Heap-based buffer overflow in Apple iTunes before 10.6.3 allows remote attackers to execute arbitrary commands". cve.circl.lu.
  7. ^ "CVE-2000-0624: Buffer overflow in Winamp 2.64 and earlier allows remote attackers to execute arbitrary commands via a long #EXTINF: ext". www.cvedetails.com.
  8. ^ "247 search results". Packet Storm. נבדק ב-2018-01-23.
  9. ^ "Nero 2015 Platinum - System Requirements". MP3 URL + UTF-8 (M3U8)
  10. ^ 1 2 3 "Album List for Winamp". albumlist.sourceforge.net.
  11. ^ 1 2 3 4 5 "Data". birdcagesoft. נבדק ב-2019-10-21.
  12. ^ "About the Common Media Application Format with HTTP Live Streaming | Apple Developer Documentation". developer.apple.com.
  13. ^ R. Pantos; W. May (באוגוסט 2007). "4.3 Playlist Tags". RFC-8216: HTTP Live Streaming. Request for Comments (RFC) Pages - Test. RFC Editor. ISSN 2070-1721. {{cite book}}: (עזרה)
  14. ^ 1 2 Pantos, Roger; May, William. "HTTP Live Streaming". tools.ietf.org.
  15. ^ "Media Types". www.iana.org.
  16. ^ "Data". iana. נבדק ב-2019-10-21.
  17. ^ 1 2 "Simplified Adaptive Video Streaming: Announcing support for HLS and DASH in Windows 10 – IEBlog". blogs.msdn.microsoft.com.
  18. ^ "HTMLVideoElement". MDN Web Docs.
  19. ^ "Archived copy". אורכב מ-המקור ב-2015-12-22. נבדק ב-2015-12-12. {{cite web}}: (עזרה)
  20. ^ "DigiLinX Application Note - Creating Playlists to Work with the Streaming Music Manager" (PDF). 2007-10-05.
  21. ^ "Mp3tag Help - Configuration > Export". help.mp3tag.de.
  22. ^ "Mp3tag Help - Configuration > Playlist". help.mp3tag.de.
  23. ^ "Mp3tag Help - Scripting functions". help.mp3tag.de.
  24. ^ "Loading..." astroplayer.com. אורכב מ-המקור ב-1 בדצמבר 2009. {{cite web}}: (עזרה)
  25. ^ "Astro Player (old) - Sidenis LLC". אורכב מ-המקור ב-3 במרץ 2016. {{cite web}}: (עזרה)
  26. ^ "Astro Player - Sidenis LLC". אורכב מ-המקור ב-3 במרץ 2016. {{cite web}}: (עזרה)
  27. ^ "n7player Music Player - Apps on Google Play". play.google.com.
  28. ^ "n7player 1.0 - Apps on Google Play". play.google.com.
  29. ^ "Musicolet Music Player [No ads] - Apps on Google Play". play.google.com (באנגלית). נבדק ב-2020-11-02.
  30. ^ Hindley, Nathan. "XMPlay 3.8.2". XMPlay. Un4seen Developments. נבדק ב-11 ביולי 2016. {{cite web}}: (עזרה)