我想下载一个视频,其网址不是简单的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扩展程序或软件可用于下载播放视频。
我想出了一个通用的解决方案,它应该适用于大多数网站。我只在Chrome上试过这个,但是这个方法应该适用于任何其他浏览器,因为Dev Tools几乎都是相同的。
脚步:
.m3u8
扩展名查找请求。可能有很多,但很可能你发现的第一个是你正在寻找的那个。它可以有任何名称,例如playlist.m3u8
。如果使用来自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客户端检索下载的视频文件并在脚本之后进行清理(它会保留所有下载的视频部分)。
您只需右键单击并将blob保存为mp4即可。
当我玩基于浏览器的视频/音频录制时,可以直接下载输出blob。
该过程可能会有所不同,具体取决于视频的托管位置和方式。知道这可以帮助更详细地回答这个问题。
举个例子;这就是你如何在Vimeo上下载blob链接的视频。
这就是我设法“下载”它的方式:
在Firefox中,M3U文件的类型为application/vnd.apple.mpegurl
M3U文件的内容如下所示:
打开VLC medial player并使用Media => Convert选项。使用您的(已保存的)M3U文件作为源:
我已经在其他一些网站发布了这个,但为什么不在stackoverflow上与guys / gals分享。
命中详细信息⊗_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
通过查看页面源,查看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
使用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许可下的免费开源。
想要为Facebook blob视频添加另一个答案,这似乎很棘手。 blob链接似乎导致多个连续的.mp4流,好像视频被分解成数百个短片。似乎没有任何单个播放列表,如f4m或m3u8。
对我来说,唯一成功的解决方案是使用https://fbdown.net/index.php,对于私人视频,我需要使用他们的视频下载助手(免费的Chrome扩展程序)。理论上,他们有一个单独的网页用于下载私人视频,其中包括将页面的源复制并粘贴到文本框中。但这对我不起作用。 Chrome插件确实可以。插件网址:https://chrome.google.com/webstore/detail/fbdown-video-downloader/fhplmmllnpjjlncfjpbbpjadoeijkogc
如果你找不到.m3u8
文件,你需要做几个不同的步骤。
1)转到网络选项卡并按Media
排序
2)你会在这里看到一些东西并选择第一个项目。在我的例子中,它是一个mpd
文件。然后复制请求URL。
3)接下来,使用您喜欢的命令行工具使用步骤2中的URL下载文件。
youtube-dl -f bestvideo+bestaudio https://url.com/destination/stream.mpd
4)根据编码,您可能需要将音频和视频文件连接在一起,但这取决于视频情况下的视频。