我想下载一个视频,它的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下载视频?


当前回答

如果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上与男孩/女孩分享呢?

Install the Video DownloadHelper extension on Firefox browser. With DownloadHelper activated, navigate to the webpage containing the video that you want to download. Once the video is streaming, click on the DownloadHelper icon. It will give you a list of all file formats available on the current video. Scroll onto the file format that you wish to download On the right hand side, you will see an arrow Click on that arrow to get more information regarding the current video and the selected format From the displayed window at the end of that arrow, scroll down and select "Details" You now have all the details concerning the current video and the selected format. It is something like this.

打击⊗细节 _needsAggregate _needsCoapp 行动 比特率 分块 descrPrefix durationFloat 扩展 frameId fromCache 集团 hls id isPrivate 长度 masterManifest mediaManifest originalId 介绍人 大小 状态 标题 topUrl url urlFilename

现在,在Hit Details中查看referrer的细节。这就是你想要的url。复制并粘贴到您最喜欢的下载程序上。

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

步骤:

Open the browser's Dev Tools (usually F12, or Ctrl-Shift-I, or right-click and then Inspect in the popup menu) on the page with the video you are interested in. Go to Network tab and then reload the page. The tab will get populated with a list of requests (may be up to a hundred of them or even more). Search through the names of requests and find the request with .m3u8 extension. There may be many of them, but most likely the first or largest is the one you are looking for. It may have any name, e.g. playlist.m3u8. Click its name to open the request. Under the Headers subsection you will see request's full URL in the Request URL field. Copy it. Extract the video from m3u8. There are many ways to do it, I'll give you those I tried, but you can google more by "download video from m3u8". Option 1. If you have VLC player installed, feed the URL to VLC using the "Open Network…" menu option. I'm not going to go into details on this part here, there are a number of comprehensive guides in many places, for example, here. If the page doesn't work, you can always google another one by "vlc download online video". Option 2. If you are more into command line, use FFMPEG or your own script, as directed in this SuperUser question.

如果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客户端来检索下载的视频文件并在脚本之后清理(它会留下所有下载的视频部分)。

Find the playlist/manifest with the developer tools network tab. There is always one, as that's how it works. It might have an m3u8 extension that you can type into the Filter. (The youtube-dl tool can also find the m3u8 tool automatically some time give it a direct link to the webpage where the video is being displayed.) Give it to the youtube-dl tool (Download). It can download much more than just YouTube. It'll auto-download each segment then combine everything with FFmpeg then discard the parts. There is a good chance it supports the site you want to download from natively, and you don't even need to do step #1. If you find a site that is stubborn and you run into 403 errors... Telerik Fiddler to the rescue. It can catch and save anything transmitted (such as the video file) as it acts as a local proxy. Everything you see/hear can be downloaded, unless it's DRM content like Spotify.

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

谢谢

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

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

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

来源和步骤说明在这里。