Содержание
- Как выглядит IPTV плейлист?
- Создаём m3u плейлист в обычном блокноте
- Как нужно заполнять данные?
- Как добавить категории и рубрики в плейлист?
- Как добавить телегид?
- Как добавить плейлист в Kodi?
- Пример содержимого файла в формате EXTM3U
- Описание атрибутов EXTM3U
- #EXTM3U — формат IPTV плейлиста
- #EXTINF — расширенная информация о потоках IPTV плейлиста
Чулан Ожидает приглашения Данная статья призвана рассказать до деталей о тонкостях формата плейлиста M3U — стандарта де-факто для множества музыкальных плееров, как программных, так и железных.
Немного из истории
Формат этот появился в 1997 году, это был стандартный вид плейлиста для программы Winamp. Чем-то особенным этот формат назвать было нельзя — первая его версия была просто списком путей к музыкальным файлам, причем поддерживались как относительные пути, так и полные. Чуть позже появилась возможность использовать URL для задания пути в файлу. В качестве сепаратора использовались символы возврата каретки и перевода строки (/r/n). Также в качестве кодировки по стандарту использовалась Windows-1252. Также поддерживались однострочные комментарии вида # Some comment
Никаких заголовков для объявления того, что это именно M3U-файл, либо каких-то других не требовалось. Такие аскетичные плейлисты используются и по сей день — например с их помощью можно обмениваться ссылками на потоковое видео или аудио. Весь плейлист будет состоять из одной строки: http://example.com:8000/audio
Однако, существует важный нюанс, идущий с тех времен и по сей день, — в конце последней строки тоже обязательно должны стоять символы /r/n. Но все течет и изменяется. Cтало понятно, что одни только пути к файлам не могут удовлетворить потребностей как пользователя, так и девелопера. Все чаще комментарии некоторые плееры использовали для хранения своей служебной информации — в частности названия трека и его длины. И все это вылилось в следующую ступень эволюции формата M3U.
Extended M3U
Расширенный синтаксис формата M3U позволяет задать теги для файла, длительность и название плейлиста. Негусто, но большего и не нужно. Кроме того, ExtM3U обратно совместим с M3U, так как для разметки используются комментарии. Однако, требования для кодировки (а она должна быть Windows-1252) и для сепаратора (перевод строки только вместе с возвратом каретки) остались теми же. Но все для кодировки стали появляться послабления — при выбранной русской локализации многие плееры стали читать плейлист в Win-1251. Итак, давайте рассмотрим на примере синтаксис ExtM3U. #EXTM3U #PLAYLIST:Playlist Name #EXTINF:100,Track Title music/Track01.mp3 #EXTINF:456,Artist Name - Track Name C:/music/Track01.mp3 #EXTINF:456,Unix Full Pathname /home/usr/data/music/Track01.mp3 #EXTINF:-1,Some Radiostation http://example.com:8000/radio
- #EXTM3U — заголовок M3U-файла. Говорит о том, что перед нами действительно плейлист M3U и что синтаксические конструкции формата ExtM3U поддерживаются в полной мере.
На самом деле, как всегда, не все так радужно. Например, Mp3-плеер в телефоне Siemens CX75 прописывает эту директиву в начале плейлиста при его создании. Но вот остальную разметку ExtM3U он игнорирует. Он даже отказался переваривать относительные пути к файлам(!).
- #PLAYLIST — название плейлиста. Например: «Песни о птичках». Не входит в официальную спецификацию и является самодеятельностью некоторых плееров.
- #EXTINF — описание самого трека. Давайте на синтаксисе этой директивы остановимся чуть подробнее.
Директива EXTINF
Синтаксис: #EXTINF:track_length sec,track_namern path_to_file.ext
Согласно синтаксису M3U, все параметры директивы описываются после двоеточия и разделяются запятыми.
- Длительность трека в секундах. Любое положительное число, включая ноль. -1 обозначает игнорирование длины трека.
Некоторые плееры сразу ставят вместо длительности вопросительные знаки, некоторые все же пытаются определить ее самостоятельно. В случае удачи длина трека будет отображена.
- Название трека. Любая фраза в кодировке Windows.
В случае, если трек имеет исполнителя и название, то в качестве сепаратора желательно использовать дефис (минус) — “-“.
Но самый главный подводный камень — кодировка. Иногда, для указания, что дальше идут русские буквы в названии трека или пути используется символ US. Но utf-8 тут напрашивается сама собой. Итак, следующая эволюция M3U плейлистов — формат M3U8.
M3U8 — m3u в utf-8
Формат *.m3u8 получил преимущественное распространение на Unix-системах. Многие плееры автоматически распознают кодировку файла и не требуют обязательного присутствия восьмерки в расширении. Отличия от обычного формата m3u — это, конечно, кодировка utf-8 и возможность использовать в качестве сепаратора строк только перевод строки (n).
Заключение
M3U — простой и перспективный формат плейлистов с тринадцатилетней историей. Он проще и понятнее плейлистов с xml-структурой, так как csv-подобные форматы для хранения маленьких структурированных объемов данных значительно удобнее. Многие производители техники отдают свое предпочтение m3u, и этот формат поддерживают все музыкальные плееры. Я надеюсь, что более подробное знакомство с этим форматов принес вам пользу в дальнейшем.
Литература
P.S. Все ссылки в тегах code следует читать с предваряющими их обозначениями протокола. Я не знаю, как сделать, чтобы хабр оставлял http:// в ссылках; очень странно, что в тегах code он вообще обрабатывает ссылки.
Я веду блог iptvmaster.ru с 2018 года. За это время создал сотни IPTV плейлистов с телеканалами, фильмами и музыкой. Научился добавлять телепрограмму (EPG) и иконки каналов.
Эта статья — самый подробный гайд о создании m3u плейлистов для интернет-телевидения. Будьте внимательны, и у вас всё получится! 🙂
Содержание
Как выглядит IPTV плейлист?
Плейлист для IPTV — это текстовый файл с расширением m3u или m3u8. В нём содержатся названия каналов и ссылки на прямые трансляции на сторонних серверах.
Списки могут быть бесконечного размера — хоть со 100 тысячами источников.
Что такое IPTV и как оно работает, я подробно рассказал в этой статье — https://iptvmaster.ru/chto-takoe-iptv/
Создаём m3u плейлист в обычном блокноте
Нам потребуется любой блокнот. Используйте стандартный Блокнот от Windows, если вам удобно. Я рекомендую установить Notepad++.
1. Никаких рекламных дополнений не вшито, поэтому смело соглашаемся со всеми пунктами установки и открываем программу.
2. Сохраняем чистый файл под любым именем, ставим точку и пишем «m3u». Например, playlist-films.m3u и сохраняем.
3. Пустой m3u файл готов. Теперь второй этап — наполнение каналами и фильмами.
Как нужно заполнять данные?
Первая строка в каждом файле должна быть только с одной надписью — #EXTM3U . Ничего больше не пишем, ставим Enter и идём дальше.
Теперь можно записывать телеканалы.
Делаем это таким способом:
#EXTINF:-1,Название канала
http://адрес-сайта-с-файлом.m3u8
Например:
#EXTM3U
#EXTINF:-1,Здоровье
http://ott-cdn.ucom.am/s90/04.m3u8
#EXTINF:-1,Первый канал HD
https://megogo.cdnvideo.ru/1tvstream/playlist.m3u8
#EXTINF:-1,112 Украина HD
http://app.live.112.events/hls-ua/112hd_mid/index.m3u8
Таким образом мы можем записать хоть тысячу каналов.
Плейлисты с музыкой создаются похожим образом:
#EXTM3U
#EXTINF:100,Исполнитель — Композиция
Пример-песни.mp3
#EXTINF:300,Другой исполнитель — Другая композиция
Новинки/Песня.ogg
Числа 100 и 300 — это количество секунд в песне. Обязательно записывать точное количество вплоть до единицы.
Где взять m3u ссылку?
Как добавить категории и рубрики в плейлист?
Итак, в нашем плейлисте уже записаны названия каналов и m3u адреса потоков. Это отлично, но как ориентироваться, когда в файле сотня или тысяча трансляций?
В таких случаях на помощь приходит возможность создания категорий в плейлисте.
Делается это очень легко:
1. Нажимаем Enter и создаём пустую строку между названием и адресом канала.
2. Указываем категорию в этой линии. Для этого напишите #EXTGRP: и после двоеточия укажите название подгруппы. Например, новости или познавательные (каналы).
3. Повторите действия со всеми каналами в плейлисте. Можете скопировать строку с категорией и вставлять в нужные места. Так будет быстрее.
Как добавить телегид?
За телепрограмму и иконки каналов отвечает EPG. Это файл на стороннем сервере, с которого берётся расписание телеканалов и их иконки.
Настройка занимает несколько минут. О ней я подробно рассказал в отдельной статье — https://iptvmaster.ru/epg-for-iptv/
Важный момент!
Бесплатные источники часто выходят из строя, примерно раз в месяц. Правообладатели блокируют адреса потоков, чтобы защитить свой контент.
Актуальные плейлисты можно скачать с нашего сайта — https://iptvmaster.ru/m3u-playlists/
Стабильное и качественное IPTV доступно только в платных сервисах (от 1-2$ в месяц).
Как добавить плейлист в Kodi?
- С главной страницы плеера перейдите в Дополнения – Мои Дополнения – Клиенты PVR;
- Выберите PVR IPTV Simple Client > Настроить;
- Нажмите на Путь к M3U, введите адрес расположения файла и нажмите ОК;
- Вся информация обновится автоматически и будет загружена в программу;
- Вернитесь в главное меню и перейдите во вкладку ТВ;
- Откройте категорию Каналы и включите любой телеканал.
Музыка и фильмы добавляются аналогичным образом. Воспроизвести их можно будет в соответствующих категориях.
Формат EXTM3U–>
Формат EXTM3U появился как расширение формата m3u (от этого и название – extended m3u) широко применяемый для формирования плейлиста со списком аудиозаписей. Изначально этот формат использовался в медиапроигрывателе Winamp, но со временем обрел высокую популярность, и его со временем начали поддерживать почти все проигрыватели. Сейчас m3u стал практически стандартом для формирования плейлистов медиапроигрывателей и медиаустройств воспроизводящих аудио и видеоконтент.
Файл в формате EXTM3U представляет из себя текстовый файл с расширением m3u или m3u8.
Пример содержимого файла в формате EXTM3U
#EXTM3U – это заголовок файла, сообщает устройству что это действительно плейлист в формате EXTM3U а не какой то текстовый документ произвольного содержания. Также рядом с ним может указываться ссылка на файл тв-программы в случае если плейлист используется для просмотра ТВ. Выглядит это так : url-tvg=”http://playlistserver/xmltv.xml.gz”
#Playlist1 – наименование плейлиста
Директива #EXTINF сообщает о том, что в плейлисте дальше последуют данные о треке/канале. -1 – длительность трека, -1 проставляется для игнорирования длительности дорожки/потока, но может быть и задана в секундах, например так #EXTINF:362
tvg-name=”Канал 1″ – атрибут указывающий наименование канала, не является стандартом, но поддерживается многими IPTV и медиалеерами tvg-logo=http://site.domain/channel1_logo.png – также не обязательный и не официальный атрибут содержащий ссылку на логотип канала
Канал 1 – название трека/канала, является обязательным и стандартным параметром. #EXTGRP:Группа1 – атрибут указывающий на группу каналов, так же является неофициальным. Второй вариант указать медиаплееру группу канала – это атрибуты group_id=”1″ group-title=”Группа1″. Group_id указывает на идентификатор канала, group-title – наименование группы.
Далее следующая строка – это сама ссылка на медиаисточник, например поток IPTV или путь к имени файла если это музыкальный трек, http://site.domain/channel1
Описание атрибутов EXTM3U
Атрибуты плейлиста, указываются в строке после директивы #EXTM3U
- url-tvg – ссылка на файл тв-программы
- cache – время кеширования
- deinterlace – деинтерлейс, 0, 1 = Blend, 2 = Mean
- aspect-ratio – соотношение сторон, None, 4:3, 16:9
- crop – обрезка изображения WxH+X+Y (например, 690×550+15+10)
- refresh – периодичность обновления
Атрибуты канала
- censored – указывает на то что канал требуется защитить родительским контролем, если такой присутствует в устройстве, может принимать значения 0 и 1
- id – уникальный идентификатор канала
- tvg-id – уникальный идентификатор канала в файле программы, если используется например формат XMLTV
- group_id – идентификатор группы каналов
- group-title – наименование группы каналов
- tvg-shift – указывает на смещение расписания программы, принимает значения -1,-2,0,1,2,.. и так далее.
- tvg-name – наименование канала в файле программы, используется в основном при использовании программы в формате JTV
- tvg-logo – ссылка на логотип канала
- audio-track – указывает какую звуковую дорожку использовать, например en или ru
- audio-track-num – указывает какой номер звуковой дорожки использовать, начиная с нуля, например 0,1,2 и так далее
Friendly IPTV Player поддерживает большинство описанных выше параметров. С помощью этого приложения вы можете просматривать IPTV каналы указанные в плейлисте формата EXTM3U. Для того чтобы начать просмотр вам нужно установить плеер в телевизор LG и указать URL плейлиста со списком каналов. Более подробно о всех настройках и поддерживаемых атрибутах EXTM3U вы можете прочитать в инструкции пользователя к плееру.
Следующая страница »
M3U — это формат текстовых компьютерных файлов, используемый для хранения списков воспроизведения и созданный компанией Nullsoft для известного аудио-плеера Winamp Media Player, ставший в дальнейшем стандартом списков воспроизведения для большинства других мультимедийных программ и систем.
Одним из наиболее распространенных применений M3U файлов является плейлисты видео и аудио файлов, как локальных хранилищах, так и на удаленных серверах для потоковой передачи мультимедиа через сеть Интернет для аудио, VoD и IPTV сервисов.
Файл M3U обычно имеет кодировку UTF-8 и содержит пути к одному или нескольким медиафайлам или стриминговым потокам, а также дополнительные сведения, такие как: наименование для отображения, сортировка, графические элементы и прочее.
В первой строке M3U файла обязательно указание директивы #EXTM3U – это подзаголовок, который делает формат списка воспроизведения понятным для программ воспроизведения. За заголовком следует строка #EXTINF, содержащая сведения о медиа-файле.
Помимо продолжительности и заголовка для каждой записи, в M3U плейлистах есть ряд дополнительных параметров:
- «tvg-name» – указание отображаемого наименования;
- «tvg-logo» – логотип канала;
- «audio-track» – аудиодорожка канала (языки);
- “Group-title2”: наименование группы (спортивный, образовательный и тому подобные).
Самый простой способ открыть плейлист в формате M3U – это установить один из плееров прямо на телевизор или медиа-приставку. После установки появится доступ к определенным каналам, поэтому зайдите в настройки и нажмите Добавить плейлист и укажите ссылку на адрес плейлиста, либо предварительно скачайте его на локальное хранилище.
Помимо классический текстовых редакторов, для создания плейлиста в формате M3U можно воспользоваться специальными плеерами IPTV, в которых присутствует функция создания списков воспроизведения. Это намного лучше, чем создавать их ручным способом.
Один из таких плееров – Simple TV. После установки программы откройте ее и зайдите в раздел «Плейлист», выберите из всплывающего списка «Поиск каналов». Задайте диапазон адресов для сканирования. В конце сканирования откроется список телеканалов. Установите флажки рядом с теми, которые хотите добавить, и нажмите на «Сохранить».
Бесплатные плейлисты с ТВ каналами и радио можно скачать здесь: https://iptv-russia.ru/playlists/
Лучшие сервисы платных плейлистов IPTV доступны здесь: https://iptv-russia.ru/operators/list/
Iptv m3u плейлист по своей сути это сборник ссылок на потоки. Плейлист позволяет программе для просмотра IPTV или IPTV приставке ориентироваться в информационных потоках интернета. Можно сказать что Iptv m3u плейлист – это телефонный справочник!
#EXTM3U — формат IPTV плейлиста
Итак, каждый файл Iptv m3u плейлиста начинается с утверждения #EXTM3U – это заголовок, который определяет назначение и формат плейлиста. #EXTM3U – это формат M3U iptv плейлиста. По сути, это текстовый файл с ресширением M3U с кодировкой Latin-1, также известная как ISO 8859-1 и предназначена для западноевропейских языков. Поэтому, если в файле Iptv m3u плейлиста присутствуют русские символы (кириллица) в названии потоков, то готовьтесь в iptv приложении встретить нечитабельные иероглифы. Но каналы с латинскими символами, как — MCM Top, MUSIC BOX RU, RUTV, VH1 Classic в плеере IPTV и VLC будут нормально отображаться. Потоки, с кириллицей в названии, такие как – НСТ, 365 дней ТВ, 24 ДОК, Парк развлечений, будут отражать с кракозябрами. Как избавиться от кракозябр и иероглифов в структуре IPTV M3U плейлистаЧто бы избежать появление иероглифов в названиях каналов при просмотре IPTV плейлиста нужно использовать UTF-8 кодировку. Кодировка UTF-8 даёт возможность отобразить символы в почти всех языках мира. И каналы будут читаемыми!Исправление IPTV плейлиста в UTF-8 кодировкуИсправить кодировку в UTF-8 достаточно просто, для этого нам необходимо iptv плейлист открыть с помощью приложения “Блокнот”. На файле плейлиста нажимаем правой кнопкой мыши, появляется меню выбора действий. Выбираем вкладку “Открыть с помощью” и если в открывшемся меню вы не увидите приложение “Блокнот”, то нажимаете “Выбрать другое приложение”.После этого выбираем из предложенного списка нужную программу.Вот и открывается наш iptv плейлист.Теперь наша цель пересохранить открытый файл, для этого выбираем вкладку “Сохранить как”Теперь самое главное во вкладке “Кодировка” выбрать UTF-8 и смело сохранять файл под нужным вам именем и в нужном месте.
#EXTINF — расширенная информация о потоках IPTV плейлиста
В файле плейлиста присутствует непонятное слово #EXTINF, но это индикатор для приложения которое будет отображать каналы iptv на компьютере или сматрфоне. Этот индикатор сообщает приложению о медиафайле, которые будут отображаться с помощью этого плейлиста. По сути #EXTINF расшифровываться как Extended information или Расширенная информация. В большинстве случаев #EXTINF содержит в себе 2 параметра. Первый – это продолжительность медиафайла, в iptv плейлисте этот параметр «-1». Минус один означает что длина медиафайла неизвестна и будет проигрываться пока данные поступают. Второй – это название потока медиафайла, или же просто название канала. Так же есть ещё несколько параметров: «tvg-logo» – логотип воспроизводимого медиафайла или потока «audio-track» – аудиодорожка, как правило если их несколько и возможен их выбор «group-title» – обозначает группу потоков и медиафайлов по критериям (Детские, Познавательные и Новости)Ссылка на медафайл или поток в IPTV плейлисте IPTV плейлист содержит в себе очень много http адресов воспроизводимых видеофайлов или потоков. Например http://217.174.225.146/legacyhls/ch006.m3u8 именно эта ссылка и подсказывает IPTV программе откуда нужно начать загрузку видеофайла для воспроизведения. Но к сожалению IPTV потоки довольно часто меняються и обновляються, поэтому на своём сайте я пытаюсь своевременно выкладывать ссылки на iptv m3u плейлисты для удобного просмотра.
ли со статьей или есть что добавить?