我想下载一个视频,它的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。复制并粘贴到您最喜欢的下载程序上。

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

有多种方法可以获得URL .m3u8,可以通过查看页面的源代码,查看Chrome开发工具中的网络选项卡,或者使用诸如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

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

1)进入网络选项卡,按媒体排序

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

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

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

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

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

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

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

M3U文件的内容如下所示:

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