懒人折腾youtube-dl和you-get,一键下载各种在线视频网站的视频

一个懒人是如何因为懒惰而动起来的。

前两天搜索群晖,在什么张大妈网站上看到一篇文章

懒人折腾youtube-dl和you-get,一键下载各种在线视频网站的视频男人的生产力工具 篇一百二十八:打造最强个人下载中心(三):youtube-dl、群晖双剑合璧本篇文章来自#老司机数据都这么存#话题征稿活动,分享存储方案,有机会赢取4TB移动硬盘和高性能U盘!第一届征稿活动已经结束,结果敬请期待。前言张大妈家很多值友都喜欢在全球各大知名视频网站订阅和观看喜爱的视频,有的是追官方预告片、有为孩子搜集下载科学小实验、有的喜欢家庭搞笑娱乐、有的只看无限制搏击、有lifeisgood| 419 评论347 收藏6k查看详情

讲的是如何利用群晖中的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

然后分别运行一下它们,确保都已被正常安装并可以运行。

懒人折腾youtube-dl和you-get,一键下载各种在线视频网站的视频

此时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整合一下,以更方便大家的使用。

谢谢。