我们如何下载blob网址视频[关闭]

问题描述 投票:83回答:11

我想下载一个视频,其网址不是简单的mp4文件,但其网址是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扩展程序或软件可用于下载播放视频。

video browser blob
11个回答
83
投票

我想出了一个通用的解决方案,它应该适用于大多数网站。我只在Chrome上试过这个,但是这个方法应该适用于任何其他浏览器,因为Dev Tools几乎都是相同的。

脚步:

  1. 在页面上打开浏览器的开发工具(通常为F12,或Ctrl-Shift-I,或右键单击,然后在弹出菜单中检查),并显示您感兴趣的视频。
  2. 转到“网络”选项卡,然后重新加载页面。该选项卡将填充一个请求列表(最多可能有一百个或更多)。
  3. 搜索请求的名称,并使用.m3u8扩展名查找请求。可能有很多,但很可能你发现的第一个是你正在寻找的那个。它可以有任何名称,例如playlist.m3u8
  4. 打开请求,在Headers子部分下,您将在Request URL字段中看到请求的完整URL。复制它。 enter image description here
  5. 从m3u8中提取视频。有很多方法可以做到这一点,我会给你尝试的那些,但你可以通过“从m3u8下载视频”进行更多的谷歌搜索。 选项1.如果安装了VLC播放器,请使用“打开网络流...”菜单选项将URL提供给VLC。我不打算在这里详细介绍这个部分,很多地方都有很多综合指南,例如here。如果页面不起作用,您可以随时通过“vlc download online video”搜索另一个页面。 选项2.如果您更喜欢命令行,请按照this SuperUser question中的指示使用FFMPEG或您自己的脚本。

0
投票

如果使用来自F4M清单的数据实例化blob(查看Chrome开发者工具中的网络选项卡),您可以使用此处发布的php脚本下载视频文件:https://n1njahacks.wordpress.com/2015/01/29/how-to-save-hds-flash-streams-from-any-web-page/

通过:

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

之前:

  if ($manifest)

你甚至可以在网络服务器上运行它,使用带有查询字符串的请求:?manifest=[manifest url]

请注意,您可能希望使用FTP客户端检索下载的视频文件并在脚本之后进行清理(它会保留所有下载的视频部分)。


-16
投票

您只需右键单击并将blob保存为mp4即可。

当我玩基于浏览器的视频/音频录制时,可以直接下载输出blob。


19
投票

该过程可能会有所不同,具体取决于视频的托管位置和方式。知道这可以帮助更详细地回答这个问题。

举个例子;这就是你如何在Vimeo上下载blob链接的视频。

  1. 查看视频播放器iframe的源代码
  2. 搜索mp4
  3. 使用令牌查询复制链接
  4. 在令牌过期前下载

Source & step-by-step instructions here.

enter image description here


14
投票

这就是我设法“下载”它的方式:

  1. 使用inspect-element标识M3U播放列表文件的URL
  2. 下载M3U文件
  3. 使用VLC读取M3U文件,流式传输并将视频转换为MP4

在Firefox中,M3U文件的类型为application/vnd.apple.mpegurl

enter image description here

M3U文件的内容如下所示:

打开VLC medial player并使用Media => Convert选项。使用您的(已保存的)M3U文件作为源:

enter image description here


8
投票

我已经在其他一些网站发布了这个,但为什么不在stackoverflow上与guys / gals分享。

  1. 在Firefox浏览器上安装Video DownloadHelper扩展。
  2. 激活DownloadHelper后,导航到包含您要下载的视频的网页。
  3. 视频流后,单击DownloadHelper图标。它将为您提供当前视频中可用的所有文件格式的列表。
  4. 滚动到您要下载的文件格式
  5. 在右侧,您将看到一个箭头
  6. 单击该箭头可获取有关当前视频和所选格式的更多信息
  7. 从该箭头末尾的显示窗口中,向下滚动并选择“详细信息”
  8. 您现在拥有有关当前视频和所选格式的所有详细信息。就是这样的。

命中详细信息⊗_needsAggregate_needsCoapp actions bitrate chunked descrPrefix durationFloat extension frameId fromCache group hls id isPrivate length masterManifest mediaManifest originalId referrer size status title topUrl url urlFilename

  1. 现在,查看Hit Details中引用者的细节。那是你想要的网址。复制并粘贴到您最喜欢的下载器上。

6
投票

通过查看页面源,查看Chrome中的开发人员工具中的“网络”选项卡或使用.m3u8等插件,有多种方法可以获取URL HDL/HLS Video Downloader

使用.m3u8 URL,您可以使用ffmpeg将视频下载到如下文件中:

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

4
投票

使用HLS Downloader谷歌浏览器扩展程序获取M3U播放列表的链接。浏览器栏中的图标将显示当前网页上的播放列表数量。单击该图标,您可以看到播放列表链接列表,然后使用链接旁边的复制按钮进行复制。

然后使用youtube-dl程序下载文件。

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

命令行选项的说明:

如果您一直使用相同的配置选项youtube-dl,您可能需要查看configuration options for youtube-dl,因为这可以为您节省大量的输入。

如果你想查看its project page on Github上可以找到的代码,HLS Downloader扩展是MIT许可下的免费开源。


3
投票
  1. 使用开发人员工具网络选项卡查找播放列表/清单。总有一个,因为它是如何工作的。它可能有一个m3u8扩展名,您可以在其中键入Filter。
  2. 将它提供给youtube-dl工具。它可以下载的不仅仅是YouTube。它将自动下载每个段然后将所有内容与FFmpeg组合,然后丢弃这些部分。它很有可能支持您想要从本机下载的站点,甚至不需要执行步骤#1。

2
投票

想要为Facebook blob视频添加另一个答案,这似乎很棘手。 blob链接似乎导致多个连续的.mp4流,好像视频被分解成数百个短片。似乎没有任何单个播放列表,如f4m或m3u8。

对我来说,唯一成功的解决方案是使用https://fbdown.net/index.php,对于私人视频,我需要使用他们的视频下载助手(免费的Chrome扩展程序)。理论上,他们有一个单独的网页用于下载私人视频,其中包括将页面的源复制并粘贴到文本框中。但这对我不起作用。 Chrome插件确实可以。插件网址:https://chrome.google.com/webstore/detail/fbdown-video-downloader/fhplmmllnpjjlncfjpbbpjadoeijkogc


1
投票

如果你找不到.m3u8文件,你需要做几个不同的步骤。

1)转到网络选项卡并按Media排序

2)你会在这里看到一些东西并选择第一个项目。在我的例子中,它是一个mpd文件。然后复制请求URL。

3)接下来,使用您喜欢的命令行工具使用步骤2中的URL下载文件。

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

4)根据编码,您可能需要将音频和视频文件连接在一起,但这取决于视频情况下的视频。

© www.soinside.com 2019 - 2024. All rights reserved.