Ano ang M3U file?
Ang M3U (MP3 URL) ay isang audio playlist file na nakaimbak gamit ang .m3u extension. Ang M3U ay hindi isang aktwal na audio file, tumuturo lamang ito sa mga audio at kung minsan ay mga video file. Ang M3U ay binuo upang magamit sa Winplay3 software ng Fraunhofer. Sinusuportahan din ito ng iba’t ibang media player at software.
M3U File Format
Walang opisyal na detalye para sa format ng M3U file, ito ay isang de-facto na pamantayan. Ang M3U ay isang plain text file na gumagamit ng .m3u extension kung ang text ay naka-encode sa default na non-Unicode encoding ng lokal na system o gamit ang .m3u8 extension kung ang text ay UTF-8 na naka-encode. Ang bawat entry sa M3U file ay maaaring isa sa mga sumusunod:
- Ganap na landas sa file
- File path na nauugnay sa M3U file.
- URL
Pinalawak na M3U
Sa pinalawig na M3U, ipinakilala ang mga karagdagang direktiba na nagsisimula sa “#” at nagtatapos sa colon(:) kung mayroon silang mga parameter. Ibinigay sa ibaba ang isang listahan ng mga direktiba para sa pinalawig na M3U.
- #EXTM3U - It is the file header indicating Extended M3U and must be first line of the file.
- #EXTENC: - Text encoding. It must be the 2nd line of the file.
- #EXTINF: - Used for track information and other additional properties.
- #PLAYLIST: - The title of the playlist
- #EXTGRP: - Begin name grouping
- #EXTALB: - Album information
- #EXTART: - Album artist
- #EXTGENRE - Album Genre
- #EXTM3A - Single file playlist for album tracks or chapters.
- #EXTBYT: - File size in bytes.
- #EXTBIN: - Binary data follows.
- #EXTIMG: - Logo, Cover or other images.
HLS M3U
Ang HLS (HTTP Live Streaming) ay nilikha ng Apple upang mag-stream ng audio at radyo sa mga iOS na device. Ito ay batay sa UTF-8 encoded extended M3U. Ito ay pinagtibay bilang RFC 8216 noong 2017 ng IETF. Ang mga tag para sa HLS playlist ay nagsisimula sa “#EXT-X-”. Narito ang listahan ng mga tag para sa HLS:
- EXT-X-VERSION - Nagsasaad ng bersyon ng compatibility ng file batay sa media at server nito.
- #EXT-X-START: - Nagsasaad ng ginustong panimulang punto para sa playlist.
- #EXT-X-PLAYLIST-TYPE: - Nagbibigay ng uri ng playlist (EVENT o VOD).
- #EXT-X-TARGETDURATION: - Nagsasaad ng maximum na tagal ng Segment.
- #EXT-X-MEDIA-SEQUENCE: - Nagsasaad ng Media Sequence Number.
- #EXT-X-INDEPENDENT-SEGMENTS - Nagsasaad na ang lahat ng media sample ay independiyente at maaaring ma-decode nang walang ibang mga segment.
- #EXT-X-MEDIA: - Ginagamit ito upang iugnay ang Media Playlists na naglalaman ng mga alternatibong Rendition ng parehong nilalaman.
- #EXT-X-STREAM-INF: - Nagsasaad ng Variant Stream na bahagi ng mga Rendition.
- #EXT-X-BYTERANGE: - Nagsasaad na ang Media Segment ay isang sub-range ng resource na kinilala sa pamamagitan ng URI nito.
- #EXT-X-DISCONTINUITY - Nagsasaad ng pagkakaiba sa pagitan ng nakaraang at sumusunod na media segment.
- #EXT-X-DISCONTINUITY-SEQUENCE: - Pinapayagan nito ang pagsasabay sa pagitan ng iba’t ibang rendition ng parehong Variant Stream o iba’t ibang Variant Stream.
- #EXT-X-KEY: - Nagsasaad kung paano i-decrypt ang Media Segments.
- #EXT-X-MAP: - Nagsasaad kung paano makuha ang Media Initialization Section. Ito ay kinakailangan upang ma-parse ang mga naaangkop na Media Segment.
- #EXT-X-PROGRAM-DATE-TIME: - Ito ay nag-uugnay sa unang sample ng Media Segment sa isang tiyak na petsa at/o oras.
- #EXT-X-DATERANGE: - Ito ay nag-uugnay sa isang Data Range.
- #EXT-X-I-FRAMES-ONLY - Nagsasaad na ang bawat Media Segment sa Playlist ay naglalarawan ng isang solong I-frame.
- EXT-X-I-FRAME-STREAM-INF - Nagsasaad na ang playlist file ay naglalaman ng I-frames ng Multimedia presentation.
- #EXT-X-SESSION-DATA: - Pinapayagan nito ang arbitrary session data na dalhin sa isang Master Playlist.
- #EXT-X-SESSION-KEY: - Pinapayagan nito ang mga encryption key. Maaaring i-preload ng client ang mga key na ito nang hindi muna binabasa ang playlist.
- #EXT-X-ENDLIST - Nagsasaad ito na walang ibang Media Segments na idaragdag sa file.
Ang sumusunod ay ang listahan ng mga uri ng Internet media na ginagamit ng M3U:
- application/vnd.apple.mpegurl: Ito ang tanging nakarehistrong uri ng media (nakarehistro noong 2009) para sa M3U na ginagamit upang sumangguni sa mga playlist sa mga aplikasyon ng HLS.
- Ang mga sumusunod na uri ng media sa Internet ay ginagamit ng mga hindi-HLS na application.
- application/mpegurl
- application/x-mpegurl
- audio/mpegurl
- audio/x-mpegurl
Halimbawa ng M3U
Ito ay isang halimbawa ng M3U file.
#EXTM3U
#EXTINF:111, Sample artist name - Sample track title
C:\Music\SampleMusic.mp3
#EXTINF:222,Example Artist name - Example track title
C:\Music\ExampleMusic.mp3