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

Sidd
источник
@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 .

frederickjh
источник
Это работает действительно хорошо, за исключением того, что в моем случае у MP4 не было звука? Есть ли способ решить эту проблему?
Кристофер Д. Эмерсон
2
У меня не было его случиться. Это должно быть что-то с файлом, который вы скачиваете. Я считаю, что стандарт mp4 поддерживает несколько звуковых дорожек. Убедитесь, что нет другой звуковой дорожки и что первая - тишина.
Фредерик,
1
Отличное расширение! намного проще, чем бегать вокруг себя с файлами m3u8 и просто пролить большие двоичные файлы. Однако мне не нужно было то, что было на YouTube. HLS Downloader дает мне видео файлы напрямую.
Джастин Эмлай
попробуйте добавить -x в опциях
сэр фон беркер
В моем случае я попробовал HLS Downloader с Twitter, и он работал, как сказал @Justin: он давал видеофайл напрямую. Но я также попробовал предложения, предложенные @Vlad для другого ответа - в основном все шаги выполнялись вручную - с теми же результатами (т.е. получение рабочего .MP4файла).
Гвинет Ллевелин
27

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

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

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

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

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

Chiappa
источник
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.
Фирш - LetsWP.io
источник
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.

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

pseudozach
источник
Я не думаю, что это возможно. Можете ли вы поделиться, какой браузер вы загружаете?
Пират Икс
Я использовал хром, но я имел в виду запись видео webrtc, сделанную на локальной машине. Для веб-блогов процедура может отличаться.
псевдозач
1
это работает для обычных видео, но не для блобов, как кажется.
TankorSmash