下载youtube视频折腾教程

本教程所用装备及环境

网络:联通

VPS:GCP 香港,Debian 9,IP国内访问正常

视频下载脚本:you-get,github地址:https://github.com/soimort/you-get

视频取回本地:caddy+小米路由器,支持离线下载

视频远端备份:rclone+google drive

全部流程:python更新至3.0以上=》安装you-get=>安装ffmpeg=》安装caddy=》you-get下载视频=》小米路由器下载=》本地APP观看=》部署rclone=》VPS视频移至Google Drive

为什么看个youtube要这么折腾? 原因如下:

  1. 在线看网络不稳定,偶尔卡顿;
  2. 在线看有广告;
  3. 部分下载youtube视频的网络服务(如http://en.savefrom.net/)不支持1080p以上版本。

下面是流水账:

  1. python更新至3.0以上

    推荐脚本:wget https://www.moerats.com/usr/shell/Python3/Debian_Python3.6.sh && sh Debian_Python3.6.sh

    此处手打感谢moerats

  2. 安装you-get

    pip3 install you-get

  3. 安装ffmpeg

    apt install ffmpeg

    ffmpeg是you-get脚本调用合并文件的,因为youtube高清版本会将视频和音频分离,安装完ffmpeg后脚本会自动合并

  4. 安装caddy

    mkdir -p /speedtest && cd /speedtest && wget -N --no-check-certificate “https://caddyserver.com/download/linux/amd64?license=personal&telemetry=off” -O caddy.tar.gz && tar -zxvf caddy.tar.gz && chmod +x caddy

    nohup /speedtest/caddy -port 自定义端口 -root /home/“gcp用户名”/file browse &

    注:自定义端口TCP需要在GCP的防火墙规则放行,出站入站都需要设置;挂载目录最好在gcp用户名下面,如果是root下面, 文件的删除操作权限要求高,不方便

    然后本地访问:http://GCP的IP地址:自定义端口,就能实现下载后的文件在公网下载了,效果图如下:

  5. you-get下载视频

    前往caddy挂载目录:如 cd /home/“gcp用户名”/file

    you-get 视频url,如you-get

    脚本就会自动下载了,下载完毕后,刷新 http://GCP的IP地址:自定义端口 就能看到文件:

    注:使用 -i 参数,可以查看视频源类型,根据查询结果,附加参数 --itag 即可下载自己想要的分辨率和文件格式

  6. 小米路由器下载至本地

    可以在pc安装小米wifi客户端,也可以访问网页端:https://d.miwifi.com/

    Chrome安装插件后,就更方便了:

    image-20200224140757854

    联通对GCP线路友好,轻松跑满带宽,取回很快

  7. 本地APP观看

    小米路由器后台自动运行SMB、UPNP服务,所以找个合适的APP,设置好手机或者IPAD的全盘访问权限就可以了,这里ios推荐一款免费无广告的APP:VLC,下载地址:https://apps.apple.com/us/app/vlc-for-mobile/id650377962

    软件可以检测到局域网内的SMB服务,找到下载好的视频,开始你的表演

  8. 部署rclone

    其实如果觉得文件不重要,也不用备份到Google Drive,需要的自己尝试吧。

    原贴教程:https://blog.codesofun.com/ariang-rclone-for-google-drive-offline-download.html

    安装rclone:curl https://rclone.org/install.sh | bash

    rclone config,配置账号,注意到Remote config一步时,记得选 NO,然后在网页端粘贴URL,把返回的密码输入至vps

    mkdir -p /data/GoogleDrive,专门留个文件夹用来挂载Google Drive

    apt install fuse, 挂载需要的组件

    rclone mount 配置文件名称:GD上的文件夹名称 /data/GoogleDrive --allow-other --allow-non-empty --vfs-cache-mode writes &

    用 df -h 看看是否挂载成功

  9. 把本地已经存过的视频再备份至Google Drive

    这里用到mv命令:mv /home/“gcp用户名”/file/old/* /data/GoogleDrive

    因为vps不是大盘鸡,把文件移至Google Drive就可以释放VPS空间。

    有人喜欢边下载边上传Google Drive,自测会严重影响下载速度,建议分开做。

注:GCP是按量计费的,不适合用大规模爬虫,否则流量费很快会耗尽你的300$赠金。

本文汇集自多个博客,这里就不一一注明了,感谢所有公开教程的大佬们!

欢迎留言交流。

感谢帖主,不过下载YouTube用idm的插件也不错(非杠精,勿喷
image.png

@Leao
我这边好像不太行。。

@fanyixinwen idm要设置代理的。。。

@fanyixinwen 设置中有这一项
image.png

线程最好设置为8或者16,太高容易被封

@Leao

亲测可用,谢谢,不愿意折腾的直接IDM吧。

@fanyixinwen 偶然发现的,不知道能玩多久