最近有点迷4K影片,在Youtube上看到几个好看的4K影片想下下来没事看看,就找到了这几个工具:
youtube-dl : 开源YouTube下载工具
我用的是 wget :
wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-d
chmod a+rx /usr/local/bin/youtube-dl
用 youtube-dl -h 查看帮助,这货参数太多了,没仔细看,基本用法:
youtube-dl https://www.youtube.com/watch?v=D6tC1pyrsTM
上面就会下载默认格式,如果需要下载指定格式,可以先:
youtube-dl -F https://www.youtube.com/watch?v=D6tC1pyrsTM
[youtube] D6tC1pyrsTM: Downloading webpage
[youtube] D6tC1pyrsTM: Downloading video info webpage
[youtube] D6tC1pyrsTM: Extracting video information
[info] Available formats for D6tC1pyrsTM:
format code extension resolution note
249 webm audio only DASH audio 75k , opus @ 50k, 32.65MiB
250 webm audio only DASH audio 93k , opus @ 70k, 42.86MiB
140 m4a audio only DASH audio 132k , m4a_dash container, mp4a.40.2@128k, 76.19MiB
171 webm audio only DASH audio 151k , vorbis@128k, 69.05MiB
251 webm audio only DASH audio 165k , opus @160k, 82.32MiB
278 webm 256x144 144p 111k , webm container, vp9, 24fps, video only, 54.89MiB
160 mp4 256x144 144p 116k , avc1.4d400c, 24fps, video only, 41.05MiB
242 webm 426x240 240p 237k , vp9, 24fps, video only, 111.69MiB
133 mp4 426x240 240p 263k , avc1.4d4015, 24fps, video only, 91.14MiB
243 webm 640x360 360p 458k , vp9, 24fps, video only, 213.65MiB
134 mp4 640x360 360p 675k , avc1.4d401e, 24fps, video only, 287.75MiB
244 webm 854x480 480p 871k , vp9, 24fps, video only, 395.45MiB
135 mp4 854x480 480p 1254k , avc1.4d401e, 24fps, video only, 597.64MiB
247 webm 1280x720 720p 1827k , vp9, 24fps, video only, 828.03MiB
136 mp4 1280x720 720p 2541k , avc1.4d401f, 24fps, video only, 1.16GiB
248 webm 1920x1080 1080p 3466k , vp9, 24fps, video only, 1.43GiB
137 mp4 1920x1080 1080p 4765k , avc1.640028, 24fps, video only, 2.18GiB
271 webm 2560x1440 1440p 9280k , vp9, 24fps, video only, 4.69GiB
264 mp4 2560x1440 1440p 10990k , avc1.640032, 24fps, video only, 5.13GiB
313 webm 3840x2160 2160p 18919k , vp9, 24fps, video only, 10.13GiB
17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k
36 3gp 320x180 small , mp4v.20.3, mp4a.40.2
43 webm 640x360 medium , vp8.0, vorbis@128k
18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k
22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)
第一列是 id,第二列是文件格式,后面是视频信息。
如果直接想下载哪一种格式的就直接 -f id 就好了,比如下载格式为4K格式的,它的 id 是 313,那么直接:
youtube-dl -f 313 https://www.youtube.com/watch?v=D6tC1pyrsTM
就下载完成了。
这里就遇到了一个问题,当初贪心下载了4K视频,下载对于VPS还是很快的,但是好不容易拉到本地(国外服务器下载到本地很慢,10G啊!!!!),发现视频没有声音,才发现4K有一个video only,没有音频,只好又下载音频,于是做了一个现在看起来很蠢得决定—-在本地进行合成:
下载音频:
youtube-dl -f 251 https://www.youtube.com/watch?v=D6tC1pyrsTM
FFmpeg
CentOS 系统自带的 yum 源中没有 ffmpeg 需要手动添加一个第三方源
# 安装 epel 库,如果以前装过可以不用
yum install epel-release
# 引入 nux.ro 的库
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
# 执行安装
yum install ffmpeg
这里不做详细说明怎么使用这玩意儿,简单说合成就是:
ffmpeg -i a.wav -i a.avi out.avi
于是在家里的NAS上进行合成,我的天,整整一个下午CPU一直100%,我下班到家一摸我的NAS,烫的不行,心疼死我了。
结果到最后还给我报一行没有磁盘空间了,我纳闷得很我记得刚开始这个盘是SSD还有大概50G空间,怎么会没有空间呢?结果一看,磁盘整个红了。。。。而且!!!!!
把所有隐藏文件显示之后发现占用空间根本没有满,也就是说几十G的空间被吞了。。。
心塞塞,视频没合成功(最后发现其实合成成功了,只不过视频最后有十几分钟丢了)磁盘也没有了。。。。我还得想补救措施去。。。
最后
最后从头来呗,从新开一个VPS(好在Vultr按时收费,随开随关),最后发现youtube-dl支持合并音视频
youtube-dl -f 313+251 https://www.youtube.com/watch?v=D6tC1pyrsTM
313是视频放在前面,音频放后面。下载完两个文件之后会自动合并,而且合并的时间很短估计不到一分钟,我不懂是用了什么方法,应该不是用的我那个合成方法,有时间去看看源码。
可以指定输出格式:
youtube-dl -f 137+bestaudio —merge-output-format mkv youtube_url
好了,我现在又在开始下载新的文件了。。大概11G。。。。手动再见!!!
下载
VPS装Nginx+IDM下载,哦对了,VPS先装个BBR加个速,看这:https://vultr.wang/vps-google-bbr-install/