在远程的、已经科学上网的服务器或VPS上,通过 youtube-dl 下载YouTube上的视频,并通过FFmpeg合并视频和音频,随后用IDM(高效多线程下载工具)拖回本地,以达到快速下载YouTube视频到本地的目的。

虽说youtube-dl有Windows和OS X版本,但本地科学上网的网络些许时候不够稳定,而境外性价比最高的VPS,往往都是Linux系统的,所以这里用的是Linux版本的youtube-dl,使用的系统是Debian 8。

安装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的更新非常频繁,安装完成之后,可以使用命令youtube-dl -U升级。

安装FFmpeg

从YouTube上下载的视频,声音和画面是分开的,下载的是2个文件,需要安装FFmpeg来合并文件。

Debian 8 (Jessie)及其以后的版本,不再包括FFmpeg,可以使用如下3个方法来达到相同的目的。

方法1. 替换为avconv

avconv使用跟ffmpeg几乎相同,虽说功能没有ffmpeg强大,但对于合并视频和音频,足够使用。

apt-get install libav-tools

方法2. 从deb-multimedia.org安装FFmpeg

echo deb http://www.deb-multimedia.org jessie main non-free >>/etc/apt/sources.list
apt-get update
apt-get install deb-multimedia-keyring
apt-get update
apt-get install ffmpeg

方法3. 源码编译安装FFmpeg

必须和基础环境:

apt-get install yasm nasm \
                build-essential automake autoconf \
                libtool pkg-config libcurl4-openssl-dev \
                intltool libxml2-dev libgtk2.0-dev \
                libnotify-dev libglib2.0-dev libevent-dev \
                checkinstall

Git获取或下载最新快照:

git clone git://git.videolan.org/ffmpeg.git

OR

wget https://www.ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar jxvf ffmpeg-snapshot.tar.bz2

编译安装:

cd ffmpeg
./configure --prefix=/usr
time make -j 8
cat RELEASE
checkinstall

youtube-dl使用

完整的使用说明,在官方:https://github.com/rg3/youtube-dl

查看视频有多少格式:

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

上面命令输出:

2017-01-13_183039.png

  • 第一列:格式代码,待会下载的时候需要用到的;
  • 第二列:具体格式;
  • 第三列:视频分辨率,如果是声音的话只显示 “audio only”;
  • 第四列:具体属性、大小等等

下载1080P的视频,和最好的音频:

youtube-dl -f 137+140 https://www.youtube.com/watch?v=P5WEd19kUTM

其实140不是最好的音频,最好的是251,但是webm格式的,和mp4视频合并在一起,好像只能转为mkv格式了,所以我选择140。

下载的时候需要一定的时间,合并也需要一定的时间,合并之后会自动删除合并的文件。

拖回本地

服务器或VPS上搭建Web环境,建议用搭建方便的Caddy(传送门);

然后本地用IDM(Internet Download Manager,破解版泛滥)下载就好了。

2017-01-13_184125.png

本地20M宽带,已经达到了最大速度。

youtube-dl 支持的音视频网站下载列表

此外youtube-dl支持众多音视频网站的下载。

网站列表传送门:http://rg3.github.io/youtube-dl/supportedsites.html

END。