无限制下载器[油猴脚本]
![无限制下载器(能播放的视频就能下载)插图 无限制下载器(能播放的视频就能下载)插图](https://www.jungeseo.com/wp-content/uploads/2023/02/image-2.png)
一款油猴脚本,打开任意有视频或音频的网站,等视频缓存条加载完后会自动下载。
无限制下载器
这是一个油猴脚本,开发者在 v2ex 描述了原理:
原理
直接 hook 二进制流,你缓存多少,我给你复制多少。查了下MediaSource, 他结合上面的
createObjectURL(object)
可以分片的方式加载视频,大概就是看多少,就加多少。 其中的音频和视频分别放在两个 sourceBuffer 中,直接 hook 住SourceBuffer.appendBuffer()
就能实现视频流的截取了。再将每个分片以数组的方式保存下来,最后等视频缓存完后new Blob(video/audio bufferArray)
这样就实现了视频和音频的保存。
简单的说:直接 hook 媒体二进制流,换句话说就是你能看到,你就能下载,你能缓存多快,你就能下载多快。
这里可以参考这篇文章《浏览器实现网页视频的快速播放》
获取
用户脚本管理器
在使用油猴脚本之前,需要安装一个用户脚本管理器,推荐:Tampermonkey
使用 ffmpeg -i video.mp4 -i audio.mp4 -c:v copy -c:a aac -strict experimental output.mp4
以合并音频和视频文件。
ffmpeg: https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip
Script principle (Chinese): https://www.v2ex.com/t/856510