Расширение файла M3U8 обычно используется для плейлистов M3U в формате UTF-8 (Unicode), которые используются различными медиаплеерами.
M3U (M3U (Moving Picture Experts Group Audio Layer 3 Однородного локатора ресурсов, MP3 URL) — это компьютерный формат, в котором хранятся мультимедийные плейлисты.
Вы можете найти больше информации о списках воспроизведения MP3 в записи расширения файла M3U.
Типы мима:
Audio/X-Mpegurl
Файлы с расширением файла M3U8-это списки воспроизведения, сохраненные в специальном формате текста M3U UTF-8 (Unicode). Плейлисты не содержат мультимедийного контента, только список песен или других мультимедийных файлов. Играй практически в каждом медиаплеере.
Как открыть: вы можете открыть файлы *.m3u8 в большинстве медиа -игроков.
Как преобразовать: общие плейлисты M3U8 могут быть преобразованы в формат специфического для медиаплеера. Это делается с загрузкой файла *.m3u8 и сохранением его в новом формате в вашем медиаплеере.
Как скачать фильм в потоковом формате m3u8 (и не только)
UTF-8 M3U Playlist File — Открыватели файлов
Windows
- Nullsoft Winamp
- Roxio Creator NXT Pro 6
- Apple iTunes
- RealNetworks RealPlayer Cloud
- Microsoft Windows Media Player
- VideoLAN VLC media player
- Foobar2000
- Songbird
Источник: whatext.com
Формат EXTM3U
Формат EXTM3U появился как расширение формата m3u (от этого и название – extended m3u) широко применяемый для формирования плейлиста со списком аудиозаписей. Изначально этот формат использовался в медиапроигрывателе Winamp, но со временем обрел высокую популярность, и его со временем начали поддерживать почти все проигрыватели. Сейчас m3u стал практически стандартом для формирования плейлистов медиапроигрывателей и медиаустройств воспроизводящих аудио и видеоконтент.
Файл в формате EXTM3U представляет из себя текстовый файл с расширением m3u или m3u8.
Пример содержимого файла в формате EXTM3U
#EXTM3U
#PLAYLIST:Playlist1
#EXTINF:-1 tvg-name=»Канал 1″ tvg-logo=»http://site.domain/channel1_logo.png», Канал 1
#EXTGRP:Группа1
http://site.domain/channel1
#EXTINF:-1 tvg-name=»Канал 2″ tvg-logo=»http://site.domain/channel2_logo.png», Канал 2
#EXTGRP:Группа1
http://site.domain/channel2
#EXTINF:-1 tvg-name=»Канал 3″ tvg-logo=»http://site.domain/channel3_logo.png», Канал 3
#EXTGRP:Группа2
http://site.domain/channel3
#EXTM3U – это заголовок файла, сообщает устройству что это действительно плейлист в формате EXTM3U а не какой то текстовый документ произвольного содержания. Также рядом с ним может указываться ссылка на файл тв-программы в случае если плейлист используется для просмотра ТВ. Выглядит это так : url-tvg=»http://playlistserver/xmltv.xml.gz»
Формат .M3U (IPTV)
#Playlist1 – наименование плейлиста
Далее в списке идут сами треки, в нашем случае каналы IPTV :
#EXTINF:-1 tvg-name=»Канал 1″ tvg-logo=»http://site.domain/channel1_logo.png», Канал 1
Директива #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 – наименование группы.
То есть, если задавать группу каналов через атрибуты получается такая строка :
#EXTINF:-1 group_id=»1″ group-title=»Группа1″ tvg-name=»Канал 1″ tvg-logo=»http://site.domain/channel1_logo.png», Канал 1
Строки с указанием группы канала #EXTGRP может и не быть.
Далее следующая строка – это сама ссылка на медиаисточник, например поток 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 вы можете прочитать в инструкции пользователя к плееру.
Источник: f-player.ru
Евгений Степанищев
Пишу, по большей части, про историю, свою жизнь и немного про программирование. Живу в Казани.
Как скачать видео с URL «blob:»
Нередко в последнее время нередко встречается ситуация, когда хочется сохранить себе видео какого-либо курса или подкаста. Для известных хостингов видео, типа «Ютьба» или «Вконтакта» существуют плагины браузера, которые справляются с этой задачей, а с менее известными площадками могут возникать проблемы.
Бывает, что в теге проигрывания видео (который легко найти при помощи «Инструментов разработчика» браузера) указан файл, который можно скачать, но иногда там применяется протокол blob: и с ним не настолько всё просто.
Пример окна «Инструментов разработчика» с найденным файлом с расширением «m3u8»
К счастью, есть способ скачать и такое видео, но он требует кое-каких специальных знаний.
Нужно открыть «Инструмент разработчика» на вкладке «Сеть» («Network»), запустить проигрывание видео и поискать в перехваченных урлах первый, который заканчивается на m3u8.
Этот урл надо скормить известной утилите для работе с видео ffmpeg:
ffmpeg -i ‘https://example.org/master.m3u8’ -c copy -bsf:a aac_adtstoasc ~/Downloads/output.mp4
Где https://example.org/master.m3u8 — перехваченный урл, а ~/Downloads/output.mp4 — файл, куда нужно будет сохранить искомое видео.
После этого остаётся только ждать, утилита ffmpeg сделает всё сама.
7 комментариев
PastorGL 2021
M3U это «мпег-плейлист», старинный формат из девяностых. Как бы неудивительно, что ffmpeg знает, что с ним делать, он ему родной. Но секрета в нём никакого нет, тот же винамп ещё с самых первых версий его юзал.
M3U8 — то же самое, но в кодировке utf8.
Евгений Степанищев 2021
Всё описанное не тайное знание, конечно.
Браузеры используют формат extended M3U (где вводятся дополнительные директивы, начинающиеся с символа комментария), расширенный директивами для стриминга видео (описаны в RFC 8216, «HTTP Live Streaming»).
Неудивительно, что ffmpeg умеет читать формат HTTP Live Streaming, но девяностые тут не причём — он появился около десяти лет назад (и стал стандартом всего три года как).
PastorGL 2021
появился около десяти лет назад (и стал стандартом всего три года как)
Неправда. M3U появился в 1996 году. Но он изначально был расширяемым (типа как XML), а стандартного набора тегов как такового никогда не было. Любой вендор волен выбирать своё подмножество.
10 лет назад в него просто добавили очередной набор новых тегов для стриминга по HTTP (конкретно Apple постарались, если не путаю), а три года назад их наконец-таки сподобились упомянуть в соответствующем RFC.
Евгений Степанищев 2021
Причём тут M3U? Я про HLS пишу, там же с этого предложение начитается)
PastorGL 2021
В диалоге с Евгением иногда довольно трудно удерживаться от фэйлспалма.
В HLS используется древний и отлично известный формат плейлистов M3U. Чтобы с ним работать, специальных знаний не нужно, нужна любая программа, которая умеет его читать, это же совершенно очевидно.
Что я и пытаюсь сказать разными словами третий раз.
Алло, приём. Меня всё ещё непонятно?
Евгений Степанищев 2021
У меня те же чувства. Попробую объяснить ещё раз.
Ffmpeg, кмк, понимает этот формат как раз из-за появления HLS, а не потому, что это старый формат. Кроме того, это не тот же формат, что в 90-е, он был расширен. Всё что понимает какой-то M3U, не обязательно сумеет правильно скачать стриминговое видео.
Den Talalá 2021
Спасибо большое за подсказку про ffmpeg. Сам сталкивался несколько раз с необходимостью скачать видео из такого «плейлиста», но мне это давалось с большим трудом, а воспользоваться ffmpeg не пришло в голову.
Василий 2021
Евгений, рекомендую YouTube-dl.Из названия неочевидно, но он поддерживает кучу других сайтов кроме самого ютуба, срабатывает для меня почти всегда.
Евгений Степанищев 2021
Попробую, когда будет случай, спасибо!
Неигор 2021
А теперь по человечьи. Я зашёл в винду, открыл сайт и нашёл нужное видео, нашёл адрес плейлиста м3у8 в сетевой вкладке(в инструментах, а не в адресной строке, эту часть я понел). У меня есть ссылка, есть открытый браузер в виндоус. Мои действия?
Евгений Степанищев 2021
Шаг 1: поставить другую операционную систему.
Виктор Шугаров 5 мес
Вероятно надо сразу отдать в ffmpeg урл index*.m3u8, а не этот master.m3u8, просто пример «легкий» попался? 🙂
В win7-10 нормально всё работает в командной строке.
-далее можно не читать, возможно ошибочное мнение-
А кстати в youtube тоже попадается потоковое видео, не только файлы лежат на серверах. Для файлов писал на vbs утилитку, которая собирала в локальный htm информацию по введённую в адресную строку ссылку на медиа, всякую информацию: превью и описание, урлы и инфо о кодеках, на все возможные закачки по ссылке, что-то по типу «ssyotube» получилось. Это не сложно оказалось, практиковался в изучении vbs (извините, не по теме).
Вот тогда и столкнулся с вебинарами (в основном), которые оказались в формате потока. Их кажется скачивал проигрывая с захватом в файл из плеера VCL, не знал тогда о ffmpeg, увы.
Евгений Степанищев 5 мес
Вероятно надо сразу отдать в ffmpeg урл index*.m3u8, а не этот master.m3u8…
Урл master — один, а index* — много, это видно на скриншоте во внутренностях файла master.
Источник: bolknote.ru