М3У
Расширения имен файлов | .m3u, .m3u8 |
---|---|
Тип интернет-СМИ | различный; см . § Типы интернет-медиа. |
Первоначальный выпуск | в. 1996 год |
Тип формата | Плейлист |
Распространено на | HTTP Live Streaming Список воспроизведения |
M3U ( MP3 URL [1] [2] или Группа экспертов по движущимся изображениям, уровень звука 3, единый указатель ресурсов [3] полностью) — компьютерный формат файла для мультимедийного списка воспроизведения . Одним из распространенных вариантов использования формата файла M3U является создание файла списка воспроизведения с одной записью, указывающего на поток в Интернете. Созданный файл обеспечивает легкий доступ к этому потоку и часто используется при загрузке с веб-сайта, для отправки по электронной почте и для прослушивания интернет-радио .
Хотя изначально он был разработан для аудиофайлов, таких как MP3 , он обычно используется для указания медиаплеерам источников аудио и видео, включая онлайн-источники. M3U изначально был разработан компанией Fraunhofer для использования с их программным обеспечением Winplay3 . [4] но теперь этот формат поддерживают многочисленные медиаплееры и программные приложения.
Неосторожное обращение со списками воспроизведения M3U стало причиной уязвимостей во многих музыкальных проигрывателях, таких как медиаплеер VLC , [5] Айтюнс , [6] Винамп , [7] и многие другие. [8]
Формат файла
[ редактировать ]Официальной спецификации формата M3U не существует; это стандарт де-факто .
Файл M3U представляет собой обычный текстовый файл, в котором указано расположение одного или нескольких медиафайлов. Файл сохраняется с расширением имени файла «m3u» , если текст закодирован в кодировке локальной системы, отличной от Unicode (например, кодовая страница Windows ), или с расширением «m3u8», если текст закодирован в UTF-8 . [9]
Каждая запись содержит одну спецификацию. Спецификация может быть любой из следующих:
- абсолютный локальный путь ; например, C:\My Music\Heavysets.mp3
- относительно локальный путь местоположения файла M3U; например Heavysets.mp3
- URL - адрес
Каждая запись заканчивается переносом строки , который отделяет ее от следующей. Более того, некоторые устройства принимают только разрывы строк, представленные как CR LF
, но не признаю ни одного LF
.
Расширенный 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× | АЛ, [10] М3А [11] |
#EXTART: | исполнитель альбома | #EXTART:Various | 1× | АЛ, [10] М3А [11] |
#EXTGENRE: | жанр альбома | #EXTGENRE:Jazz Fusion | 1× | АЛ [10] |
#EXTM3A | плейлист для треков или глав альбома в одном файле | #EXTM3A | 1× | М3А [11] |
#EXTBYT: | размер файла в байтах | #EXTBYT:34124 | Нет | М3А [11] |
#EXTBIN: | Далее следуют двоичные данные, обычно объединенные в формате MP3. | #EXTBIN: | Нет | М3А [11] |
#EXTENC: | кодировка текста, должна быть второй строкой файла | #EXTENC:UTF-8 | 1× | Нет |
#EXTIMG: | обложка, логотип или другое изображение | #EXTIMG:cover.jpg | Нет | Нет |
Apple использовала расширенный формат M3U в качестве основы для своей потоковой передачи HTTP Live Streaming (HLS). [12] который был задокументирован в RFC Independent Submission Stream в 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-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 | Сигнал конца списка без параметров |
М3У8
[ редактировать ]Версия в Юникоде M3U UTF-8 — M3U8, в которой используются символы в кодировке . Файлы 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] Аналогично, эти два типа рекомендованы Microsoft для использования HLS. [17]
Для приложений, отличных от HLS, никакие типы мультимедиа не были стандартизированы или зарегистрированы в IANA , но ряд типов мультимедиа, тем не менее, связаны с историческим и текущим использованием форматов M3U и M3U8 для общих списков воспроизведения:
Эти типы плюс application/vnd.apple.mpegurl
и application/vnd.apple.mpegurl.audio
, поддерживаются для приложений HLS (например) Microsoft Windows 10. [17] и Интернет Эксплорер 9, [18] от LG и WebOS . [19]
Примеры
[ редактировать ]![]() |
- Пример 1
Это пример расширенного файла M3U на платформе Windows. Sample.mp3 и example.ogg — это медиа-файлы. 123 и 321 — длина в секундах. [20] Длина -1 или 0 может использоваться, когда медиафайл является потоковым файлом, поскольку фактического предопределенного значения длины не существует. Значение после длины — это отображаемый заголовок, который обычно совпадает с местоположением файла, который находится во второй строке. На macOS и Linux платформах пути Unix используются .
#EXTM3U #EXTINF:123, Sample artist - Sample titleC:\Documents and Settings\I\My Music\Sample.mp3 #EXTINF:321,Example Artist - Example titleC:\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 artist - Sample titleSample.mp3 #EXTINF:321,Example Artist - Example titleGreatest Hits\Example.ogg
Этот формат в M3U позволяет копировать на другое устройство для воспроизведения. Все упомянутые файлы и каталоги также необходимо скопировать.
- Пример 4
Вот смешанный пример:
Alternative\Band - Song.mp3Classical\Other Band - New Song.mp3Stuff.mp3D:\More Music\Foo.mp3..\Other Music\Bar.mp3http://www.example.com:8000/Listen.mp3http://www.example.com/~user/Mine.mp3
Примечания:
- Альтернативный и Классический — это подкаталоги каталога, в котором хранится этот плейлист.
- «Песня» и «Новая песня» находятся в подкаталогах каталога, в котором хранится этот список воспроизведения.
- «Stuff» находится в том же каталоге, в котором хранится список воспроизведения.
- «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,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.
- Линукс
- Окна
Медиаплееры
[ редактировать ]Следующее программное обеспечение медиаплеера поддерживает воспроизведение файлов M3U.
- Мультиплатформенность
Программы | Платформы | ||||
---|---|---|---|---|---|
Окна | macOS | Линукс | Андроид | Другой | |
Амарок | Да | Нет | Да | Нет | Нет |
Дерзкий | Да | Нет | Да | Нет | Нет |
Банши | Да | Да | Да | Нет | Да |
Клементина | Да | Да | Да | Нет | Да |
Видео GNOME | Нет | Нет | Да | Нет | Нет |
Что? | Да | Да | Да | Да | Да |
MPlayer | Да | Да | Да | Да | Да |
минивэн | Да | Да | Да | Да | Да |
медиаплеер VLC | Да | Да | Да | Да | Да |
iTunes | Да | Да | Нет | Нет | Нет |
- Андроид
- 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 [30]
См. также
[ редактировать ]- Другие форматы файлов плейлистов
- ASX — Windows Media
- Пожалуйста , SHOUTcast
- XSPF - Фонд Xiph.Org
- WPL — проигрыватель Windows Media
Ссылки
[ редактировать ]- ^ Jump up to: а б Общество Фраунгофера, Институт интегральных схем Фраунгофера-А (30 октября 1996 г.). «WinPlay3 — проигрыватель ISO/MPEG Audio Layer 3 для Windows в реальном времени» . Архивировано из оригинала 6 июня 1997 г. Проверено 21 января 2018 г.
- ^ Jump up to: а б Грутт, Мэтт. «ФАЙЛЫ M3U И ПОТОКОВАЯ ТРАНСЛЯЦИЯ» . ЛокерГном . Архивировано из оригинала 26 апреля 2001 г.
- ^ Нерон. «Nero MediaHome 4 — Руководство» (PDF) . Архивировано (PDF) из оригинала 5 сентября 2015 г.
- ^ «WINAMP.COM | Документация Winamp» . 6 июня 2002 г. Архивировано из оригинала 6 июня 2002 г.
- ^ «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 — Системные требования» .
URL-адрес MP3 + UTF-8 (M3U8)
- ^ Jump up to: а б с «Список альбомов для Winamp» . albumlist.sourceforge.net .
- ^ Jump up to: а б с д и "Данные" . клетка для птицмягкая . Проверено 21 октября 2019 г.
- ^ «О формате Common Media Application с потоковой передачей HTTP в реальном времени | Документация разработчика Apple» . разработчик.apple.com .
- ^ Р. Пантос; У. Мэй (август 2007 г.). «4.3 Теги плейлиста» . В Пантосе, Р. (ред.). RFC 8216: Прямая потоковая передача по HTTP . Редактор RFC. дои : 10.17487/RFC8216 . ISSN 2070-1721 .
{{cite book}}
:|journal=
игнорируется ( помогите ) - ^ Jump up to: а б Пантос, Роджер; Мэй, Уильям. «HTTP-трансляция в прямом эфире» . www.tools.ietf.org .
- ^ «Типы СМИ» . www.iana.org .
- ^ "Данные" . Яна . Проверено 21 октября 2019 г.
- ^ Jump up to: а б «Упрощенная адаптивная потоковая передача видео: анонс поддержки HLS и DASH в Windows 10 — IEBlog» . blogs.msdn.microsoft.com .
- ^ «HTMLВидеоЭлемент» . Веб-документы MDN .
- ^ "::: Разработчик LG | Аудио и видео :::" . Архивировано из оригинала 22 декабря 2015 г. Проверено 12 декабря 2015 г.
- ^ «Примечания по применению DigiLinX. Создание списков воспроизведения для работы с диспетчером потоковой музыки» (PDF) . 05.10.2007.
- ^ «Справка 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 .
- ^ Приложения в Google Play – «Musicolet Music Player [Без рекламы]» . play.google.com . Проверено 2 ноября 2020 г.
- ^ Хиндли, Натан. «XMPLAY 3.8.2» . XMPLAY . Невиданные события . Проверено 11 июля 2016 г.
Внешние ссылки
[ редактировать ]- «Неофициальная спецификация файлов M3U и PLS» . Форум . Техподдержка лучших хитов. ВинАмп. 2008 [2001].
- Гонзе, Лукас (2003). «Обзор форматов плейлистов» . Черновик .
- Мэй, В. (2017). Пантос, Р. (ред.). «Спецификация прямой трансляции HTTP» . Черновик . IETF.
Включает M3U и M3U8.