打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
youtube

youtube-dl是网上开发的专门用于下载Youtube视频的软件,但它真正牛逼的地方在于还支持其它视频网站的下载,包括爱情动作片们,其中pornhub,xvideo等赫然在列,甚至还有国内的优酷网、B站等。

以下是安装方法,使用的系统是debian,若因为时间间隔太久,该方法失效,则可以直接参考软件作者写的最新方法(https://rg3.github.io/youtube-dl/download.html),作者用的是sudo,我是直接在root下安装的,等我什么时候弄懂了怎么开sudo再写篇文吧。

我没装curl,所以用的是wget。若wget没装,可以先装wget:

apt-get update

apt-get install wget -y

接下来是安装youtube-dl两行代码:

# wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl

# chmod a+rx /usr/local/bin/youtube-dl

安装完后就可以开始直接使用了。

首先因为youtube-dl会下载到当前的目录,所以需要确保当前的目录是哪边,一般如果是root登录的话,目录就是/root,如果不想下载到root目录下,可以用mkdir新建一个目录,比如如下代码会新建一个叫Test的目录:

mkdir Test

然后使用cd命令进入到该目录下:

cd ./Test

这就进入到root下面新建的Test目录里。可以使用点号.来代替当前所在的目录地址,这样目录地址就不用打全了。下面这段代码的结果和上面是一样的,点号.取代了/root目录:

cd /root/Test

若要回到上层目录可以使用如下代码:

cd --

进入到Test目录里后就可以使用youtube-dl下载视频了

语法: youtube-dl 视频网址

代码: youtube-dl http://...

youtube-dl会自动下载最佳的视频格式。

若不想现在最佳格式,也可以用以下代码查看可供下载的格式:

youtube-dl -F https://www.youtube.com/watch?v=lW9Uudkx42g

然后选中想下载的格式,比如想下载138:

youtube-dl -f 138 https://www.youtube.com/watch?v=lW9Uudkx42g

youtube-dl -f 138 https://www.youtube.com/watch?v=lW9Uudkx42g

以上就是youtube-dl的简单操作,该操作的局限在于不能离线,也就是说如果SSH终端不小心被关掉,或者甚至网络连接不稳定导致SSH链接断掉,则下载自动终止。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

每次用youtube-dl下载视频都需要先去指定的下载文件夹比较麻烦。下面的操作可以自动将下载完成的视频移动到指定的文件夹。

代码

youtube-dl -v --exec "mv {} ./Downloads/{}" 视频地址

参数:

mv :linux移动文件的命令

{} :这个是获取文件名参数

./Downloads/:此文件夹是当前root目录下面的Downloads文件夹,当然也可以移动到根目录下的非root文件夹下

视频地址接受批量下载

更方便的操作是让vps将指定的文件夹路径“记住”,每次下载的时候都调用该路径。比如我同时还安装了transmission方便BT离线下载,我可以把下载好的小电影移动到该transmission的下载文件夹,方便我随时将视频做种。

方法:

root目录下有一个.config文件夹,可以在该文件夹下创建一个配置目录:

mkdir ./.config/youtube-dl/

编辑config文件,加入需要的参数:

vi ./.config/youtube-dl/config

以下是我自己的参数内容:

-o /root/Downloads/%(title)s.%(ext)s

--external-downloader aria2c

--external-downloader-args "-x 16 -k 1M"

--exec "mv {} /var/lib/transmission/Downloads/"

第一行是下载的地址及命名规则:root目录下的Downloads文件夹

第二行调用aria2c外部命令

第三行设置下载进程数和块

第四行是目标保存地址:我安装的transmission设置的Downloads文件夹

保存完config文件后,就可以试运行下载一个视频看是否保存到了/var/lib/transmission/Downloads:youtube-dl 视频地址

验证成功!

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

上面讲了youtube-dl在vps上的安装及简单操作方法,但该方法其实只相当于一个开着的浏览器,浏览器关掉后,下载也就停掉了。这一篇主要涉及怎么利用youtube-dl对爱情动作片进行批量下载,并让下载在我们离线的时候也一直进行。

这里面会用到screen、文档编辑等操作。

准备工作:安装screen(如果第一次使用)

使用下面代码安装screen,Debian下使用apt-get,Centos下使用yum:

apt-get install screen -y

方法一:直接贴网址

使用screen命令开一个session,命名该session,比如就叫video:

screen -S video

注意S要大写,这时SSH终端会把你带到一个空窗口。

然后使用语法youtube-dl 链接1 链接2 链接3 … … 就能进行批量下载了,代码:

youtube-dl https://www.pornhub.com/view_video.php?viewkey=1763364088 https://www.pornhub.com/view_video.php?viewkey=1164813484 https://www.pornhub.com/view_video.php?viewkey=ph565707fb861b7

有多少链接就贴多少链接。

方法二:将链接全部保存到一个txt文件里,一行一个

这种方法的好处是,SSH不是随时都能用,碰到好的视频可以先把它保存下来,然后回到家里利用FTP上传到需要下载的目录。不过下面讲的是现场在SSH里制作txt文件。

首先使用cd命令去到你打算使用的下载文件夹。本例中使用的文件夹名为Downloads。

使用vi,vim,或者nano命令新建一个txt或bat文件,这里取名download.txt/download.bat,后者是一个批处理文件格式,将你打算下载的爱情动作片网页链接保存在该txt文件里,一行一个网址,文件保存在Downloads文件夹下面。

使用以下命令去到该文件夹里面:

cd ./Downloads

使用screen命令开一个session,然后贴下面的代码:

youtube-dl -ci --batch-file=download.txt

-ci 可有可无,= 可有可无

这时vps就开始下载了,贴张图,是我正在下载的小电影:

接下来我们可以退出这个session,让它安静的在后台跑着,我们可以去做其他事了,或者就可以直接关掉SSH。

退出session使用快捷键ctr+a, d或者ctr+a,ctr+d,~~注意快捷键需要在英文输入环境下,不能在中文输入法下,即便现在的中文输入法在shift操作下会转换为英文输入也不可以。~~退出session叫detach session。从下面的截图我们甚至可以看出,虽然我们给这个session取名video,但screen会分配一串数字给这个session,然后在screen里它的全名就是62718.video

使用以下命令可以再进去该session,查看下载进程,速度不是很快,所以很适合离线下载:

screen -r video

下载完后,我们可以使用如下代码将该session给删掉,如果不删的话,这个session会一直保存在vps里,如果下次再开一个screen,使用同样一个名字,等我们再打算进去的时候,screen就不知道你打算进哪个video session了,它会把所有取名video的session都给列出来,所以为了方便起见,最好下载好后还是把进程给杀掉。这里我把这个取名叫video的session给删掉:

screen -S video -X kill

或者

screen -S video -X quit

或者进入某个session后,按ctr+a,再按:quit

至于quit和kill两者有何区别,暂时还在研究中。。。

如果我们不慎没有把session删掉,然后开了好几个session,可以使用下面代码来列出目前的session清单:

screen -ls

然后就可以使用上面讲到的操作把某个session给删掉了。或者删掉全部的session:

pkill screen or

killall screen

如果session都已死的话,可以使用:

screen -wipe

下载完后,我们可以用FTP软件把下载的小电影全部保存到本地硬盘里。

最后养成良好的打扫卫生习惯,将保存好的小电影全部删掉,节省vps硬盘空间。我们可以在FTP里删除,但如果文件太多的话,速度会非常慢。这时可以使用如下代码来进行文件删除:

首先用cd命令进入Downloads文件夹,然后:

rm *.mp4 -f

以上通配符将任何媒体格式是MP4的文件删掉,当然我们可以使用字母和结合的方式来删除特定的文件。

以下代码会将Downloads文件夹下的所有文件全部删掉:

rm *.*

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

youtube-dl有一个写入历史下载链接的方法,此方法确保将所有已下载的视频链接地址写入一个archive文件,这样在以后下载,特别是批量下载的时候,已经下载过的视频youtube-dl会自动跳过。语法是–archive-download /…archive文件的保存路径…/archive.txt,比如root里Downloads文件夹下有一个批量视频链接文件list.txt,里面写了所有打算下载的视频链接地址,使用代码:

youtube-dl --batch-file /root/Downloads/list.txt --download-archive /root/Downloads/archive.txt

该代码就会将所有下载后的链接写入archive.txt文件,如果archive.txt文件里有相同的链接,youtube-dl就会跳过下载该链接的视频,同时再结合其它诸如下载视频自动移动命令等工具,最大化利用youtube-dl的强大功能。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

下载youtube播放列表

youtube-dl -cit https://www.youtube.com/playlist?list=PLCJcQMZOafICYrx7zhFu_RWHRZqpB8fIW

找到列表,复制并替换掉PLCJcQMZOafICYrx7zhFu_RWHRZqpB8fIW即可。

例如下载播放列表选择质量最好的MP4格式的视频 -i跳过错误

youtube-dl -cit -f mp4  https://www.youtube.com/playlist?list=PLCJcQMZOafICYrx7zhFu_RWHRZqpB8fIW

那如何获取视频列表呢?其实我们只需要获取到这一串列表码即可,如PLCJcQMZOafIC81DKkddectaYwp20xDMwf。

进入用户的播放列表界面,例如:https://www.youtube.com/user/GreatOnlineTutorials/playlists,并在源码中找到每个播放列表的list值,拼接在https://www.youtube.com/playlist/?list=后面即可。

列表按需下载

  有时候我们在下载一个不断更新的视频,那么我们可以使用--playlist-start、--playlist-end 参数进行数据的下载。

youtube-dl -f 135 -cit --playlist-start 65 

https://www.youtube.com/playlist\?list\=PLrrWFMyom0IocKsc1ukKFxOljEg7IT_W3

youtube-dl结合aria2实现多线程下载,提高下载速度

首先需要安装aria2:

Centos:

yum install aria2 -y

Debian:

apt-get install aria2 -y

测试是否安装成功:

aria2c 文件下载地址

若出现如图所示的结果则说明aria2已安装成功。

然后就可让youtube-dl调用aria2进行下载了:

youtube-dl 视频网址 --external-downloader aria2c --external-downloader-args "-x 16 -k 1M"

–external-downloader aria2c #调用外部下载工具aria2c

–external-downloader-args #外部下载工具指定参数

-x 16 #表示进程数,aria2最高只能16进程

-k 1M #指定块的大小

当看到如图结果则说明aria2调用成功,截图时网速8.6MB/秒

Youtube视频不能指定块的大小,故需要把-K参数拿掉,其它照旧:

youtube-dl 视频网址 --external-downloader aria2c --external-downloader-args "-x 16"

我们再试试调用aria2c进行批量下载:

先去指定下载文件夹,用vi新建一个txt文件,将所需下载的视频网址一行一个黏贴到test.txt文件中,保存关闭。

使用代码:

youtube-dl -ci --batch-file=test.txt --external-downloader aria2c --external-downloader-args "-x 16 -k 1M"

视频列表现在成功。

目前实测的时候发现,只要调用了一次aria2c参数,接下来都不需要再调用,youtube-dl会自动默认走aria2.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
关于磁力下载器,目前可能它最全能
最强绅士下载器
Omni Downloader for Mac - 全功能视频下载器
Bigasoft公司的超强网络视频下载器Video Downloader Pro 可做为YouTub...
4K Video Downloader 4.13.5.3950 32位64位真正食用布丁
【备份】youtube-dl 使用介绍
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服