无限制下载器[一个油猴脚本] – 能播放的视频就能下载

无限制下载器 是一款简单易用的油猴脚本,开发者只说了一句话:「直接获取视频和音频二进制流,打破所有下载限制。(只要你可以播放,你就可以下载!)」

无限制下载器

这是一个油猴脚本,开发者在 v2ex

描述了原理:

原理

直接 hook 二进制流,你缓存多少,我给你复制多少。查了下MediaSource

, 他结合上面的createObjectURL(object)可以分片的方式加载视频,大概就是看多少,就加多少。 其中的音频和视频分别放在两个 sourceBuffer 中,直接 hook 住SourceBuffer.appendBuffer()就能实现视频流的截取了。再将每个分片以数组的方式保存下来,最后等视频缓存完后 new Blob(video/audio bufferArray)这样就实现了视频和音频的保存。

简单的说:直接 hook 媒体二进制流,换句话说就是你能看到,你就能下载,你能缓存多快,你就能下载多快。

获取:https://greasyfork.org/zh-TW/scripts/445751-unlimited-downloader

用户脚本管理器

在使用油猴脚本之前,需要安装一个用户脚本管理器,推荐:

https://www.tampermonkey.net/

使用

而使用就有点…奇葩了,因为它是全自动的:打开任意有视频或音频的网站,等视频缓存条加载完后会自动下载下来。

注意,需要等视频缓存完全加载之后,才会自动下载,也就是说,你需要等那条视频播放一遍,至少是倍速播放一遍才行。

倍速播放方法一

当然开发者也提供了方法:打开控制台(F12),输入:document.querySelector('video').playbackRate = 16

就会以 16 倍速播放

倍速播放方法二

对于不喜欢命令行的同学,用浏览器扩展是最好的了:

https://chrome.google.com/webstore/detail/global-speed/jpbjcnkcffbooppibceonlgknpkniiff

https://microsoftedge.microsoft.com/addons/detail/global-speed-%E8%A7%86%E9%A2%91%E9%80%9F%E5%BA%A6%E6%8E%A7%E5%88%B6/mjhlabbcmjflkpjknnicihkfnmbdfced

https://addons.mozilla.org/zh-CN/firefox/addon/global-speed/

https://github.com/polywock/globalSpeed

(Global Speed – 在线视频播放控制:倍速、倒带/前进、逐帧分析.

Global Speed 是一款能控制在线视频播放的 Chrome、Edge、Firefox 扩展,免费开源,无数据收集、无追踪,可以实现播放速度控制、倒带/前进、逐帧分析.

Global Speed 视频速度控制

Global Speed 有超过 100 万用户,功能非常多,包括:

速度控制

  • 与几乎所有视频和音频流媒体站点兼容,包括 Youtube,Netflix,哔哩哔哩,腾讯视频,百度网盘, 爱奇艺等。
  • 支持固定倍速,不同的标签页可以有自己的播放速率。
  • URL 规则,可根据网站自动设置自定义播放速率。

音效

  • 效果包括音高变化,音量增强,EQ等。
  • 您可以延迟音频以解决同步问题。
  • 配置热键来调整音调,音量增强等等。

对于绝大多数在线视频来说,1.5 倍~2 倍速可以节约大量的时间。)

安装这个扩展之后,默认 D 加速,S 恢复,A 减速,就这么简单。

 

合并音频与视频文件

下载完成之后,会得到两个文件:vidoe_xxx.mp4 和 audio_xxx.mp4,需要使用 ffmpeg

https://ffmpeg.org/download.html)

来合并:

1
ffmpeg -i video.mp4 -i audio.mp4 -c:v copy -c:a aac -strict experimental output.mp4

然后,就好了。

非常适合下载那些学习类视频,可以多次观看那种。

最后,记得不用的时候关闭脚本,因为它会一直不断的下载你看过的所有视频。