有人知道 blob url 视频如何下载吗?

有人知道 blob url 视频如何下载吗?比如下面这个视频:

clipboard.png

由于 blob 地址的生成靠:

  • FileReader.prototype.readAsDataURL(blob|file)
  • URL.createObjectURL(object)

这两种方式生成,而服务端返回的通常是视频链接(http://test.com/test.mp4),前端是如何生成 blob 地址的?

另外,针对一个已经生成的 blob 地址,我该如何下载该 blob url 指向的文件?

阅读 16.9k
2 个回答

前端如何生成 blob 地址
查看 MSE
简单说就是通过 MediaSource 替换以前的 src 资源地址。然后异步请求服务端媒体流数据放入 MediaSource

如何下载
bolb 地址对应的是内存中的一个 blob 或者 file 文件地址,无法直接下载。
但是实际上任何视频网站只要播放视频肯定会发起资源请求,所以可以在 Chrome 调试查看网络请求中捕捉到,比如:
图片描述

其他
可以用工具:Downie下载

要是这种 .ts 的文件,直接通过 .m3u8 这个文件列表就可以知道所有视频中涉及的分片文件地址。

至于怎么利用这个 .m3u8 文件来下载,有很多种方式:

  • 可以人肉挨个下载,但不太现实,因为太多,而且也无法拼接
  • 自己用脚本语言写,之后再用把所有的 .ts 按序号顺序拼起来
  • 用第三方工具,比如 m3u8-downloader
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题