M3U
M3U파일 이름 확장자 | .m3u, .m3u8 |
---|---|
인터넷 미디어 유형 | 다양한 인터넷 미디어 유형 참조 |
초기 릴리즈 | c. 1996년 |
포맷의 종류 | 재생 목록 |
확장처 | HTTP 라이브 스트리밍 재생 목록 |
M3U(MP3 URL[1][2] 또는 Moving Picture Experts Group Audio Layer 3 Uniform Resource[3] Locator 풀)는 멀티미디어 재생 목록의 컴퓨터 파일 형식입니다.M3U 파일 포맷의 일반적인 사용 방법 중 하나는 인터넷상의 스트림을 가리키는 싱글엔트리 재생 목록파일을 작성하는 것입니다.생성된 파일을 사용하면 해당 스트림에 쉽게 액세스할 수 있으며 웹 사이트에서 다운로드하거나 이메일을 보내거나 인터넷 라디오를 들을 때 자주 사용됩니다.
원래는 MP3와 같은 오디오 파일용으로 설계되었지만 일반적으로 미디어 플레이어를 온라인 소스를 포함한 오디오 및 비디오 소스로 가리키기 위해 사용됩니다.M3U는 원래 Fraunhofer에 의해 Winplay3 소프트웨어와 [4]함께 사용하기 위해 개발되었지만, 현재 많은 미디어 플레이어와 소프트웨어 애플리케이션이 이 형식을 지원합니다.
M3U 플레이리스트의 부주의한 취급은 VLC 미디어 플레이어,[5] iTunes,[6] Winamp [7][8]등 많은 음악 플레이어에서 취약성의 원인이 되어 왔습니다.
파일 형식
M3U 포맷에 대한 공식적인 사양은 없습니다.이것은 사실상의 표준입니다.
M3U 파일은 하나 이상의 미디어 파일의 위치를 지정하는 일반 텍스트 파일입니다.로컬 시스템의 기본 비 유니코드 인코딩(예를 들어 Windows 코드 페이지)으로 인코딩된 경우 파일은 "m3u" 파일 확장자로 저장되며 UTF-8로 [9]인코딩된 경우 "m3u8" 확장자로 저장됩니다.
각 엔트리에는 하나의 사양이 있습니다.사양은 다음 중 하나입니다.
- 절대 로컬 경로 이름(예: C:\My Music\)Heavysets.mp3
- M3U 파일 위치에 상대적인 로컬 경로 이름.Heavysets.mp3
- URL
각 엔트리는 다음 엔트리와 구분되는 줄 바꿈으로 끝납니다.또, 일부의 디바이스에서는, 다음과 같이 표시되는 회선 단절만을 허가하고 있습니다.CR LF
단, 1개도 인식하지 않습니다.LF
.
확장 M3U
M3U 파일에는 "#" 문자 앞에 주석을 포함할 수도 있습니다.확장 M3U에서는 파라미터가 지원되는 경우 콜론 ":"로 끝나는 확장 M3U 명령도 도입됩니다.
지시. | 묘사 | 예 | 필수의 | 표준. |
---|---|---|---|---|
#EXTM3U | file header, 파일의 첫 번째 줄이어야 합니다. | #EXTM3U | 1× | 네. |
#EXTINF: | 추적 정보: 실행 시간(초) 및 다음 리소스 제목 표시 | #EXTINF:123,Artist Name – Track Title | 아니요. | 네. |
키-값 쌍으로 추가 속성 | #EXTINF:123 logo="cover.jpg",Track Title | 아니요. | IPTV | |
#PLAYLIST: | 재생 목록 표시 제목 | #PLAYLIST:Music TV | 1× | IPTV |
#EXTGRP: | 명명된 그룹화를 시작하다 | #EXTGRP:Foreign Channels | 아니요. | IPTV |
#EXTALB: | 앨범 정보, 특히 제목 | #EXTALB:Album Title (2009) | 1× | AL,[10] M3A[11] |
#EXTART: | 앨범 아티스트 | #EXTART:Various | 1× | AL,[10] M3A[11] |
#EXTGENRE: | 앨범 장르 | #EXTGENRE:Jazz Fusion | 1× | AL[10] |
#EXTM3A | 단일 파일의 앨범 트랙 또는 챕터에 대한 재생 목록 | #EXTM3A | 1× | M3A[11] |
#EXTBYT: | 파일 크기(바이트) | #EXTBYT:34124 | 아니요. | M3A[11] |
#EXTBIN: | 바이너리 데이터는 보통 연결된 MP3를 따릅니다. | #EXTBIN: | 아니요. | M3A[11] |
#EXTENC: | 텍스트 인코딩, 파일의 두 번째 줄이어야 합니다. | #EXTENC: UTF-8 | 1× | 아니요. |
#EXTIMG: | 커버, 로고 또는 기타 이미지 | #EXTIMG: front cover | 아니요. | 아니요. |
Apple은 확장 M3U 형식을 HTTP Live Stream(HLS;[12] HTTP 라이브 스트리밍)의 기반으로 사용했습니다.HLS는 2017년 RFC 8216으로 [13]Independent Submission Stream RFC에 문서화되어 있습니다.여기서 마스터 플레이리스트는 일반적으로 미디어 스트림의 짧은 부분의 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 | 파라미터에는 콤마로 구분된1개의 결합된 값 또는 스트림당1개의 값이 있습니다. |
#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 | 파라미터가 없는 리스트 종료 신호 |
M3U8
M3U의 Unicode 버전은 M3U8이며 UTF-8 인코딩 문자를 사용합니다.M3U8 파일은 원래 Apple이 개발한HTTP Live Streaming(HLS) 포맷이 iOS 디바이스에 비디오와 라디오를 스트리밍하기 위한 기초가 되어 현재는 적응형 스트리밍의 일반적인 포맷이 되었습니다.
2015년 HLS 재생 목록 형식 제안에서는 UTF-8만을 사용하며 "m3u"와 "m3u8" 파일 이름 [14]확장자를 구분하지 않습니다.
인터넷 미디어 유형
M3U 및 M3U8에 등록된 유일한 인터넷 미디어 유형은application/vnd.apple.mpegurl
는 2009년에 등록되었으며 HLS [15][16]어플리케이션에서 사용되는 재생 목록 형식만을 참조하고 있습니다.
HLS 재생 목록 형식의 현재 제안에서는 동등하게 취급되는2가지 미디어 타입을 인정하고 있습니다.application/vnd.apple.mpegurl
그리고.audio/mpegurl
마찬가지로 Microsoft가 [17]HLS를 사용하기 위해 권장하는 두 가지 유형입니다.[14]
HLS 이외의 어플리케이션에서는 미디어 타입이 표준화 또는 IANA에 등록되어 있지 않지만, M3U 및 M3U8 포맷을 일반적인 재생목록에 사용하는 이력 및 계속적인 사용에는 다음과 같은 미디어 타입이 관련되어 있습니다.
이러한 종류와 더불어application/vnd.apple.mpegurl
그리고.application/vnd.apple.mpegurl.audio
는, Microsoft 의 Windows[17] 10, Internet Explorer 9,[18] LG 의 WebOS [19]등, HLS 애플리케이션용으로 서포트되고 있습니다.
예
![]() |
- 예 1
이것은 Windows 플랫폼에서의 확장 M3U 파일의 예입니다.Sample.mp3와 Example.ogg는 미디어 파일입니다.123과 321은 [20]초단위의 길이입니다.미디어 파일이 스트리밍 파일일 경우 길이 -1 또는0 을 사용할 수 있습니다.실제로 사전 정의된 길이 값이 없기 때문입니다.길이 뒤의 값은 표시되는 제목으로, 일반적으로 두 번째 줄에 있는 파일의 위치와 동일합니다.MacOS 및 리눅스 플랫폼에서는 Unix 경로가 사용됩니다.
#EXTM3U #EXTINF:123, 샘플 아티스트 - 샘플 타이틀 C:\문서 및 설정\I\My Music\Sample.mp3 #EXTINF:321, 아티스트 예: 제목 C:\문서 및 설정\I\My Music\Great Hits\예.ogg
- 예 2
다음으로 지정된 디렉토리(플래시 드라이브나 CD-ROM 등)에 링크하는m3u 파일을 작성하는 예를 나타냅니다.m3u 파일에는 디렉토리 경로라는1개의 문자열만 포함할 수 있습니다.기동 후, 미디어 플레이어는 디렉토리의 모든 컨텐츠를 재생합니다.
C:\음악
- 예 3
다음은 상대 형식을 사용한 다른 예입니다.M3U 파일은 음악과 같은 디렉토리에 배치되며 서브 디렉토리가 사용되는 경우 재생 목록을 다른 디바이스로 이동할 때 디렉토리를 유지해야 합니다.이 방법은 파일 경로를 동일하게 유지하는 데 의존하지 않기 때문에 더 유연합니다.
이것은 위와 같은 파일로 C에 sample.m3u로 저장되어 있습니다.\문서 및 설정\사용자\내 음악\
#EXTM3U #EXTINF:123, 샘플 아티스트 - 샘플 타이틀 Sample.mp3 #EXTINF:321, 아티스트 예시 - 제목 Greatest Hits \예.ogg
M3U 의 이 포맷에 의해, 재생을 위해서 다른 디바이스에 카피할 수 있습니다.참조되는 모든 파일 및 디렉토리도 복사해야 합니다.
- 예 4
다음으로 혼합 예를 제시하겠습니다.
대체 \밴드 - Song.mp3 Classical \기타 밴드 - 새로운 Song.mp3 Stuff.mp3 D:\더 많은 음악\Foo.mp3..\Other Music\Bar.mp3 http://www.example.com:8000/Listen.mp3 ~user/Mine.mp3
주의:
- Alternative 및 Classic은 이 재생목록이 저장되어 있는 디렉토리의 서브 디렉토리입니다.
- "Song" 및 "New Song"은 이 재생목록이 저장된 디렉토리의 하위 디렉토리에 있습니다.
- "Stuff"는 재생목록이 저장된 디렉토리와 동일합니다.
- 「Foo」는 지정된(Windows) 볼륨과 디렉토리에 있습니다.이 볼륨과 디렉토리는 재생목록과 같은 디렉토리와 다를 수도 있습니다.
- 「바」는, 재생 리스트 디렉토리와 같은 레벨의 다른 디렉토리에 있습니다.더블 도트는 재생 목록 디렉토리의 부모 디렉토리를 참조한 다음 하위 디렉토리 "Other Music"을 참조하여 "Bar"에 도달합니다.
- "Listen"은 Shoutcast 스트림입니다.
- "Mine"은 웹 서버에 저장된 MP3입니다.
- 예 5
예를 들어 다른 M3U 재생목록에 대한 참조는 일반적으로 잘 지원되지 않습니다.
AnotherPlayList.m3u
- 예 6
다음은 Mp3tag에 의해 작성된 "Alice in Chains"의 "Jar of Flys" 앨범용 M3U 재생 목록 파일의 예입니다.이 파일은 다음과 같은 커스텀옵션 [21][22][23]설정으로 구성되어 있습니다.
- 재생 목록 확장 정보 형식 =
"%artist% - %title%"
- 재생 목록 파일 이름 형식 =
"%artist%_%album%_00_Playlist.m3u"
- 태그를 파일 이름 변환 형식으로 =
"%artist%_%album%_$num(%track%,2)_%title%"
#EXTM3U #EXTENF:419, 체인 내 앨리스 - 체인 내 썩은 애플 앨리스_파리_01_로튼 애플.mp3 #EXTINF:260, 체인의 앨리스 - 체인의 견과류 앨리스_파리_02_Nutshell.mp3 #EXTINF:255, 앨리스 인 체인 - I Stay Away Alice in Chains_Jar of Flys_03_I Stay Away.mp3 #EXTINF:256, 체인 앨리스 - 체인 앨리스 없음_Jar of Flys_04_No Beases.mp3 #EXTINF:157, 체인의 앨리스 - 체인의 고래와 와스프 앨리스_파리의 항아리_05_고래와 와스프.mp3 #EXTINF:263, 체인 내 앨리스 - 체인 내 앨리스 팔로우 하지 마_Jar of Flys_06_Don't Follow.mp3 #EXTINF:245, 체인 내 앨리스 - 체인 내 앨리스 스윙 온 파리_07_스윙 온 This.mp3
소프트웨어
태그 에디터
다음 태그 에디터 소프트웨어에서는 MP3 파일의 ID3 태그를 편집할 수 있으며 M3U 파일 작성을 지원합니다.
- 리눅스
- 창문들
미디어 플레이어
- 멀티플랫폼
프로그램 | 플랫폼 | |||
---|---|---|---|---|
창문들 | MacOS | 리눅스 | 다른. | |
아마록 | 네. | 아니요. | 네. | 아니요. |
대담한 | 네. | 아니요. | 네. | 아니요. |
밴시 | 네. | 네. | 네. | 네. |
클레멘타인 | 네. | 네. | 네. | 네. |
GNOME 비디오 | 아니요. | 아니요. | 네. | 아니요. |
코디 | 네. | 네. | 네. | 네. |
MPlayer | 네. | 네. | 네. | 네. |
mpv | 네. | 네. | 네. | 네. |
VLC 미디어 플레이어 | 네. | 네. | 네. | 네. |
아이튠즈 | 네. | 네. | 아니요. | 아니요. |
- 안드로이드
- MacOS
- 닌텐도
- 인터넷 브라우저 앱이 포함된 새로운 닌텐도 3DS(XL 및 2DS XL 모델 포함)
- YouTube(사이트별) 앱 탑재 닌텐도 스위치
- 인터넷 브라우저 또는 YouTube 앱 포함 Wii U
- 창문들
- foobar2000, JRiver Media Center, JuK, MediaMonkey, PotPlayer, Winamp, Windows Media Player, XMPlay[30]
「 」를 참조해 주세요.
- 기타 재생 목록 파일 형식
레퍼런스
- ^ a b Fraunhofer Gesellschaft, Fraunhofer Institut für Integrierte Schaltungen-A (1996-10-30). "WinPlay3 - Windows real-time ISO/MPEG Audio Layer 3 Player". Archived from the original on 1997-06-06. Retrieved 2018-01-21.
- ^ a b Gruett, Matt. "M3U FILES AND STREAMING". LockerGnome. Archived from the original on 2001-04-26.
- ^ Nero. "Nero MediaHome 4 - Manual" (PDF). Archived (PDF) from the original on 2015-09-05.
- ^ "WINAMP.COM Winamp Documentation". June 6, 2002. Archived from the original on 2002-06-06.
- ^ "VideoLAN-SA-0804 (CVE-2007-6683)". 2008.
Arbitrary file overwrite and other abuses through M3U parser and browsers plugins.
- ^ "CVE-2012-0677: Heap-based buffer overflow in Apple iTunes before 10.6.3 allows remote attackers to execute arbitrary commands". cve.circl.lu.
- ^ "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.
- ^ "247 search results". Packet Storm. Retrieved 2018-01-23.
- ^ "Nero 2015 Platinum - System Requirements".
MP3 URL + UTF-8 (M3U8)
- ^ a b c "Album List for Winamp". albumlist.sourceforge.net.
- ^ a b c d e "Data". birdcagesoft. Retrieved 2019-10-21.
- ^ "About the Common Media Application Format with HTTP Live Streaming Apple Developer Documentation". developer.apple.com.
- ^ R. Pantos; W. May (August 2007). "4.3 Playlist Tags". RFC 8216: HTTP Live Streaming. Request for Comments (RFC) Pages - Test. RFC Editor. ISSN 2070-1721.
- ^ a b Pantos, Roger; May, William. "HTTP Live Streaming". tools.ietf.org.
- ^ "Media Types". www.iana.org.
- ^ "Data". iana. Retrieved 2019-10-21.
- ^ a b "Simplified Adaptive Video Streaming: Announcing support for HLS and DASH in Windows 10 – IEBlog". blogs.msdn.microsoft.com.
- ^ "HTMLVideoElement". MDN Web Docs.
- ^ "Archived copy". Archived from the original on 2015-12-22. Retrieved 2015-12-12.
{{cite web}}
: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ "DigiLinX Application Note - Creating Playlists to Work with the Streaming Music Manager" (PDF). 2007-10-05.
- ^ "Mp3tag Help - Configuration > Export". help.mp3tag.de.
- ^ "Mp3tag Help - Configuration > Playlist". help.mp3tag.de.
- ^ "Mp3tag Help - Scripting functions". help.mp3tag.de.
- ^ "Loading..." astroplayer.com. Archived from the original on December 1, 2009.
- ^ "Astro Player (old) - Sidenis LLC". Archived from the original on March 3, 2016.
- ^ "Astro Player - Sidenis LLC". Archived from the original on March 3, 2016.
- ^ "n7player Music Player - Apps on Google Play". play.google.com.
- ^ "n7player 1.0 - Apps on Google Play". play.google.com.
- ^ "Musicolet Music Player [No ads] - Apps on Google Play". play.google.com. Retrieved 2020-11-02.
- ^ Hindley, Nathan. "XMPlay 3.8.2". XMPlay. Un4seen Developments. Retrieved 11 July 2016.
외부 링크
- "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