Попробовать
← Назад к блогу

Видео играет, а список медиафайлов пуст: обнаружение слушает запросы

Инструмент установлен, видео явно воспроизводится, а список медиа справа пустой. Смените страницу, перезапустите приложение, попробуйте другой компьютер — то же самое. Список заполняется прослушиванием запросов, а не поиском файлов: если плеер по-настоящему не тянет поток, со стороны инструмента слышать нечего. Ниже разберём разные виды того, что здесь названо «ничего не слышно».

Инструмент не находит видео, потому что слушает запросы, а не ищет файлы

Инструмент работает так: он сидит на сетевом выходе страницы, каждый раз, когда плеер идёт за данными, запрос записывается, а список — это сводка таких записей. Он не прочёсывает страницу в поисках видеофайла — на странице стриминга такого файла попросту нет. Пустой список значит, что ничего не услышано, а не что ничего не найдено.

Чтобы в списке что-то появилось, должны совпасть два условия.

  • Плеер действительно начал тянуть поток: застыл на постере, дёрнулся при наведении курсора, автозапуск заблокирован — всё это не считается.
  • Запрос уходит оттуда, откуда инструмент слышит: если плеер вложен в другой фрейм, он не слышит.

Если не выполнено любое из двух, список остаётся пустым. Почему на странице стриминга нет готового видеофайла, разобрано в почему потоковые видео не скачиваются; здесь продолжаем со стороны прослушивания.

Если плеер ещё не начал тянуть поток, список так и будет пустым

Самый частый пустой список — это вообще не поломка: картинка движется, а плеер данные не забирает. Карусель постеров, предпросмотр при наведении, приглушённое окно с автозапуском — всё это создаёт ощущение, что видео идёт.

  • Предпросмотр при наведении и карусель постеров: те несколько секунд движения при наведении курсора — обычно смена картинок или очень короткий фрагмент.
  • Автозапуск заблокирован браузером: пока вы не кликнули по странице, автозапуск со звуком обычно отклоняется, руководство MDN по автовоспроизведению описывает это подробно; после отказа многие сайты не повторяют попытку, и картинка стоит и ждёт клика.
  • Плеер ещё не создан: на страницах с лентой плеер строится только после того, как вы долистаете до нужного места, а до этого тянуть поток неоткуда.
  • Перед ним закрытая дверь: пока не пройден вход в аккаунт или подтверждение возраста, запрос не уходит.

Все четыре случая сводятся к одному действию: дайте видео действительно проиграться, полных пять секунд и больше, и только потом смотрите список. Это помогает заметно лучше, чем обновление страницы — обновление не создаёт запрос на поток.

Когда плеер меняет способ отрисовки, инструмент перестаёт поспевать

Картинка идёт, поток действительно забирается, а список всё равно может быть пустым — то, что слышит инструмент, больше не выглядит знакомым образом. Современные веб-плееры редко выкладывают на страницу готовый файл; скрипт собирает сегменты в памяти браузера и отдаёт их на экран, и именно для этой задачи браузер определил отдельный интерфейс — первые строки спецификация Media Source Extensions от W3C прямо описывают его назначение.

  • Плеер вложен в другой фрейм: вся область воспроизведения приходит с другого адреса, и запрос на поток уходит из этого слоя.
  • У адреса сегмента нет обычного расширения: в конце адреса нет привычной пометки медиа, поэтому правила, судящие по расширению, его пропускают.
  • Запрос сначала перехватывает собственный кеш страницы: страница держит данные офлайн-механизмом и сама отдаёт их плееру, поэтому сетевой слой молчит.

Ничто из этого не поломка — это граница подхода «слушать запросы». Тот же инструмент нормально работает на других сайтах, и это не доказывает, что с этим сайтом что-то не так.

Быстрая проверка: есть ли медиазапросы во время воспроизведения

Одна вещь решает, кто виноват — страница или инструмент: уходит ли во время этих секунд воспроизведения хоть один медиазапрос. Нажмите F12, откройте инструменты разработчика, перейдите на панель сети, отфильтруйте по медиа и следите за строками, которые появляются, пока идёт воспроизведение — нажмите воспроизведение один раз и дайте ему пройти полные пять секунд.

  • Ни одной строки: плеер не тянет поток, значит проблема на стороне страницы — вернитесь к двум разделам выше и посмотрите, не проигралось ли оно по-настоящему или его заблокировали.
  • Запросы есть, а список пуст: поток забирается, а инструмент его не слышит, значит проблема на стороне инструмента — вот тут и стоит сменить подход.

Одну вещь стоит сказать прямо: эти адреса бесполезны, и использовать их не нужно. В сегментированном контенте одна строка не соберётся в воспроизводимый файл. И не путайте предмет — здесь мы проверяем случай, когда поток вообще не начинался; медленная скорость и подтормаживания после того, как полоса прогресса пошла, — другая проблема, она разобрана в как ускорить медленную загрузку.

Когда список пуст, сохраните нужное на компьютер

Обнаружение ждёт запроса, а запись на запросы не смотрит — она работает по картинке, поэтому, пока картинка действительно движется, ни один из случаев «не слышно» её не остановит. Сохранить контент на компьютер с помощью VidBrowser — это четыре шага:

Шаг 1: Скачайте и установите VidBrowser

VidBrowser — это настольный видеобраузер для Windows и Mac со встроенными скачиванием и записью. Ставить расширение, чтобы оно слушало вместо него, не нужно, установка занимает несколько минут.

Шаг 2: Откройте нужную страницу в VidBrowser и дайте видео действительно проиграться

Войдите под своим аккаунтом, пройдите страницу как обычно, затем нажмите воспроизведение один раз и дайте пройти несколько секунд. Именно на этом шаге воспроизводится та быстрая проверка.

Шаг 3: Сначала посмотрите, есть ли строка в списке медиа справа

Если есть, выберите разрешение и нажмите оранжевую кнопку скачивания, чтобы сохранить в MP4.

Шаг 4: Ничего нет — переключайтесь на запись

При наведении курсора на картинку появляются элементы записи: выберите скорость (1x в реальном времени, 2x или 4x — быстрее закончить), нажмите запись всего, чтобы захватить весь фрагмент, а кнопка записи слева запускает и приостанавливает в любой момент. Защищённый контент, прямые трансляции и все те случаи, когда поток не слышен, относятся к этому шагу. Готовые файлы ищите в истории загрузок слева, состояние аккаунта на них не влияет.

У этих материалов источника для скачивания нет — не ждите строки

Если вы прошли все шаги, а список всё ещё пуст, это обычно уже не поломка: источника для скачивания не было изначально. Пустой список — правильный результат.

  • Сами сегменты зашифрованы: запросы слышны, но собранный файл не воспроизводится, такой контент сохраняют записью.
  • Прямая трансляция: с первой секунды создаётся и отправляется на ходу, одного целого файла не существует, слышно непрерывный поток данных.
  • Картинка нарисована скриптом: всё отрисовывается кадр за кадром на canvas, медиаданных на странице нет, тянуть нечего.

Путь, который не зависит от того, есть ли файл, — это запись. Пустой список не значит, что ничего не выйдет, он значит, что вход поменялся.

Частые вопросы

Видео нормально играет, почему тогда в инструменте ничего нет?

Потому что обнаружение слушает запросы на поток, а не движение картинки — предпросмотр при наведении, заблокированный автозапуск и плеер внутри другого фрейма дают движение картинки при неслышном запросе. Нажмите воспроизведение один раз и дайте пройти несколько секунд.

Вчера на том же сайте всё находилось, сегодня список пуст. Что изменилось?

Скорее всего, страница поменяла способ работы плеера. После обновления плеера или смены формата адреса старое правило может перестать работать в тот же день, и это отдельный вопрос от того, сломан ли инструмент. Порядок действий — в что делать, если загрузчик перестал работать.

Можно взять те адреса из инструментов разработчика и скачать прямо оттуда?

В большинстве случаев бесполезно, и так делать не советуем. Сегментированный контент собран из десятков или сотен мелких частей, одна строка целого не даёт. Если нужна копия, запись — более прямой путь.

Еще статьи