使用 Youtube-DL 离线下载 YouTube 视频并且 VPS 上在线观看


在一些特殊的条件需求下,一些人可能需要vps离线下载视频,或者在不科学上网的情况下在线观看。
有人给我推荐了Youtube-dl,的确很强大,这篇文章只是简单介绍一下Youtube-dl的基础功能和如何在自己的VPS上面在线观看。


如果你只是想要简单的下载youtube视频到本地,请看这个:教你如何从YouTube上下载视频

安装步骤

安装很简单,Youtube-dl支持Windows,Linux,OS X,etc等系统,这次主要介绍Linux系统。
以下代码不一定是最新的,最新的请去 官方下载中心 查看。

Linux系统安装:

以下三种下载安装方式选择一个就行了。
  1. sudo curl -L https://yt-dl.org/downloads/2016.07.13/youtube-dl -o /usr/local/bin/youtube-dl
  2. sudo chmod a+rx /usr/local/bin/youtube-dl
如果你的vps没有安装 curl ,可以使用 wget 来下载。
  1. sudo wget https://yt-dl.org/downloads/2016.07.13/youtube-dl -O /usr/local/bin/youtube-dl
  2. sudo chmod a+rx /usr/local/bin/youtube-dl
当然你也可以用pip来安装,如果你没有pip就先安装pip, apt-get install python-pip -y
  1. sudo pip install --upgrade youtube_dl

OS X系统安装:

  1. sudo wget https://yt-dl.org/downloads/2016.07.13/youtube-dl.sig -O youtube-dl.sig
  2. gpg --verify youtube-dl.sig /usr/local/bin/youtube-dl
  3. rm youtube-dl.sig

Windows系统安装:

直接官方下载一个exe文件就行了。
但是,要运行这个程序还需要安装微软的运行库。

基础功能介绍

Youtube-dl的官网是:http://rg3.github.io/youtube-dl/
Github项目地址是:https://github.com/rg3/youtube-dl
在这里都能看到最新最全的youtube-dl信息。
Youtube-dl支持八百多家视频网站,具体列表可以看这里:http://rg3.github.io/youtube-dl/supportedsites.html ,优酷、爱奇艺等国内视频网站也是支持的。

下载视频

以下教程均以 这个youtube视频链接为例 https://www.youtube.com/watch?v=jK5coaM2X9g
最基础的下载视频的方法很简单,直接 youtube-dl URL
  1. youtube-dl https://www.youtube.com/watch?v=jK5coaM2X9g
这样就会自动选择一个最好的视频格式和清晰度下载到 当前的文件夹 了。
如果想把这个视频的所有格式都下载下来怎么办?

下载全部格式

  1. youtube-dl  --all-formats https://www.youtube.com/watch?v=jK5coaM2X9g
–all-formats :添加这个参数之后,所有存在的格式全部下载;
但是你又不想全部下载,想挑选指定视频的格式和清晰度怎么办?

列出视频的所有格式/清晰度

–list-formats/-F:这是一个列清单参数,执行后并不会下载视频,但能知道这个目标视频都有哪些格式存在,这样就可以有选择的下载啦!
  1. youtube-dl --list-formats https://www.youtube.com/watch?v=jK5coaM2X9g
然后就会看到一大片的视频格式,如果你要下载其中一个,请看前面第一列的编号ID。

下载指定格式视频

-f + 编号:通过上一步获取到了所有视频格式的列表,第一列就是编号对应着不同的格式,例如我想下载22号那个mp4格式分辨率为1280*720的视频,则按下面的命令就可以轻松指定下载视频哦;
  1. youtube-dl -f 22 https://www.youtube.com/watch?v=jK5coaM2X9g

离线下载/后台下载

我发现Toutube-dl不带有后台下载的功能,或者说我没找到命令,不过没事,可以试用 screen 来实现。
首先如果你没有安装 screen 的话请先安装。
Debian/Ubuntu系统安装:
  1. apt-get update
  2. apt-get install screen
Centos系统安装:
  1. yum update
  2. yum  install screen
然后用 -S 创建一个活动,这时候你就进入了这个活动中,你就可以去下载视频了,这时候即使关闭ssh也不会断开下载。
  1. screen -S video
如果你不小心关闭ssh或者想要重新查看 video活动,可以用 -r 来重新进入这个活动
  1. screen -r video

VPS中在线播放

这个其实很简单,HTML5本身就可以去播放指定格式的视频,所以我们只需要搭建一个nginx或者apache,把视频下载到默认虚拟主机的文件夹里,就可以在线观看了。
需要注意的是,HTML5支持在线播放的格式有限,建议下载 mp4 和 Webm 格式的,免得HTML5无法在线播放。
我们这里以apache为例,先安装apache。
Debian/Ubuntu系统安装:
  1. apt-get install apache2 -y
Centos系统安装:
  1. yum install httpd -y
然后去  /var/www 目录下载视频。
  1. cd /var/www
下载好了之后用 ls -a 查看当前目录下的文件,找到你的视频文件名称,比如:233.mp4
然后打开网页: http://你的VPS_IP/233.mp4
就可以在线观看了。
当然这样看视频也会有一些不方便,不能方便的选视频。你可以试试我的逗比云的程序 :自用的逗比云 目录列表程序 Directory Lister 兼容中文版
可以列出虚拟主机目录下的文件列表。当然,我这个程序是php的,所以还需要安装php,如果你不会可以直接去lnmp.rog 安装lnmp一键包,因为不需要用到数据库,所以你可以 lnmp mysql stop 把Mysql数据库关掉。
当然你也可以直接使用 apache/nginx 自带的列表功能,开启方法很简单,只要删掉/var/www目录下的index.html文件,这时候访问你的 http://vps_IP/ 就可以看到一个简陋的列表了。
  1. rm -rf /var/www/index.html
如果你安装的是nginx (通过apt-get install -y 、 yum install nginx -y 安装的才是),那默认的虚拟主机文件夹是 /usr/share/nginx/www 
  1. rm -rf /usr/share/nginx/www/index.html
如果你安装的是上面我说的 lnmp.rog 中的lnmp一键包,那默认虚拟主机文件夹就是 /home/wwwroot/default
  1. rm -rf /home/wwwroot/default/index.html
就暂时先介绍这么多,稍后慢慢补充。
发表评论