Qingwa
(青小蛙)
1
原始链接在: 无限制下载器 - 能播放的视频,就能下载[油猴脚本] - 小众软件
无限制下载器 是一款简单易用的油猴脚本,开发者只说了一句话:「直接获取视频和音频二进制流,打破所有下载限制。(只要你可以播放,你就可以下载!)」@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之后就不能用了
MiN
(Mi N)
5
要过一遍,下载回来还要手动合并视频音频,有点麻烦啊
1 Like
一些不麻烦的,idm等软件就能嗅探
这个脚本在一些不能嗅探的场景才有奇效,那个时候就不在乎合并这点了
wayne3602
(Rainyu)
8
3 Likes
allor
(allor)
9
想起以前帮人下课程视频
Html 5 之前都是用 Nirsoft 的一款小工具去缓存文件夹找
再后来就是找链接规律直接上 wget
现在直接劫持数据流了,真是道高一尺魔高一丈
1 Like
biubiu
(biubiu)
10
我以前用的某工具,也是播放快完就突然下好,原理相同?
hapocn
14
应该说是只能随机hook bili的其中一个,试了两个,一个下载了视频,一个下载了音频
1 Like
ico
15
是啊,Mason可比这个更强大,真是怀念这么强大的扩展
扩展失效之初还用黑仪大螃蟹的修复版Mason,都是回忆
我现在还专门留着一个54.0.1的火狐,装着修复版的Mason
试用了一下,下载的视频质量不太能让人满意,同样一个10分钟左右的2k分辨率视频,用vdh下来800多m,比特率10000+,用这个下的尽管分辨率一样,但只有200多M,比特率158,清晰度相差很大
moonlune
(红叶舞秋山)
18
如果不想命令行合并,可以把视频拉进 Wondershare UniConverter 之类的,里面会显示无音频,然后点开无音频,把音频文件选择进去一起转下即可!
Paul
19
呃,好像没有自动下载?
试了几个微博视频,加速缓存/播放完后,既没有弹出下载窗口,也没有在download文件夹里出现新的文件,用everything直接找最新的视频、音频,也没有。。