อ่าน 5 นาที
เอ็ม3ยู
M3U ( MP3 URL ) เป็นรูปแบบไฟล์คอมพิวเตอร์สำหรับเพลย์ลิสต์ มัลติมีเดีย การใช้งานทั่วไปอย่างหนึ่งของรูปแบบไฟล์ M3U คือการสร้างไฟล์เพลย์ลิสต์รายการเดียวที่ชี้ไปยังสตรีมบนอินเทอร์เน็ต
เอ็ม3ยู
| เอ็ม3ยู | |
|---|---|
| นามสกุลไฟล์ | .m3u, .m3u8 |
| สื่อประเภทอินเทอร์เน็ต | หลากหลาย; |
| การเผยแพร่ครั้งแรก | ประมาณ ปี 1996 |
| ประเภทของรูปแบบ | เพลย์ลิสต์ |
| ขยายไปยัง | เพลย์ลิสต์HLS |
M3U ( MP3 URL [ 1 ] [ 2 ] ) เป็นรูปแบบไฟล์คอมพิวเตอร์สำหรับเพลย์ลิสต์ มัลติมีเดีย การใช้งานทั่วไปอย่างหนึ่งของรูปแบบไฟล์ M3U คือการสร้างไฟล์เพลย์ลิสต์รายการเดียวที่ชี้ไปยังสตรีมบนอินเทอร์เน็ต ไฟล์ที่สร้างขึ้นนี้ช่วยให้เข้าถึงสตรีมนั้นได้ง่าย และมักใช้ในการดาวน์โหลดจากเว็บไซต์ การส่งอีเมล และการฟังวิทยุออนไลน์
แม้ว่าเดิมทีจะออกแบบมาสำหรับไฟล์เสียง เช่นMP3แต่โดยทั่วไปจะใช้เพื่อชี้ไปยังแหล่งเสียงและวิดีโอของโปรแกรมเล่นมีเดีย รวมถึงแหล่งออนไลน์ด้วย M3U เดิมทีได้รับการพัฒนาโดยFraunhoferเพื่อใช้กับซอฟต์แวร์WinPlay3 ของพวกเขา [ 1 ] [ 3 ]แต่ปัจจุบันโปรแกรมเล่นมีเดียและแอปพลิเคชันซอฟต์แวร์จำนวนมากรองรับรูปแบบนี้แล้ว
การจัดการเพลย์ลิ สต์ M3U อย่างไม่ระมัดระวังเป็นสาเหตุของช่องโหว่ ใน โปรแกรมเล่นเพลงหลายตัว เช่นVLC media player [ 4 ] iTunes [ 5 ] Winamp [ 6 ]และอื่นๆ อีกมากมาย[ 7 ]
รูปแบบไฟล์
ไม่มีข้อกำหนดอย่างเป็นทางการสำหรับรูปแบบ M3U; มันเป็นมาตรฐาน โดยพฤตินัย
ไฟล์ M3U เป็น ไฟล์ ข้อความธรรมดาที่ระบุตำแหน่งของไฟล์มีเดียตั้งแต่หนึ่งไฟล์ขึ้นไป ไฟล์จะถูกบันทึกด้วยm3uนามสกุลไฟล์ .m3Uหากข้อความถูกเข้ารหัสด้วยการเข้ารหัสที่ไม่ใช่ Unicode ตามค่าเริ่มต้นของระบบท้องถิ่น (เช่นรหัสหน้าของ Windows ) หรือด้วยm3u8นามสกุล .m3U หากข้อความถูกเข้ารหัสแบบUTF-8 [ 8 ] เดิมทีนามสกุล นี้mp3urlได้รับการสนับสนุนโดย Winplay3 แต่เลิกใช้ไปแล้ว[ 1 ]
แต่ละรายการจะมีข้อกำหนดเฉพาะหนึ่งข้อ ข้อกำหนดเฉพาะนั้นอาจเป็นข้อใดข้อหนึ่งต่อไปนี้:
- เส้นทางไฟล์แบบสัมบูรณ์เช่นC :\My Music\Heavysets.mp3
- เส้นทางไฟล์ในเครื่องที่สัมพันธ์กับตำแหน่งไฟล์ M3U เช่นHeavysets.mp3
- URL
แต่ละรายการจะจบด้วยการขึ้นบรรทัดใหม่ซึ่งจะแยกออกจากรายการถัดไป นอกจากนี้ อุปกรณ์บางชนิดยอมรับการขึ้นบรรทัดใหม่ที่แสดงด้วยเครื่องหมายจุลภาค (,) เท่านั้นCR LFแต่ไม่รู้จักเครื่องหมายจุลภาคเดี่ยว ( LF.)
M3U ขยาย
ไฟล์ M3U ยังสามารถมีข้อคิดเห็น ซึ่งขึ้นต้นด้วย#อักขระ นอกจากนี้ ใน รูป แบบM3U ที่ขยายเพิ่มเติม#ยังมีการแนะนำคำสั่ง M3U ที่ขยายเพิ่มเติม ซึ่งจะลงท้ายด้วยเครื่องหมายโคลอน:หากคำสั่งนั้นรองรับพารามิเตอร์
| คำสั่ง | คำอธิบาย | ตัวอย่าง | ที่จำเป็น | มาตรฐาน |
|---|---|---|---|---|
#EXTM3U | ส่วนหัวของไฟล์ ต้องเป็นบรรทัดแรกของไฟล์ | #EXTM3U | 1× | ใช่ |
#EXTINF: | ข้อมูลการติดตาม: ระยะเวลาเล่นเป็นวินาที จากนั้นแสดงชื่อทรัพยากรถัดไป (ไม่บังคับ) สำหรับระยะเวลาเล่น สามารถใช้ค่า -1 หรือ 0 ได้เมื่อสื่อเป็นไฟล์สตรีมมิ่งที่ไม่มีการกำหนดความยาวไว้ล่วงหน้า | #EXTINF:123,Artist Name – Track Titleartist - title.mp3 | เลขที่ | ใช่ |
| คุณสมบัติเพิ่มเติมในรูปแบบคู่คีย์-ค่า | #EXTINF:123 logo="cover.jpg",Stream Titlehttp://example.org/live.strm | เลขที่ | ไอพีทีวี | |
#PLAYLIST: | ชื่อรายการเล่นที่แสดง | #PLAYLIST:Music TV | 1× | ไอพีทีวี |
#EXTGRP: | เริ่มการจัดกลุ่มตามชื่อ | #EXTGRP:Foreign Channels | เลขที่ | ไอพีทีวี |
#EXTALB: | ข้อมูลอัลบั้ม โดยเฉพาะชื่ออัลบั้ม | #EXTALB:Album Title (2009) | 1× | AL, [ 9 ] M3A [ 10 ] |
#EXTART: | ศิลปินอัลบั้ม | #EXTART:Various | 1× | AL, [ 9 ] M3A [ 10 ] |
#EXTGENRE: | ประเภทอัลบั้ม | #EXTGENRE:Jazz Fusion | 1× | AL [ 9 ] |
#EXTM3A | เพลย์ลิสต์สำหรับแทร็กหรือบทต่างๆ ของอัลบั้มในไฟล์เดียว | #EXTM3A | 1× | M3A [ 10 ] |
#EXTBYT: | ขนาดไฟล์เป็นไบต์ | #EXTBYT:34124 | เลขที่ | M3A [ 10 ] |
#EXTBIN: | ข้อมูลไบนารีจะตามมา โดยปกติจะเป็นไฟล์ MP3 ที่ต่อกัน | #EXTBIN: | เลขที่ | M3A [ 10 ] |
#EXTALBUMARTURL: | URL ของภาพปกอัลบั้ม | #EXTALBUMARTURL:https://example.com/a1b2c3d4.jpg | เลขที่ | Jamendo/ VLC [ 11 ] |
#EXTVLCOPT: | ตั้งค่าตัวเลือก VLC ; รูปแบบการเขียนคือ ` set VLC option;`option-name=value | #EXTVLCOPT:start-time=32.5 | เลขที่ | VLC [ 12 ] |
เอ็ม3ยู8
การใช้ การเข้ารหัส UTF-8เป็นข้อบังคับในเพลย์ลิสต์ M3U ที่มีนามสกุลไฟล์M3U8โดยปกติแล้ว ระบบจะถือว่าใช้โค้ดเพจของระบบ.m3u อยู่แล้ว แต่ปัจจุบันโค้ดเพจของระบบก็มักจะเป็น UTF-8 เช่นกัน ดังนั้นความแตกต่างระหว่างสองอย่างนี้จึงแทบไม่มีให้เห็นในทางปฏิบัติ
เอชแอลเอส
Appleใช้รูปแบบ M3U แบบขยายที่เข้ารหัส UTF-8 เป็นพื้นฐานสำหรับHTTP Live Streaming (HLS) [ 13 ]ซึ่งได้รับการบันทึกไว้ใน RFC ของ Independent Submission Stream ในปี 2017 ในชื่อRFC 8216 [ 14 ] ในนั้นเพลย์ลิสต์หลักจะอ้างอิงถึงเพลย์ลิสต์ย่อย ซึ่งโดยปกติจะมี URL สำหรับส่วนสั้นๆ ของสตรีมสื่อ แท็กบางแท็กใช้ได้กับเพลย์ลิสต์ประเภทแรกเท่านั้น และบางแท็กใช้ได้กับเพลย์ลิสต์ประเภทหลังเท่านั้น แต่ทั้งหมดเริ่มต้นด้วย#EXT-X-.
| คำสั่ง | ตัวอย่าง | คำอธิบาย |
|---|---|---|
#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-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-GAP | สลับโดยไม่มีพารามิเตอร์ | ส่วนนี้ทำหน้าที่เป็น "ตัวคั่น" ก่อนช่วงเวลาใหม่ |
#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-X-I-FRAMES-ONLY | สลับการแสดงผล i-frameโดยไม่มีพารามิเตอร์ | |
#EXT-X-SESSION-DATA: | DATA-ID=com.example.movie.title | |
#EXT-X-SESSION-KEY: | | |
#EXT-X-ENDLIST | สัญญาณสิ้นสุดรายการโดยไม่มีพารามิเตอร์ | |
ไอพีทีวี
ในการออกอากาศโทรทัศน์ผ่านโปรโตคอลอินเทอร์เน็ต ( IPTV ) เพลย์ลิสต์ M3U มักใช้ในการจัดเก็บ URL (เริ่มต้น) ของสตรีม ดังนั้นแต่ละรายการจึงแสดงถึงช่องหนึ่งช่อง ตามปกติสำหรับสตรีมต่อเนื่อง ข้อมูลความยาวที่อยู่ถัดไป#EXTINF:จะถูกตั้งค่าเป็น-1. แตกต่างจาก HLS ตรงที่ข้อมูลโครงสร้างอื่นๆ จะไม่ถูกระบุในบรรทัดข้อมูลแยกต่างหาก แต่จะใช้ไวยากรณ์แบบคู่คีย์-ค่าก่อนเครื่องหมายจุลภาคที่ตามหลังความยาว
#EXTINF:-1 tvg-id="123" tvg-name="ชื่อช่อง" tvg-logo="http://example.com/logo.png" group-title="ตัวอย่าง", ชื่อช่อง rtsp://example.com/stream | คุณลักษณะ | ตัวอย่าง | คำอธิบาย |
|---|---|---|
| กลุ่ม | group-title="News" | กลุ่มช่อง (ตามหัวข้อ) ที่กำหนดชื่อไว้ เช่น ประเภทช่อง |
tvg-group="Music/Rock" | กลุ่มช่องสัญญาณที่ตั้งชื่อไว้ ผู้เล่นบางรายสนับสนุนตัวคั่นแบบลำดับชั้นภายในค่า | |
| โลโก้ | tvg-logo="/logos/channel.png" | URL ของไฟล์ภาพโลโก้ช่อง |
| ชื่อ | tvg-name="Channel TV" | โดยปกติจะเป็นชื่อเดียวกันที่ซ้ำกันหลังเครื่องหมายจุลภาค แต่สามารถแตกต่างกันได้เพื่อให้ตรงdisplay-nameกับรูปแบบ XMLTV |
| ตัวเลข | tvg-chno="12" | หมายเลขช่อง |
| CUID | tvg-id="1234" | ตัวระบุเฉพาะที่ใช้เชื่อมโยง ข้อมูล EPG (เช่น ใช้channel-idในXMLTV ) |
| ประเทศ | tvg-country="NZ" | ประเทศต้นทางของช่องทาง อาจใช้รหัส ISO 3166 |
| ภาษา | tvg-language="English" | ภาษาเสียงหลักของช่อง อาจใช้รหัส ISO 639 |
| วิทยุ | radio=true | ค่าบูลีนเพื่อระบุช่องสัญญาณเสียงเท่านั้น |
ประเภทของสื่ออินเทอร์เน็ต
ประเภทสื่ออินเทอร์เน็ตเพียงประเภทเดียวที่จดทะเบียนสำหรับ M3U และ M3U8 คือapplication/vnd.apple.mpegurlซึ่งจดทะเบียนในปี 2009 และอ้างอิงเฉพาะรูปแบบเพลย์ลิสต์ที่ใช้ในแอปพลิเคชัน HLS เท่านั้น[ 15 ] [ 16 ]
ข้อเสนอปัจจุบันสำหรับรูปแบบเพลย์ลิสต์ HLS ยอมรับสื่อสองประเภทที่ถือว่าเทียบเท่ากัน ได้แก่application/vnd.apple.mpegurlและaudio/mpegurl[ 13 ]ในทำนองเดียวกัน นี่คือสองประเภทที่ Microsoft แนะนำสำหรับการใช้งานHLS [ 17 ]
สำหรับแอปพลิเคชันที่ไม่รองรับ HLS นั้น ไม่มีการกำหนดมาตรฐานหรือจดทะเบียนประเภทสื่อใดๆ กับIANAแต่ก็มีประเภทสื่อจำนวนหนึ่งที่เกี่ยวข้องกับการใช้งานรูปแบบ M3U และ M3U8 ในอดีตและปัจจุบันสำหรับเพลย์ลิสต์ทั่วไป:
ประเภทเหล่านี้ รวมถึงapplication/vnd.apple.mpegurlและapplication/vnd.apple.mpegurl.audioได้รับการสนับสนุนสำหรับแอปพลิเคชัน HLS โดย (ตัวอย่างเช่น) Windows 10 ของ Microsoft [ 17 ]และInternet Explorer 9 [ 18 ] และ WebOSของLG [ 19 ]
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างไฟล์เพลย์ลิสต์ M3U สำหรับอัลบั้มJar of Flies ของ Alice in Chainsที่สร้างโดยMp3tagด้วยการตั้งค่าตัวเลือกแบบกำหนดเองดังต่อไปนี้: [ 20 ] [ 21 ] [ 22 ]
- รูปแบบข้อมูลเพิ่มเติมของเพลย์ลิสต์ =
"%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 ได้
- ลินุกซ์
- คิด3 , พัดเดิลแท็ก
- วินโดวส์
- ระบบปฏิบัติการ macOS
เครื่องเล่นสื่อ
โปรแกรมเล่นมีเดียต่อไปนี้รองรับการเล่นไฟล์ M3U
- หลายแพลตฟอร์ม
| โปรแกรม | แพลตฟอร์ม | ||||
|---|---|---|---|---|---|
| วินโดวส์ | ระบบปฏิบัติการ macOS | ลินุกซ์ | แอนดรอยด์ | อื่น | |
| อามาร็อก | ใช่ | เลขที่ | ใช่ | เลขที่ | เลขที่ |
| กล้าหาญ | ใช่ | เลขที่ | ใช่ | เลขที่ | เลขที่ |
| แบนชี | ใช่ | ใช่ | ใช่ | เลขที่ | ใช่ |
| เคลเมนไทน์ | ใช่ | ใช่ | ใช่ | เลขที่ | ใช่ |
| ฟูบาร์2000 | ใช่ | ใช่ | เลขที่ | ใช่ | ใช่ |
| แอป iTunes | ใช่ | ใช่ | เลขที่ | เลขที่ | เลขที่ |
| โคดี้ | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ |
| สร้างเพลย์ลิสต์ (mkpl) | ใช่ | ใช่ | ใช่ | เลขที่ | เลขที่ |
| MOC (Music on Console) | เลขที่ | เลขที่ | ใช่ | เลขที่ | ใช่ |
| เอ็มพีเลเยอร์ | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ |
| เอ็มพีวี | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ |
| โปรแกรมเล่นมีเดีย VLC | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ |
- แอนดรอยด์
- ระบบปฏิบัติการ macOS
- นินเทนโด
- เครื่องเล่น เกม New Nintendo 3DS (รวมถึงรุ่น XL และ2DS XL ) พร้อมแอปพลิเคชันเว็บเบราว์เซอร์
- Nintendo Switchพร้อม แอป YouTube ( เฉพาะเว็บไซต์ )
- Wii Uที่ติดตั้งเว็บเบราว์เซอร์หรือแอปYouTube
- วินโดวส์
- foobar2000 , JRiver Media Center , JuK , MediaMonkey , PotPlayer , Winamp , Windows Media Player , XMPlay [ 29 ]
ดูเพิ่มเติม
- รูปแบบไฟล์เพลย์ลิสต์อื่นๆ
- โปรด - SHOUTcast
ลิงก์ภายนอก
- "ข้อกำหนดไฟล์ M3U และ PLS อย่างไม่เป็นทางการ" . ฟอรัม . การสนับสนุนทางเทคนิคที่ได้รับความนิยมสูงสุด. WinAmp. 2008 [2001].
- กอนเซ่, ลูคัส (2003). "การสำรวจรูปแบบเพลย์ลิสต์" . ฉบับร่าง .
- May, W. (2017). Pantos, R. (บรรณาธิการ). "ข้อกำหนด HTTP Live Streaming" ฉบับร่าง IETF ประกอบด้วย
M3U และ M3U8
- การสร้างเพลย์ลิสต์เพื่อใช้งานร่วมกับโปรแกรมจัดการเพลงสตรีมมิ่ง
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เอ็ม3ยู
M3U ( MP3 URL ) เป็นรูปแบบไฟล์คอมพิวเตอร์สำหรับเพลย์ลิสต์ มัลติมีเดีย การใช้งานทั่วไปอย่างหนึ่งของรูปแบบไฟล์ M3U คือการสร้างไฟล์เพลย์ลิสต์รายการเดียวที่ชี้ไปยังสตรีมบนอินเทอร์เน็ต
รูปแบบไฟล์
ไม่มีข้อกำหนดอย่างเป็นทางการสำหรับรูปแบบ M3U; มันเป็นมาตรฐาน โดยพฤตินัย
M3U ขยาย
ไฟล์ M3U ยังสามารถมีข้อคิดเห็น ซึ่งขึ้นต้นด้วย # อักขระ นอกจากนี้ ใน รูป แบบ M3U ที่ขยายเพิ่มเติม # ยังมีการแนะนำคำสั่ง M3U ที่ขยายเพิ่มเติม ซึ่งจะลงท้ายด้วยเครื่องหมายโคลอน : หากคำสั่งนั้นรองรับพารามิเตอร์
เอ็ม3ยู8
การใช้ การเข้ารหัส UTF-8 เป็นข้อบังคับในเพลย์ลิสต์ M3U ที่มีนามสกุลไฟล์ M3U8 โดยปกติแล้ว ระบบจะถือว่าใช้ โค้ดเพจของระบบ .m3u อยู่แล้ว แต่ปัจจุบันโค้ดเพจของระบบก็มักจะเป็น UTF-8 เช่นกัน ดังนั้นความแตกต่างระหว่างสองอย่างนี้จึงแทบไม่มีให้เห็นในทางปฏิบัติ