M3U и M3U8: кодировка, HLS и примеры плейлистов

Практическая разница между M3U и M3U8 заключается не в качестве изображения. Расширение .m3u8 обычно сигнализирует о тексте списка воспроизведения UTF-8, а .m3u само по себе не сообщает вам, какая кодировка использовалась. Ни одно из расширений не сообщает вам, является ли файл каталогом каналов или частью презентации HLS.
Чтобы выбрать правильный ввод, ответьте на два вопроса: как кодируется текст и что представляют собой его записи? Каталог каналов может указывать на полные потоки. Список воспроизведения HLS может описывать варианты или медиа-сегменты для одной презентации. Путаница в этих профессиях вызывает больше проблем, чем выбор между двумя знакомыми суффиксами.
Практическая разница между M3U и M3U8
Думайте о расширении как о этикетке на конверте. Это помогает программному обеспечению решить, чего ожидать, но не переписывает содержимое. Файл может иметь правдоподобное имя и при этом содержать поврежденный текст, страницу с ошибкой или структуру, которую не принимает принимающее приложение.
| Вопрос | Что проверять | Что суффикс не может доказать |
|---|---|---|
| Будут ли имена отображаться корректно? | Кодировка текста файла | Что фактические байты соответствуют имени |
| Это каталог каналов? | Смысл его записей | Что в каждом файле M3U8 перечислены каналы. |
| Будут ли его медиа играть? | Доступ к потокам и поддержка мультимедиа | Что источник доступен или совместим |
Начните с файла, который ваш авторизованный источник рекомендует для вашего плеера. Не переименовывайте его только потому, что другое руководство говорит, что одно расширение всегда лучше. Сохраните оригинал, чтобы можно было сравнить внесенные изменения, если результат станет хуже.

Кодировка и названия каналов
Кодировка текста описывает, как сохраненные байты представляют символы. UTF-8 может представлять имена с акцентом и множество систем письма в одном файле. Если такое имя, как «Café Radio», появляется в виде неожиданных символов, проверьте кодировку файла и способ его сохранения, прежде чем изменять сам поток.
Проблема с кодировкой может повлиять на метки без изменения того, на какой медиа-адрес ссылается строка. Возможно и обратное: названия каналов могут выглядеть идеально, пока срок действия каждого URL-адреса потока истек. Диагностируйте, что не так, а не предполагайте, что читаемый список подтверждает рабочий доступ.
Если вы редактируете собственный плейлист, используйте текстовый редактор, который предоставляет кодировку сохранения. Выберите UTF-8 и сохраните предполагаемые разрывы строк. Визуально аккуратный документ текстового процессора может содержать форматирование, не подходящее для текстового списка воспроизведения.
Имя файла не является преобразованием кодировки
Переименование channels.m3u в channels.m3u8 приводит к изменению имени файла. Он не декодирует исходные байты и не записывает их снова в формате UTF-8. Если требуется преобразование, откройте текст, используя правильную исходную кодировку, и сохраните отдельную копию UTF-8.
После сохранения проверьте несколько неанглийских имен, особенно те символы, которые уже были повреждены. Сохранение нечитаемого текста в другой кодировке может сохранить ущерб, а не восстановить предполагаемые слова. По возможности восстанавливайте первоначальный источник вместо того, чтобы угадывать имена по символам.
Для управляемого списка воспроизведения попросите владельца источника экспортировать его в формате UTF-8. Самостоятельное редактирование сгенерированного файла может сработать для одной копии, но исчезнет при следующей загрузке. Исправление процесса создания более долговечно, чем многократное восстановление экспортированных этикеток.
Во время ремонта сохраняйте изменения кодировки и метки отдельно. Сначала сохраните копию с нужной кодировкой и проверьте ее, не меняя имен. Затем исправьте все известные ошибки маркировки на следующем этапе. Если вы измените оба одновременно, вы можете потерять доказательства, необходимые для объяснения того, почему символы изменились в исходном файле и импортированной коллекции.
Каталог каналов и плейлист HLS
Простой каталог связывает читаемые имена с медиа-адресами. В этом придуманном примере показаны формы, а не рабочие каналы:
#EXTM3U
#EXTINF:-1,Studio Camera
https://media.example.com/studio/master.m3u8
#EXTINF:-1,Training Session
https://media.example.com/training/session.mp4
Каждый адрес представляет собой элемент, который зритель может выбрать. Первый может привести к презентации HLS, а второй — к медиафайлу. Каталог находится на один уровень выше этих медиаресурсов. Он не содержит видео и не предоставляет примеры адресов.
Простой пример M3U от Live365 показывает заголовок файла, отображаемые сведения и формат адреса потока. Используйте его, чтобы понять базовую структуру, а не как подтверждение того, что любой дополнительный атрибут IPTV поддерживается каждым плеером.
Мастер-плейлисты HLS и медиа-плейлисты выполняют разные задачи.
Согласно RFC 8216, главный список воспроизведения HLS указывает на варианты плейлистов мультимедиа; список воспроизведения мультимедиа идентифицирует сегменты, воспроизводимые последовательно. Первый помогает клиенту выбрать версию презентации, а второй описывает фрагменты, используемые для ее воспроизведения.
Прочитайте требования к плейлисту HLS в разделах 4 и 4.1, чтобы узнать точные правила. Это информационный RFC. Он требует UTF-8 без знака порядка байтов и допускает идентификацию через путь URI .m3u8 или .m3u или указанный тип содержимого HTTP. HLS не всегда требует суффикса .m3u8.

Определите цель перед импортом
Вы можете встретить такие теги, как #EXT-X-STREAM-INF в основном плейлисте или #EXT-X-TARGETDURATION в плейлисте мультимедиа. Это ключ к разгадке структуры HLS. Не удаляйте незнакомые теги из манифеста потока, чтобы он напоминал каталог канала.
Проигрыватель может использовать адрес HLS в качестве медиа-цели записи каталога, не представляя все сегменты манифеста как отдельные каналы. В этом полезное различие: зритель выбирает программу, а система воспроизведения управляет ее внутренней структурой доставки.
Если при импорте возникают неожиданные имена сегментов или один незнакомый элемент, спросите, указали ли вы предполагаемый каталог или манифест одного потока. Приложение может иметь отдельные пути для открытия медиа и импорта коллекций каналов. Их существование и метки необходимо проверить в этом конкретном приложении.
Не думайте, что главный плейлист HLS представляет собой редактируемое меню несвязанных телевизионных каналов. Его варианты могут представлять собой альтернативные кодировки одного и того же представления. Удаление или изменение их порядка без понимания их взаимоотношений может скорее повредить воспроизведение, чем упростить пользовательский интерфейс.
Что меняет переименование, а что оставляет в покое
Новое расширение может повлиять на то, какое приложение устройство предложит открыть файл. Это также может повлиять на обработку сервера при размещении документа. Эти эффекты являются причиной использования точных имен, а не доказательством того, что переименование исправляет несовместимое содержимое.
Переименование не приводит к обновлению учетных данных, преобразованию кодека, созданию недостающих медиа-сегментов или преобразованию веб-сайта в поток. Если загруженный файл содержит страницу входа в формате HTML, добавление .m3u8 оставляет его той же страницей входа под другим именем.
| Изменять | На что это может повлиять | Что необходимо проверить отдельно |
|---|---|---|
| Переименуйте расширение | Идентификация и ассоциация файлов | Фактическая кодировка и структура |
| Сохраните, используя UTF-8. | Представление персонажа | Правильные метки и правильный синтаксис. |
| Заменить адрес потока | Запрошенный ресурс | Поддержка авторизации и воспроизведения |
| Изменение отображаемого имени | Как вы идентифицируете запись | Работают ли еще его медиа |
Избегайте случайных двойных расширений
Некоторые редакторы добавляют .txt автоматически. Документ, отображаемый в файловом менеджере как channels.m3u8, на самом деле может иметь другой скрытый суффикс. Проверьте полное имя, если сборщик импорта не примет его, а затем исправьте параметры сохранения для будущего экспорта.
Также отличайте локальный файл от удаленного ответа. URL-адрес может возвращать текст списка воспроизведения, даже если его путь выглядит незнакомым. И наоборот, URL-адрес, заканчивающийся расширением списка воспроизведения, может возвращать документ с ошибкой. Фактический ответ и поддерживаемые входные данные принимающего плеера определяют, что произойдет.
Прежде чем распространять отредактированный каталог, проверьте его в том же виде, в каком его получат получатели. Предварительный просмотр в редакторе не является импортированным результатом, а старая кэшированная копия не является новым файлом. Дайте пробной копии понятное имя и проверьте ее содержимое локально. Это позволяет избежать сравнения двух разных версий, полагая, что изменилось только расширение.
Какой файл следует использовать?
Используйте экспорт, поддерживаемый владельцем исходного кода, для своего плеера и сохраняйте текст UTF-8 нетронутым при редактировании собственного каталога. Если вам нужно создать небольшую коллекцию из авторизованных адресов потоков, следуйте отдельному руководству по созданию собственного файла M3U.

Прежде чем назвать выбор формата успешным, проверьте три вещи. Имена должны отображаться так, как задумано, плеер должен распознавать ожидаемую структуру, а выбранная запись должна фактически воспроизводиться. Эти проверки проверяют разные уровни; прохождение одного не заменяет других.
Например, читаемые имена плюс пустой экран воспроизведения предполагают, что расследование будет отличаться от нечитаемых имен в рабочей коллекции. Сохраните рабочие части, одновременно сужая место повреждения. Нет смысла перестраивать весь каталог только потому, что изменился один исходный адрес.
Когда вы будете готовы импортировать список воспроизведения, выберите задокументированный URL-адрес или маршрут к файлу для этого приложения. Сохраните чистую копию оригинала и запишите, что вы изменили. Если источник предоставил оба формата, сравните их в одинаковых условиях, а не предполагайте, что одно расширение изначально быстрее.
Сохраните вместе с файлом краткую запись об изменениях: что вы изменили, почему и какую запись вы проверили позже. Восстановление формата легче повторить, если оно преследует конкретную цель, например сохранение имен с диакритическими знаками, а не расплывчатую цель, например, сделать список воспроизведения более совместимым.
Используйте APTV для iPhone с собственным поддерживаемым списком воспроизведения, а затем проверьте как читаемые записи, так и воспроизведение. Изменение расширения или покупка функции приложения не могут восстановить недоступный источник.
Часто задаваемые вопросы
В чем основная разница между M3U и M3U8?
M3U — текстовый формат плейлиста; расширение M3U8 обычно идентифицирует текст UTF-8. Само по себе расширение не сообщает вам, является ли содержимое каталогом каналов или списком воспроизведения HLS. Осмотрите структуру и используйте ввод, поддерживаемый вашим плеером.
Является ли каждый файл M3U8 списком каналов IPTV?
Нет. Ресурс M3U8 может описывать варианты HLS или медиасегменты для потока вместо каталога каналов с отдельными именами. Проверьте, что содержит файл, прежде чем импортировать или редактировать его. Подобные расширения не делают эти структуры взаимозаменяемыми.
Могу ли я преобразовать M3U в M3U8, просто переименовав файл?
Переименование изменяет имя файла, а не кодировку текста или структуру списка воспроизведения. Если необходима кодировка UTF-8, сохраните текст с этой кодировкой и проверьте его содержимое. Изменение расширения не может исправить поврежденные адреса потоков или превратить страницу с ошибкой HTML в действительный список воспроизведения.
Означает ли M3U8 лучшее качество видео?
Нет. Кодировка текста плейлиста не определяет разрешение видео, качество сжатия или надежность доставки. Они принадлежат указанному носителю и пути воспроизведения. Тщательно названный плейлист все равно может указывать на плохой источник, а простой каталог может указывать на отличный носитель.
Может ли плейлист работать в автономном режиме?
Только в том случае, если носитель, на который он ссылается, также доступен без сети и проигрыватель поддерживает эту схему. При локальном сохранении онлайн-каталога видео, находящиеся по его адресам, не загружаются. Проверьте расположение носителей, а не используйте в качестве проверки наличие локального файла.
