我想下载一个视频,它的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客户端来检索下载的视频文件并在脚本之后清理(它会留下所有下载的视频部分)。
我刚刚想出了一个通用的解决方案,这应该适用于大多数网站。
我只在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客户端来检索下载的视频文件并在脚本之后清理(它会留下所有下载的视频部分)。
我已经在其他一些网站上发布了这篇文章,尽管为什么不在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。复制并粘贴到您最喜欢的下载程序上。