无限制下载器 - 能播放的视频,就能下载[油猴脚本]

原始链接在: 无限制下载器 - 能播放的视频,就能下载[油猴脚本] - 小众软件

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


感谢 #3001 群组的 @Untitled Project R 同学推荐。

无限制下载器

这是一个油猴脚本,开发者在 v2ex 描述了原理:

原理

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

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

获取

用户脚本管理器

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

使用

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

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

倍速播放方法一

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

就会以 16 倍速播放:

倍速播放方法二

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

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

合并音频与视频文件

下载完成之后,会得到两个文件:vidoe_xxx.mp4 和 audio_xxx.mp4,需要使用 ffmpeg(官网下载页面) 来合并:

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

然后,就好了。

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


原文:https://www.appinn.com/445751-unlimited-downloader/

15 Likes

我平时都是用浏览器插件video downloadHelper或猫抓进行视屏嗅探进行下载,这个油猴脚本支持下载爱奇艺/腾讯视频吗

终于又有这个功能的脚本(扩展)了,远古Firefox有个mason扩展就能这样下载一切媒体,可惜Firefox48之后就不能用了

我平时用猫爪和IDM

1 Like

要过一遍,下载回来还要手动合并视频音频,有点麻烦啊

1 Like

一些不麻烦的,idm等软件就能嗅探

这个脚本在一些不能嗅探的场景才有奇效,那个时候就不在乎合并这点了

哈哈哈,下载方式够任性,我喜欢 :rofl:

如果有朋友不会使用ffmpeg的话,我在GitHub写了一份很详细的教程,感兴趣的可以看一下
GitHub - wayne3602/tampermonkey-js-share: 个人使用,附上使用说明

3 Likes

想起以前帮人下课程视频
Html 5 之前都是用 Nirsoft 的一款小工具去缓存文件夹找
再后来就是找链接规律直接上 wget
现在直接劫持数据流了,真是道高一尺魔高一丈 :joy:

1 Like

我以前用的某工具,也是播放快完就突然下好,原理相同?

请问下载好的视频和音频文件在哪找得到???

下载 文件夹

似乎对bili无效?只下载了视频,没有音频

应该说是只能随机hook bili的其中一个,试了两个,一个下载了视频,一个下载了音频

1 Like

是啊,Mason可比这个更强大,真是怀念这么强大的扩展
扩展失效之初还用黑仪大螃蟹的修复版Mason,都是回忆
我现在还专门留着一个54.0.1的火狐,装着修复版的Mason :rofl:

试用了一下,下载的视频质量不太能让人满意,同样一个10分钟左右的2k分辨率视频,用vdh下来800多m,比特率10000+,用这个下的尽管分辨率一样,但只有200多M,比特率158,清晰度相差很大

【你看到的是什么,下的就是什么】

如果不想命令行合并,可以把视频拉进 Wondershare UniConverter 之类的,里面会显示无音频,然后点开无音频,把音频文件选择进去一起转下即可!

呃,好像没有自动下载?
试了几个微博视频,加速缓存/播放完后,既没有弹出下载窗口,也没有在download文件夹里出现新的文件,用everything直接找最新的视频、音频,也没有。。

重启浏览器