Как мы можем скачать видео с BLOB-URL?

Я хочу скачать видео, URL которого не является простым файлом mp4, но его URL имеет тип blob, например.

<video id="playerVideo" width="450px" autoplay="autoplay" height="338px" style="height:100%;width:100%;" class="mejs-rai-e" src="blob:http://www.example.com/d70a74e1-0324-4b9f-bad4-84e3036ad354"></video>

Существует ли какое-либо расширение или программное обеспечение chrome, которое можно использовать для загрузки воспроизводимого видео.

9 ответов

Я просто придумал общее решение, которое должно работать на большинстве сайтов. Я пробовал это только на Chrome, но этот метод должен работать с любым другим браузером, так как Dev Tools почти одинаковы во всех.

шаги:

  1. Откройте инструменты разработчика браузера (обычно F12, или Ctrl-Shift-I, или щелкните правой кнопкой мыши, а затем нажмите " Проверка" во всплывающем меню) на странице с интересующим вас видео.
  2. Перейдите на вкладку Сеть и перезагрузите страницу. Вкладка будет заполнена списком запросов (может быть до сотни или даже больше).
  3. Поиск по именам запросов и найти запрос с .m3u8 расширение. Их может быть много, но, скорее всего, первое, что вы найдете, это то, что вы ищете. Может иметь любое имя, например playlist.m3u8,
  4. Откройте запрос и в подразделе Заголовки вы увидите полный URL-адрес запроса в поле URL- адрес запроса. Скопируйте это. введите описание изображения здесь
  5. Извлеките видео из m3u8. Есть много способов сделать это, я дам вам те, которые я пробовал, но вы можете узнать больше от Google, "загрузив видео с m3u8".
    • Вариант 1. Если у вас установлен проигрыватель VLC, введите URL-адрес в VLC с помощью параметра меню " Открыть сетевой поток... ". Я не буду вдаваться в подробности по этой части здесь, во многих местах есть множество исчерпывающих руководств, например, здесь. Если страница не работает, вы всегда можете найти другую, воспользовавшись "vlc download online video".
    • Вариант 2. Если вам больше нравится командная строка, используйте FFMPEG или ваш собственный скрипт, как указано в этом вопросе SuperUser.

Используйте расширение HLS Downloader Google Chrome, чтобы получить ссылку на список воспроизведения M3U. Его значок на панели браузера покажет количество списков воспроизведения, найденных на текущей веб-странице. Нажав на значок, вы можете увидеть список ссылок на список воспроизведения, а затем использовать кнопку копирования рядом со ссылкой, чтобы скопировать его.

Затем используйте программу https://youtube-dl.org/ для загрузки файла.

youtube-dl --all-subs -f mp4 -o "file-name-to-save-as.mp4" "https://link-from-Google_Chrome-HLS_Downloader_extension"

Объяснение параметров командной строки:

  • -f mp4 = Выходной формат mp4

  • --all-subs = Скачать все субтитры

  • -o "file-name-to-save-as.mp4" = Имя файла для сохранения видео.

  • " https://link-from-google_chrome-hls_downloader_extension/" = Это ссылка на список воспроизведения, который вы скопировали из расширения HLS Downloader.

Если вы все время используете одни и те же параметры конфигурации для youtube-dl, возможно, вы захотите взглянуть на параметры конфигурации для youtube-dl, так как это может сэкономить вам много времени при наборе текста.

Расширение HLS Downloader является бесплатным и с открытым исходным кодом под лицензией MIT, если вы хотите увидеть код, его можно найти на его странице проекта на Github.

Есть множество способов получить URL .m3u8 либо путем просмотра источника страницы, просмотра вкладки "Сеть" в инструментах разработчика в Chrome, либо с помощью плагина, такого как HDL / HLS Video Downloader.

С URL.m3u8 в руке вы можете использовать ffmpeg скачать видео в файл примерно так:

$ ffmpeg -i 'https://url/to/some/file.m3u8' -bsf:a aac_adtstoasc \
    -vcodec copy -c copy -crf 50 file.mp4

Вот как мне удается его "скачать":

  1. Используйте inspect-element для определения URL файла списка воспроизведения M3U
  2. Загрузите файл M3U
  3. Используйте VLC для чтения файла M3U, потокового воспроизведения и конвертации видео в MP4

В Firefox файл M3U появился как тип приложения / vnd.apple.mpegurl

введите описание изображения здесь

Содержимое файла M3U будет выглядеть так:

Откройте медиальный проигрыватель VLC и используйте опцию Media => Convert. Используйте ваш (сохраненный) файл M3U в качестве источника:

введите описание изображения здесь

Процесс может отличаться в зависимости от того, где и как размещается видео. Знание этого может помочь ответить на вопрос более подробно.

В качестве примера; это то, как вы можете загружать видео с помощью блоб-ссылок на Vimeo.

  1. Посмотреть исходный код видео плеера iframe
  2. Поиск mp4
  3. Скопировать ссылку с запросом токена
  4. Скачать до истечения срока действия токена

Источник и пошаговые инструкции здесь.

Если вы не можете найти .m3u8 файл вам нужно будет сделать пару шагов по-другому.

1) Перейдите на вкладку сети и сортируйте по Media

Сортировать по медиа

2) Вы увидите что-то здесь и выберите первый пункт. В моем примере это mpd файл. затем скопируйте URL запроса.

3) Затем загрузите файл, используя ваш любимый инструмент командной строки, используя URL-адрес из шага 2.

youtube-dl -f bestvideo+bestaudio https://url.com/destination/stream.mpd

4) В зависимости от кодировки вам может потребоваться объединить аудио и видео файлы вместе, но это будет зависеть от случая видео за видео.

  1. Найдите список воспроизведения / манифест с вкладкой сети инструментов разработчика. Всегда есть один, как это работает.
  2. Отдайте его инструменту youtube-dl. Он может загрузить гораздо больше, чем просто YouTube. Он автоматически загрузит каждый сегмент, затем объединит все с FFmpeg, а затем отбросит части. Есть большая вероятность, что он поддерживает сайт, который вы хотите загрузить с самого начала, и вам даже не нужно делать шаг № 1.

Я разместил это уже на некоторых других сайтах, и хотя почему бы не поделиться им с парнями / девочками в stackru.

  1. Установите расширение Video DownloadHelper в браузере Firefox.
  2. С активированным DownloadHelper перейдите на веб-страницу, содержащую видео, которое вы хотите загрузить.
  3. После того, как видео транслируется, нажмите значок DownloadHelper. Это даст вам список всех форматов файлов, доступных в текущем видео.
  4. Прокрутите до нужного формата файла
  5. На правой стороне вы увидите стрелку
  6. Нажмите на эту стрелку, чтобы получить больше информации о текущем видео и выбранном формате
  7. В появившемся окне в конце этой стрелки прокрутите вниз и выберите "Детали"
  8. Теперь у вас есть все детали, касающиеся текущего видео и выбранного формата. Это что-то вроде этого.

Подробности попадания⊗ _needsAggregate _needsCoapp действия битрейт chunked descrPrefix durationFloat extension frameId из группы кэша
hls id isPrivate длина masterManifest mediaManifest originalId размерреферера статус статус title topUrl url urlFilename

  1. Теперь посмотрим на специфику реферера в этом Hit Details. Это URL, который вы хотите. Скопируйте его и вставьте в свой любимый загрузчик.

Если для создания большого двоичного объекта используются данные из манифеста F4M (см. Вкладку "Сеть" в инструментах разработчика Chrome), вы можете загрузить видеофайл с помощью сценария php, размещенного здесь: https://n1njahacks.wordpress.com/2015/01/29 / как к экономии-HDS-флэш-потоков-из-любого-веб-страница /

Поместив:

  if ($manifest == '')
    $manifest = $_GET['manifest'];

до:

  if ($manifest)

Вы даже можете запустить его на веб-сервере, используя запросы со строкой запроса: ?manifest=[manifest url],

Обратите внимание, что вы, вероятно, захотите использовать FTP-клиент для извлечения загруженного видеофайла и очистки после выполнения сценария (он оставляет все загруженные части видео).

Хотелось добавить еще один ответ специально для блоб-видео Facebook, что кажется хитрым. Похоже, что ссылка на blob ведет к нескольким последовательным потокам.mp4, как будто видео разбито на сотни коротких фрагментов. Кажется, что нет ни одного плейлиста, такого как f4m или m3u8.

Для меня единственным успешным решением было использование https://fbdown.net/index.php, а для частных видео мне нужно было использовать их помощник по загрузке видео (бесплатное расширение chrome). Теоретически у них есть отдельная веб-страница для загрузки частных видео, которая включает в себя копирование и вставку исходного кода страницы в текстовое поле. Но это не сработало для меня. Плагин Chrome делает все же. URL плагина: https://chrome.google.com/webstore/detail/fbdown-video-downloader/fhplmmllnpjjlncfjpbbpjadoeijkogc

Вы можете просто щелкнуть правой кнопкой мыши и сохранить BLOB-объект как mp4.

Когда я играл с видео / аудио записью в браузере, выходной блоб был доступен для скачивания напрямую.

Другие вопросы по тегам