Как мы можем скачать видео с BLOB-URL [закрыто]


221

Я хочу скачать видео, 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, которое можно использовать для загрузки воспроизводимого видео.


@cdlvcdlv Спасибо, чувак! После тестирования многих инструментов, это был тот, который работал для моего конкретного случая!
— Фелипепчо

@felipeptcho Добро пожаловать. Рад видеть, что ответом может помочь кто-то еще.
— cdlvcdlv

2
Посмотрите расширение HDS / HLS Video Downloader для браузеров на основе Chromium.
— georgeawg

13
Почему каждый ответ на этот вопрос предполагает расширение файла .m3u8? Это никогда не было указано в вопросе.
— Числовой маньяк

Здравствуйте @SidD, вы смогли решить эту проблему? Если да, не могли бы вы сообщить мне, какое решение сработало для вас?
— Хагравал

Ответы:


230

Я просто придумал общее решение, которое должно работать на большинстве сайтов. Я пробовал это только на 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 .

49
Вариант 3: использовать URL списка воспроизведения напрямую с youtube-dl, это очень просто!
— Арно Турнье

4
youtube-dl также работает для файлов mpd.
— Гибадо

2
@patricK Вы можете попробовать добавить referer, например:youtube-dl --add-header Referer: https://www.google.com/referer-page https://google.com/video.m3u8
— Searene

1
возражаю, если я спрошу, как вы открыли панель поиска в сетевом модуле и искали ключевые слова "m3u8".
— Чжоу XF

1
И вариант 4: используйте JDownloader 2 для загрузки URL плейлиста, на мой взгляд, это самый простой способ.
— Робин Хартманн

52

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

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

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 .


Это работает действительно хорошо, за исключением того, что в моем случае у MP4 не было звука? Есть ли способ решить эту проблему?
— Кристофер Д. Эмерсон

2
У меня не было его случиться. Это должно быть что-то с файлом, который вы скачиваете. Я считаю, что стандарт mp4 поддерживает несколько звуковых дорожек. Убедитесь, что нет другой звуковой дорожки и что первая - тишина.
— Фредерик,

1
Отличное расширение! намного проще, чем бегать вокруг себя с файлами m3u8 и просто пролить большие двоичные файлы. Однако мне не нужно было то, что было на YouTube. HLS Downloader дает мне видео файлы напрямую.
— Джастин Эмлай

попробуйте добавить -x в опциях
— сэр фон беркер

В моем случае я попробовал HLS Downloader с Twitter, и он работал, как сказал @Justin: он давал видеофайл напрямую. Но я также попробовал предложения, предложенные @Vlad для другого ответа - в основном все шаги выполнялись вручную - с теми же результатами (т.е. получение рабочего .MP4файла).
— Гвинет Ллевелин

27

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

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

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

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

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


2
Этот метод работает хорошо, даже если тип файла в .mp4url не является , просто проверьте заголовок файла и переименуйте его.
— ЕА

25

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

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

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

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

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

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

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


3
Отличный совет! Кажется, нет необходимости скачивать m3u8файл - вы можете просто вставить внешний URL в качестве источника.

на вкладке сети есть дополнительная вкладка «Медиа». проще получить файл m3u8 из нескольких элементов.
— pcarvalho

19

Существует множество способов получить 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

12

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

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

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

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

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

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

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


10

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

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

Хит Details⊗ _needsAggregate _needsCoapp действия BITRATE фрагментированного расширение descrPrefix durationFloat frameId fromCache группа
Длина HLS ID isPrivate masterManifest mediaManifest originalId ссылающегося название Статус размера topUrl URL urlFilename

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

9
  1. Найдите список воспроизведения / манифест с вкладкой сети инструментов разработчика. Всегда есть один, как это работает. У него может быть расширение m3u8, которое вы можете ввести в Фильтр.
  2. Отдайте его инструменту youtube-dl. Он может загрузить гораздо больше, чем просто YouTube. Он автоматически загрузит каждый сегмент, затем объединит все с FFmpeg и затем отбросит части. Есть большая вероятность, что он поддерживает сайт, с которого вы хотите загрузить его, и вам даже не нужно делать шаг № 1.
  3. Если вы найдете сайт, который упрям, и вы столкнулись с 403 ошибками ... Telerik Fiddler на помощь. Он может перехватывать и сохранять все передаваемое (например, видеофайл), поскольку он действует как локальный прокси. Все, что вы видите / слышите, может быть загружено, если только это не DRM-контент, такой как Spotify.

2
Как бы вы использовали youtube-dl для этого? просто youtube-dl https://....m3u8"?
— Азиз Джавед

Кроме того, это работает для частных видео?
— Азиз Джавед

@AzizJaved да, именно так. Я не проверял его на частных видео, но если вы видите страницу, где они находятся, то они работают точно так же, как на общедоступном видео. Важно то, что вы видите в браузере: если вы видите его, вы можете скопировать его. Просто! 😉
— Гвинет Ллевелин

Ребята, хотите ли вы от меня статьи о загрузке зашифрованных видео HLS? Это в основном шаг 3, но с ffmpeg для расшифровки и объединения сегментов ts.
— Firsh - LetsWP.io

0

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

Поместив:

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

перед:

  if ($manifest)

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

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


-27

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

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


Я не думаю, что это возможно. Можете ли вы поделиться, какой браузер вы загружаете?
— Пират Икс

Я использовал хром, но я имел в виду запись видео webrtc, сделанную на локальной машине. Для веб-блогов процедура может отличаться.
— псевдозач

1
это работает для обычных видео, но не для блобов, как кажется.
— TankorSmash
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.