我想下载一个视频,其网址不是简单的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扩展程序或软件。
答案 0 :(得分:68)
我刚刚提出了一个通用解决方案,它应该适用于大多数网站。 我只在Chrome上试过这个,但是这个方法应该适用于任何其他浏览器,因为Dev Tools几乎都是相同的。
步骤:
.m3u8
扩展名的请求。可能有很多,但最有可能的是你找到的第一个是你正在寻找的那个。它可以有任何名称,例如playlist.m3u8
。答案 1 :(得分:16)
此过程可能会因视频的托管位置和方式而有所不同。知道这可以帮助更详细地回答这个问题。
作为一个例子;这就是你如何在Vimeo上下载blob链接的视频。
答案 2 :(得分:12)
这是我设法“下载”它的方法:
在Firefox中,M3U文件的类型为application/vnd.apple.mpegurl
M3U文件的内容如下:
打开VLC medial player并使用Media => Convert选项。使用(保存的)M3U文件作为源:
答案 3 :(得分:6)
我已经在其他一些网站发布了这个,但为什么不在stackoverflow上与男/女士分享呢。
点击详情⊗
_needsAggregate
_needsCoapp
行动
比特率
分块
descrPrefix
durationFloat
延期
frameId
fromCache
组
HLS
ID
isPrivate
长度
masterManifest
mediaManifest
originalId
的引荐强>
尺寸
状态
标题
topUrl
网址
urlFilename
答案 4 :(得分:6)
通过查看页面源,查看Chrome开发人员工具中的“网络”标签或使用HDL/HLS Video Downloader之类的插件,可以采用多种方式来获取URL .m3u8
使用.m3u8 URL,然后您可以使用ffmpeg
将视频下载到如下文件:
$ ffmpeg -i 'https://url/to/some/file.m3u8' -bsf:a aac_adtstoasc \
-vcodec copy -c copy -crf 50 file.mp4
答案 5 :(得分:2)
想专门针对Facebook Blob视频添加另一个答案,这似乎很棘手。 Blob链接似乎会导致多个连续的.mp4流,就好像视频被分解成数百个短片段一样。似乎没有像f4m或m3u8这样的单个播放列表。
对我来说,唯一成功的解决方案是使用https://fbdown.net/index.php,对于私人视频,我需要使用他们的视频下载助手(免费的chrome扩展程序)。从理论上讲,他们有一个单独的网页用于下载私有vid,这涉及将页面的源代码复制并粘贴到文本框中。但这对我没有用。 Chrome插件可以。插件网址:https://chrome.google.com/webstore/detail/fbdown-video-downloader/fhplmmllnpjjlncfjpbbpjadoeijkogc
答案 6 :(得分:2)
答案 7 :(得分:1)
使用HLS Downloader Google 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"
解释命令行选项:
-f mp4 =输出格式mp4
-所有字幕 =下载所有字幕
-o“文件名保存为.mp4” =将视频另存为的文件名。
“ https://link-from-Google_Chrome-HLS_Downloader_extension” =这是指向您从HLS Downloader扩展程序复制的播放列表的链接。
如果您一直为 youtube-dl 使用相同的配置选项,则可能需要查看configuration options for youtube-dl,因为这样可以节省很多输入时间。 / p>
如果您想查看可以在its project page on Github上找到的代码,则可以使用MIT许可下的HLS Downloader扩展程序免费和开源。
答案 8 :(得分:0)
如果使用来自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客户端检索下载的视频文件并在脚本之后进行清理(它会保留所有下载的视频部分)。
答案 9 :(得分:0)
如果找不到.m3u8
文件,则需要执行几个不同的步骤。
1)转到网络标签,然后按Media
2)您将在此处看到一些内容,然后选择第一项。在我的示例中,它是一个mpd
文件。然后复制请求网址。
3)接下来,使用您喜欢的命令行工具并使用步骤2中的URL下载文件。
youtube-dl -f bestvideo+bestaudio https://url.com/destination/stream.mpd
4)根据编码,您可能必须将音频和视频文件连接在一起,但这取决于逐个视频的情况。
答案 10 :(得分:-15)
您只需右键单击并将blob另存为mp4即可。
当我玩基于浏览器的视频/音频录制时,可以直接下载输出blob。