M3U ( MP3 URL [1] [2] или Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator [3] полностью) - это компьютерный формат файла для мультимедийного списка воспроизведения . Одним из распространенных способов использования формата файла M3U является создание файла списка воспроизведения с одной записью, указывающего на поток в Интернете. Созданный файл обеспечивает легкий доступ к этому потоку и часто используется для загрузки с веб-сайта, для отправки по электронной почте и для прослушивания Интернет-радио .
Расширения имени файла | .m3u, .m3u8 |
---|---|
Тип интернет-СМИ | разные; см. § Типы Интернет-СМИ |
Первый выпуск | c. 1996 г. |
Тип формата | Плейлист |
Расширен до | Плейлист HTTP Live Streaming |
Хотя изначально он был разработан для аудиофайлов, таких как MP3 , он обычно используется для указания медиаплеерам на аудио- и видеоисточники, включая онлайн-источники. M3U был первоначально разработан Fraunhofer для использования с их программным обеспечением Winplay3 [4], но многие медиаплееры и программные приложения теперь поддерживают этот формат.
Небрежное обращение с плейлистами M3U стало причиной уязвимостей во многих музыкальных проигрывателях, таких как медиаплеер VLC , [5] iTunes , [6] Winamp , [7] и многих других. [8]
Формат файла
Формальной спецификации формата M3U нет; это стандарт де-факто .
Файл M3U - это простой текстовый файл, в котором указывается расположение одного или нескольких файлов мультимедиа. Файл сохраняется с расширением имени файла «m3u», если текст закодирован в кодировке локальной системы по умолчанию, отличной от Unicode (например, кодовая страница Windows ), или с расширением «m3u8», если текст закодирован в UTF-8 . [9]
Каждая запись имеет одну спецификацию. Спецификация может быть любой из следующих:
- абсолютный локальный путь ; например, C: \ My Music \ Heavysets.mp3
- локальный путь относительно местоположения M3U файла; например Heavysets.mp3
- URL
Расширенный M3U
Файл M3U также может включать комментарии, предваряемые знаком «#». В расширенном M3U "#" также вводит расширенные директивы M3U, которые заканчиваются двоеточием ":", если они поддерживают параметры.
Директива | Описание | Пример | Обязательный | Стандарт |
---|---|---|---|---|
#EXTM3U | заголовок файла, должен быть первой строкой файла | #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 Streaming (HLS) [12], которая была задокументирована в Independent Submission Stream RFC в 2017 году как RFC 8216. [13] Здесь главный список воспроизведения ссылается на списки воспроизведения сегментов, которые обычно содержат 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-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-X-I-FRAMES-ONLY | переключатель i-frame без параметров | |
#EXT-X-SESSION-DATA: | DATA-ID=com.example.movie.title | |
#EXT-X-SESSION-KEY: |
| |
#EXT-X-ENDLIST | сигнал конца списка без параметров |
M3U8
Unicode версия M3U является M3U8, который использует UTF-8 закодированы символы. Файлы M3U8 являются основой для формата HTTP Live Streaming (HLS), первоначально разработанного Apple для потоковой передачи видео и радио на устройства iOS , и который в настоящее время является популярным форматом для адаптивной потоковой передачи в целом.
Предложение 2015 года по формату списка воспроизведения HLS использует исключительно UTF-8 и не делает различий между расширениями имен файлов «m3u» и «m3u8». [14]
Типы интернет-СМИ
Единственный тип Интернет-носителя, зарегистрированный для M3U и M3U8 application/vnd.apple.mpegurl
, зарегистрирован в 2009 году и относится только к формату списка воспроизведения, используемому в приложениях HLS. [15] [16]
Текущее предложение для формата списка воспроизведения HLS признает два типа мультимедиа, которые он рассматривает как эквивалентные: application/vnd.apple.mpegurl
и audio/mpegurl
. [14] Аналогичным образом, эти два типа рекомендуются для использования HLS корпорацией Майкрософт. [17]
Для приложений, не относящихся к HLS, типы носителей не были стандартизированы или зарегистрированы в IANA , но, тем не менее, ряд типов носителей связан с историческим и текущим использованием форматов M3U и M3U8 для общих списков воспроизведения:
application/mpegurl
application/x-mpegurl
audio/mpegurl
audio/x-mpegurl
[1] [2]
Эти типы, плюс application/vnd.apple.mpegurl
и application/vnd.apple.mpegurl.audio
, поддерживаются для приложений HLS (например) Microsoft Windows 10 [17] и Internet Explorer 9, [18] и LG WebOS . [19]
Примеры
- Пример 1
Это пример расширенного файла M3U на платформе Windows. Sample.mp3 и Example.ogg - это файлы мультимедиа. 123 и 321 - длина в секундах. [20] Длина -1 или 0 может использоваться, когда файл мультимедиа является потоковым файлом, поскольку нет фактического заранее определенного значения длины. Значение после длины - это отображаемый заголовок, который обычно совпадает с расположением файла во второй строке. На платформах macOS и Linux используются пути Unix .
# 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: \ Музыка
- Пример 3
Вот еще один пример с использованием относительного формата. Файл M3U помещается в тот же каталог, что и музыка, и каталоги должны быть сохранены при перемещении списка воспроизведения на другое устройство, если используются подкаталоги. Этот метод более гибкий, поскольку он не полагается на неизменный путь к файлу.
Это тот же файл, что и выше, сохраненный как sample.m3u в C: \ Documents and Settings \ User \ My Music \
# EXTM3U #EXTINF: 123, Образец исполнителя - Образец названияSample.mp3 #EXTINF: 321, Пример исполнителя - Пример заголовкаЛучшие хиты \ Example.ogg
Этот формат в M3U позволяет копировать на другое устройство для воспроизведения. Все упомянутые файлы и каталоги также должны быть скопированы.
- Пример 4
Вот смешанный пример:
Альтернатива \ Группа - Song.mp3Классическая \ Другая группа - Новая песня.mp3Stuff.mp3D: \ More Music \ Foo.mp3.. \ Другая музыка \ Bar.mp3http://www.example.com:8000/Listen.mp3http://www.example.com/~user/Mine.mp3
Заметки:
- Альтернативный и классический - это подкаталоги каталога, в котором хранится этот список воспроизведения.
- «Песня» и «Новая песня» находятся в подкаталогах каталога, в котором хранится этот список воспроизведения.
- «Материал» находится в том же каталоге, в котором хранится список воспроизведения.
- «Foo» находится в указанном (Windows) томе и каталоге, который может совпадать, а может и не совпадать с каталогом, в котором находится список воспроизведения.
- «Бар» находится в другом каталоге на том же уровне, что и каталог списка воспроизведения. Двойные точки относятся к родительскому каталогу каталога списков воспроизведения, затем к подкаталогу «Другая музыка», чтобы перейти к «Бар».
- "Слушай" - это поток 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, Алиса в цепях - Гнилое яблоко Алиса в цепях_Банка с мухами_01_Rotten Apple.mp3 #EXTINF: 260, Алиса в цепях - В двух словах Алиса в цепях_Банка с мухами_02_Nutshell.mp3 #EXTINF: 255, Алиса в цепях - Я остаюсь подальше Алиса в цепях_Банка с мухами_03_I Stay Away.mp3 #EXTINF: 256, Алиса в цепях - никаких оправданий Алиса в цепях_Банка с мухами_04_No Excuses.mp3 #EXTINF: 157, Алиса в цепях - Кит и Оса Алиса в цепях_Банка с мухами_05_Whale And Wasp.mp3 #EXTINF: 263, Алиса в цепях - Не подписывайтесь Алиса в цепях_Банка с мухами_06_Don't Follow.mp3 #EXTINF: 245, Алиса в цепях - качайся Алиса в цепях_Банка с мухами_07_Swing On This.mp3
Программное обеспечение
Редакторы тегов
Следующее программное обеспечение редактора тегов позволяет пользователям редактировать теги ID3 в файлах MP3 и поддерживает создание файлов M3U.
- Linux
- EasyTAG , пудлетэг .
- Окна
- Mp3tag , puddletag .
Медиаплееры
- Мультиплатформенность
Программа | Платформы | |||
---|---|---|---|---|
Окна | macOS | Linux | Другой | |
Amarok | да | Нет | да | Нет |
Дерзкий | да | Нет | да | Нет |
Банши | да | да | да | да |
Клементина | да | да | да | да |
Видео GNOME | Нет | Нет | да | Нет |
Коди | да | да | да | да |
MPlayer | да | да | да | да |
MPV | да | да | да | да |
Медиаплеер VLC | да | да | да | да |
iTunes | да | да | Нет | Нет |
- Android
- Astro Player, [24] [25] [26] Kodi , N7Player, [27] [28] Musicolet [29]
- macOS
- Музыка
- QuickTime Player
- Nintendo
- New Nintendo 3DS (включая варианты XL и 2DS XL ) с приложением Internet Browser
- Nintendo Switch с приложением YouTube (для конкретного сайта )
- Wii U с интернет-браузером или приложением YouTube
- Окна
- foobar2000 , JRiver Media Center , JuK , MediaMonkey , PotPlayer , Winamp , Windows Media Player , XMPlay [30]
Смотрите также
- Список редакторов тегов
- Другие форматы файлов списков воспроизведения
- ASX - Windows media
- PLS - SHOUTcast
- XSPF - Фонд Xiph.Org
- WPL - проигрыватель Windows Media
Рекомендации
- ^ a b Fraunhofer Gesellschaft, Fraunhofer Institut für Integrierte Schaltungen-A (1996-10-30). «WinPlay3 - Windows-проигрыватель ISO / MPEG Audio Layer 3 в реальном времени» . Архивировано из оригинала на 1997-06-06 . Проверено 21 января 2018 .
- ^ а б Gruett, Мэтт. «M3U ФАЙЛЫ И ПОТОК» . LockerGnome . Архивировано из оригинала на 2001-04-26.
- ^ Нерон. «Nero MediaHome 4 - Руководство» (PDF) . Архивировано (PDF) из оригинала на 2015-09-05.
- ^ "WINAMP.COM | Документация Winamp" . 6 июня 2002 года Архивировано из оригинала на 2002-06-06.
- ^ "VideoLAN-SA-0804 (CVE-2007-6683)" . 2008.
Произвольная перезапись файлов и другие злоупотребления через парсер M3U и плагины браузеров.
- ^ «CVE-2012-0677: переполнение буфера на основе кучи в Apple iTunes до 10.6.3 позволяет удаленным злоумышленникам выполнять произвольные команды» . cve.circl.lu .
- ^ «CVE-2000-0624: переполнение буфера в Winamp 2.64 и более ранних версиях позволяет удаленным злоумышленникам выполнять произвольные команды с помощью длинного #EXTINF: ext» . www.cvedetails.com .
- ^ «247 результатов поиска» . Пакетный шторм . Проверено 23 января 2018 .
- ^ «Nero 2015 Platinum - Системные требования» .
MP3 URL + UTF-8 (M3U8)
- ^ а б в "Список альбомов для Winamp" . albumlist.sourceforge.net .
- ^ а б в г д «Данные» . Birdcagesoft . Проверено 21 октября 2019 .
- ^ «О формате общих мультимедийных приложений с HTTP Live Streaming | Документация для разработчиков Apple» . developer.apple.com .
- ^ Р. Пантос; У. Мэй (август 2007 г.). «4.3 Теги списка воспроизведения» . RFC 8216: HTTP Live Streaming . Страницы запроса комментариев (RFC) - Test . Редактор RFC. ISSN 2070-1721 .
- ^ а б Пантос, Роджер; Мэй, Уильям. «HTTP Live Streaming» . tools.ietf.org .
- ^ «Типы СМИ» . www.iana.org .
- ^ «Данные» . иана . Проверено 21 октября 2019 .
- ^ а б «Упрощенная адаптивная потоковая передача видео: объявление о поддержке HLS и DASH в Windows 10 - IEBlog» . blogs.msdn.microsoft.com .
- ^ «HTMLVideoElement» . Веб-документы MDN .
- ^ «Архивная копия» . Архивировано из оригинала на 2015-12-22 . Проверено 12 декабря 2015 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ «Примечание по применению DigiLinX - Создание списков воспроизведения для работы с Streaming Music Manager» (PDF) . 2007-10-05.
- ^ «Справка Mp3tag - Конфигурация> Экспорт» . help.mp3tag.de .
- ^ «Справка Mp3tag - Конфигурация> Список воспроизведения» . help.mp3tag.de .
- ^ «Справка Mp3tag - Скриптовые функции» . help.mp3tag.de .
- ^ «Загрузка ...» astroplayer.com . Архивировано из оригинала на 1 декабря 2009 года.
- ^ «Астро Плейер (стар.) - ООО Сиденис» . Архивировано из оригинала 3 марта 2016 года.
- ^ ООО «Астро Плейер - Сиденис» . Архивировано из оригинала 3 марта 2016 года.
- ^ «Музыкальный проигрыватель n7player - Приложения в Google Play» . play.google.com .
- ^ «n7player 1.0 - Приложения в Google Play» . play.google.com .
- ^ «Музыкальный проигрыватель Musicolet [Без рекламы] - Приложения в Google Play» . play.google.com . Проверено 2 ноября 2020 .
- ^ Хиндли, Натан. «XMPlay 3.8.2» . XMPlay . Un4seen Developments . Проверено 11 июля +2016 .
Внешние ссылки
- «Неофициальная спецификация файлов M3U и PLS» . Форум . Техническая поддержка Лучшие хиты. WinAmp. 2008 [2001].
- Гонзе, Лукас (2003). «Обзор форматов плейлистов» . Проект .
- Мэй, W. (2017). Пантос, Р. (ред.). «Спецификация HTTP Live Streaming» . Проект . IETF.
Включает M3U и M3U8