Ubuntu 16.04 使用 youtube-dl + FFmpeg 下载 Youtube 1080p 视频
凑目录
今天在 Youtube 上下载了一个 1080p 的视频,点开后发现没有声音,看看目录里面还有个音频,才发现 Youtube 1080p 的视频和音频是分开的,720p 倒是合在一起的没问题。既然是分开的还需要自己合成起来,用的是 FFmpeg,每次下载 1080p 都要自己合成一次太麻烦了。要是能下载时候自动合成就好了。还有,我一般都是挂着 ss 下载,但总感觉这样比较慢,在 VPS 上安装,视频下载完成拖回本地,应该会好一点。这里用的是下载神器 youtube-dl 和 FFmpeg 配合。
安装 FFmpeg
操作系统是 Ubuntu 16.04.2 LTS,安装 FFmpeg 很简单:
|
|
安装 youtube-dl
详见官网:https://rg3.github.io/youtube-dl/download.html
我用的是 wget
:
|
|
使用 youtube-dl
用 youtube-dl -h
查看帮助,这货参数太多了,没仔细看,基本用法:
|
|
上面就会下载默认格式,如果需要下载指定格式,可以先:
|
|
返回:
|
|
第一列是 id
,第二列是文件格式,后面是视频信息。
如果直接想下载哪一种格式的就直接 -f id
就好了,比如下载格式为 720p / mp4 格式的,它的 id
是 22
,那么直接:
|
|
就下载完成了。
1080p 视频和音频是分开的,可以看到有些格式带有 video only
,有些带有 audio only
,选两个你自己喜欢的组合吧。比如我要下载 1080p / mp4 的视频和 128k / m4a 的音频,他们的 id
分别是 137
和 140
,那么使用:
|
|
youtube-dl 就用下载这两个视频和音频并调用 FFmpeg 合成为一个文件,并删除原来两个视频和音频。
小提示:mp4 + m4a
会合成为一个 mp4
文件, mp4 + webm
会兼容合成为 .mkv
文件,一般为了方便视频以后上传什么的我都选择 mp4 + m4a
组合。
拖回本地
视频在 VPS 下载完成后需要拖回本地,方法随意了,我是偷懒直接把视频下载在 Nginx 的 www
目录,用下载工具直接拖回来,工具用的是 IDM,不建议使用迅雷你懂的。
服务器是搬瓦工,拖回来后连忙删除 VPS 的视频,一是流量少耗不起,二是下载了带版权的视频被停就麻烦了。