一个懒人是如何因为懒惰而动起来的。
前两天搜索群晖,在什么张大妈网站上看到一篇文章

讲的是如何利用群晖中的docker来运行youtube-dl server,使之可以在NAS中下载youbue等网站上的视频。当我更多了解youtube-dl这个工具之后,发现它是如此的强大,可以下载上千个各种在线视频网站的视频。曾经有过这种需求,在腾讯视频和B站上想要下载视频,可把我给麻烦死了,最后用录屏软件才完成了工作。如果早点遇到youtube-dl和you-get,怕是分分钟就能搞定。(前者对国外网站支持较多较好,后者对国内视频网站支持更好)
然而我还没有买到NAS,这两个工具暂时只能放在windows上运行。而且它们作为命令行的CLI工具,使用起来还是略有繁琐:需要复制当前视频页面的网址,然后运行命令行,输入它们的各种参数,粘贴视频网址。这一套操作偶尔来一下还行,如果经常下载视频的话怕不是得烦死。懒人思维发作,开始折腾:一开始写了个批处理,免去各种参数的填写;第二步,通过外部工具实现了免去粘贴,运行即可开始下载;第三步,免去了复制网址的操作,直接在chrome的书签栏里点击一个书签,使用js复制当前网址并呼出批处理文件;第四步,优化了批处理,整合you-get与youtube-dl,并使用它们可以选择下载质量,并预留了avconv的位置,可以用于封装被分离的音视频。
下面将本人折腾的这些玩意分享给大家。
本项目的目的是为了达到:在chrome上点击一下书签栏中的小图标,youtube-dl窗口就自动跳出来下载本页面上的视频,从头到尾,只需一次点击和一次回车确认(甚至可以不回车确认一键到位,请修改批处理相关部分即可)。
环境:
Windows7/10
Pyhon 3.x
合适的科学方法
下载本项目:
链接提取码: 4axz
下载后将文件夹解压到任意位置,但还不能直接使用,需要做一些修改工作。
步骤:
1.请下载安装python,最好是3.x,因为并未在2.x环境中测试过。
2.打开一个命令行窗口,执行:
pip install you-get youtube-dl ffmpeg
然后分别运行一下它们,确保都已被正常安装并可以运行。
此时you-get和youtube-dl就已经可以正常使用了,但操作并不方便,需要复制视频网页的URL,运行控制台界面,输入youtube-dl的各种参数,粘贴URL,一系列的操作不够人性化。
所以才有了本项目。
3.下载avconv,它和ffmpeg一样,是用来处理音视频的,因为很多在线视频网站的音频和视频是分割开的(特别是强制下载最高画质时),所以需要分别下载,然后youtube-dl会自动调用该工具将音频和视频封装成一个文件。下载地址
推荐下载libav-x86_64-w64-mingw32-11.7.7z
请将压缩包里bin目录中的文件都置入到本项目的avconv目录中,当youtube-dl需要的时候它将会被自动调用。
4.修改注册表文件“chrome允许F1协议调动批处理.reg”,将其中的路径修改为bat文件所在路径,然后双击导入这个reg文件,本操作含义为在系统中注册一个新的协议F1://,当这个协议在浏览器中被调用时,则执行指定位置的批处理。
5.用文本编辑器打开两个批处理,修改其中的下载保存目录、科学方法等信息。
6.关掉chrome浏览器,重新打开,以让它识别新的path。
7 在chrome中随便收藏一个网站页面到书签栏中,然后右键点击它,修改,名称随意,网址为:
javascript:function copythisurl(){{var dummy=document.createElement('input'),text=window.location.href;document.body.appendChild(dummy);dummy.value=text;dummy.select();document.execCommand('copy');document.body.removeChild(dummy)}}window.open("F1://","_self",copythisurl())
8.恭喜你!完成了!请随便打开一个youtube/vimeo/B站的视频页面,然后在该页面上点击第7步中所制造的js书签,如果一切顺利,将会跳出一个控制台窗口,按照提示选择下载的方式和质量即可坐等完成。
PS:如果你想要不通过梯子直连下载,请复制视频页面的URL,然后双击运行另一个批处理即可(该操作应该比较少,所以不再创建协议和书签从浏览器调用)。
等到购入群晖后,我将再把这两个工具与NAS整合一下,以更方便大家的使用。
谢谢。