我们如何下载一个blob url视频

我想下载一个视频,它的URL不是一个简单的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扩展或软件,可以用来从blob url下载视频?

1066943 次浏览

这个过程取决于视频托管的位置和方式。知道这一点可以帮助你更详细地回答问题。

作为一个例子;这就是如何在Vimeo上下载带有blob链接的视频。

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

Source &

enter image description here

如果blob是用来自F4M清单的数据实例化的(检查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)

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

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

我已经在其他一些网站上发布了这篇文章,尽管为什么不在stackoverflow上与男孩/女孩分享呢?

  1. 在Firefox浏览器上安装videodownloadhelper扩展。
  2. DownloadHelper激活后,导航到包含要下载的视频的网页。
  3. 视频开始流媒体后,单击DownloadHelper图标。它将为您提供当前视频中所有可用文件格式的列表。
  4. 滚动到要下载的文件格式
  5. 在右手边,你会看到一个箭头
  6. 单击该箭头可获得有关当前视频和所选格式的更多信息
  7. 在箭头末端显示的窗口中,向下滚动并选择“Details”
  8. 现在,您已经获得了有关当前视频和所选格式的所有详细信息。大概是这样的。
< p >⊗细节 _needsAggregate _needsCoapp 行动 比特率 分块 descrPrefix durationFloat 扩展 frameId fromCache 组< br > hls id isPrivate 长度 masterManifest mediaManifest originalId 介绍人 大小 状态 标题 topUrl url urlFilename < / p >
  1. 现在,在Hit Details中查看referrer的细节。这就是你想要的url。复制并粘贴到您最喜欢的下载程序上。
我刚想出了一个通用的解决方案,它应该适用于大多数网站。 我只在Chrome上尝试了这个方法,但这个方法应该适用于任何其他浏览器,因为Dev Tools在它们中几乎是相同的

步骤:

  1. 在你感兴趣的视频页面上打开浏览器的Dev Tools(通常是F12,或Ctrl-Shift-I,或右键单击,然后在弹出菜单中检查)。
  2. 转到网络选项卡,然后重新加载页面。选项卡将填充一个请求列表(可能多达100个甚至更多)。
  3. 搜索请求的名称并找到扩展名为.m3u8的请求。它们可能有很多,但最有可能的是第一个或最大的是你正在寻找的。它可以有任何名称,例如playlist.m3u8
  4. 单击其名称打开请求。在分段下,你将在请求URL字段中看到请求的完整URL。复制它。 李enter image description here < / > 从m3u8中提取视频。有很多方法可以做到这一点,我会给你我尝试过的,但你可以通过“从m3u8下载视频”来谷歌更多。
    • 选项1。如果你已经安装了VLC播放器,使用&;__abc1 &;菜单选项。我不打算在这里详细介绍这一部分,在许多地方都有许多全面的指南,例如,在这里。如果该页面不能正常工作,您可以通过“vlc下载在线视频”谷歌另一个页面。
    • 第二个选项。如果你更喜欢命令行,使用FFMPEG或你自己的脚本,如这个超级用户问题中所述。

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

  1. 使用inspect-element来标识M3U播放列表文件的URL
  2. 下载M3U文件
  3. 使用VLC读取M3U文件,流和转换视频到MP4

在Firefox中,M3U文件显示为应用程序/ vnd.apple.mpegurl类型

enter image description here

M3U文件的内容如下所示:

 ></a></p>


<p>打开<a href=VLC内侧播放器并使用Media => Convert选项。使用您(保存的)M3U文件作为源文件:

enter image description here

有多种方法可以获得URL .m3u8,可以通过查看页面的源代码,在Chrome的开发人员工具中查看Network选项卡,或者使用诸如HDL/HLS视频下载器之类的插件。

有了.m3u8 URL后,你可以使用ffmpeg将视频下载到一个文件中,如下所示:

$ ffmpeg -i 'https://url/to/some/file.m3u8' -bsf:a aac_adtstoasc \
-vcodec copy -c copy -crf 50 file.mp4
  1. 使用开发人员工具网络选项卡找到播放列表/清单。总会有一个,因为这就是它的运作方式。它可能有一个m3u8扩展,您可以将其输入到Filter中。(youtube-dl工具也可以自动找到m3u8工具,有时给它一个直接链接到视频显示的网页。)
  2. 把它交给youtube-dl工具(下载)。它能下载的远不止YouTube。它会自动下载每个片段,然后将所有内容与FFmpeg结合,然后丢弃部分。它很有可能支持您想要从本地下载的站点,您甚至不需要执行步骤1。
  3. 如果您发现一个顽固的站点,并且遇到403个错误……Telerik Fiddler来拯救。它可以捕获和保存传输的任何内容(如视频文件),因为它充当本地代理。你所看到/听到的一切都可以下载,除非是像Spotify这样的DRM内容。

注意:在窗口中,您可以使用youtube-dl.exe使用&;命令提示符&;或者创建批处理文件。即

谢谢

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

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

Sort by media

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

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

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

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

使用HLS下载器谷歌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"

命令行选项说明:

如果你总是在youtube-dl中使用相同的配置选项,你可能想要看看youtube-dl的配置选项,因为这可以节省你大量的输入。

HLS Downloader扩展在MIT许可下是免费和开源的,如果你想看代码,它可以在它在Github上的项目页面上找到。