Зашифрованные сигналы HLS для проверки
| Signal | Что это значит | Что протестировать |
|---|---|---|
| #EXT-X-KEY:METHOD=AES-128 | В потоке используется стандартное шифрование сегмента HLS. | Убедитесь, что ключевой URI загружается по тому же прямому или прокси-путю, что и сегменты. |
| Запрос ключа заблокирован | Манифест загружается, но воспроизведение завершается с ошибкой, когда игрок получает ключ. | Включите прокси или исправьте Access-Control-Allow-Origin для ключа URL. |
| Защищенная ключевая конечная точка | Ключ URL возвращает 403, если запросы не включают исходный контекст страницы. | Установите исходную страницу как Referer через прокси и повторите воспроизведение. |
| Вращающиеся клавиши | Список воспроизведения с течением времени ссылается на более чем одну клавишу. | Протестируйте достаточную часть потока, чтобы убедиться, что каждый указанный ключ остается доступным. |
| DRM-система | Для потока требуется Widevine, FairPlay, PlayReady или обмен лицензий. | Используйте лицензионное приложение или плеер. Этот инструмент не обходит DRM. |
Как протестировать зашифрованный поток M3U8
- 1Вставьте зашифрованный M3U8 URLНачните воспроизведение с прямого URL, чтобы вы могли увидеть, доступны ли манифест, ключ и сегменты без дополнительной маршрутизации.
- 2Проверьте манифест с отчетом о состоянии здоровьяЗапустите валидатор, чтобы проверить, ссылается ли плейлист на #EXT-X-KEY и выглядит ли он как живой или VOD HLS.
- 3Маршрутизация ключей и сегментов вместеЕсли CORS блокирует ключ или медиа-файлы, включите прокси-сервер, чтобы манифест, URI ключа и сегменты использовали один и тот же источник, читаемый браузером.
- 4Добавьте Referer для конечных точек защищенного ключа.Если ключ URL возвращает 403, установите исходную страницу воспроизведения как Referer через прокси и повторите поток.
- 5Остановитесь на границах DRMЕсли для потока требуется сервер лицензий или стек DRM, используйте авторизованный проигрыватель. AES-128 доступ по ключу — это не то же самое, что обход DRM.
AES-128 HLS отличается от DRM
AES-128 HLS сохраняет ключевой URI в списке воспроизведения с #EXT-X-KEY и шифрует обычные медиасегменты. Если вам разрешен доступ к ключу, проигрыватель браузера HLS обычно может расшифровать воспроизведение. Системы DRM требуют обмена лицензий и платформы CDM, которые этот инструмент не заменяет и не обходит.
Почему ключевые URL терпят неудачу даже при загрузке манифеста
Манифест, ключ и сегменты могут находиться в разных путях или доменах. Поток может раскрыть список воспроизведения, но заблокировать ключ с помощью проверок CORS, подписанного срока действия URL или Referer. Для зашифрованных потоков должен быть доступен каждый запрос в цепочке, а не только первый файл .m3u8.
Как преобразование обрабатывает зашифрованные HLS
Для обычных доступных потоков AES-128 преобразователь MP4 может получить ключ, указанный в манифесте, и расшифровать его на этапе FFmpeg. Если доступ к ключу заблокирован, исправьте маршрутизацию прокси-сервера или Referer, прежде чем пытаться экспортировать MP4 или MP3.
Связанные зашифрованные страницы HLS
- Конвертер M3U8 в MP4 может экспортировать доступные потоки AES-128 HLS с локальными FFmpeg WebAssembly.
- HLS CORS ошибка объясняет, почему запросы ключей и сегментов требуют ответов, читаемых браузером.
- Пользовательский проигрыватель Referer M3U8 охватывает защищенные конечные точки ключа или сегмента, которые отклоняют прямые запросы.
Часто задаваемые вопросы
Может ли этот плеер воспроизводить зашифрованные потоки M3U8?
Да, для обычных потоков AES-128 HLS, когда доступны сегменты манифеста, ключа URL и медиа. Он не может обойти системы DRM или серверы лицензий.
Что означает #EXT-X-KEY в файле M3U8?
#EXT-X-KEY сообщает проигрывателю HLS, как шифруются медиа-сегменты и где получить ключ дешифрования. Для AES-128 HLS этот ключ URL должен быть доступен для воспроизведения или преобразования для работы.
Почему зашифрованный поток не работает после загрузки манифеста?
Наиболее распространенной причиной является заблокированный запрос ключа. Манифест может загрузиться, но воспроизведение не удается, если браузер не может получить ключ AES-128 или более поздние зашифрованные сегменты.
Может ли прокси-сервер CORS помочь с зашифрованным HLS?
Да, если проблема в доступе через браузер. Прокси-сервер должен маршрутизировать манифест, ключ URL и медиа-сегменты вместе, чтобы каждый зашифрованный запрос HLS мог быть прочитан браузером.
Обходит ли это Widevine, FairPlay или PlayReady?
Нет. Потоки, защищенные DRM, требуют авторизованного обмена лицензиями и поддержки DRM на платформе. Этот инструмент предназначен для обычной HLS отладки, а не для обхода DRM.