概述

youtube-dl,可以说是最火的视频/音乐下载工具了,支持 Youtube、Bilibili、优酷、爱奇艺、网易云音乐、QQ音乐等几乎所有你用得到的网站。(不过国内网站的支持,可能没 you-get及时)
使用正则匹配网站URL,你只需要给出 视频/playlist/channel 的观看用URL,它就从中解析出下载地址,并将视频下载下来。

安装

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

配置

youtube-dl 的的配置文件位于~/.config/youtube-dl/config,可以把常用的配置写入该文件。以下配置来自网络,仅作参考

# Lines starting with # are comments

# default format is:[ -f bestvideo+bestaudio/best], we make it not better than 1080p
-f bestvideo[height<=?1080]+bestaudio/best

# download all subs
--all-subs

# don't overwrite files
 --no-overwrites 

# Use socks5 proxy, so if you want to download without proxy, you whould use `--ignore-config`
--proxy  socks5://127.0.0.1:9999/

# Save all files under Movies directory in your home directory, with it's name: title.extension.
-o ~/Videos/%(title)s-%(id)s.%(ext)s

# 调用外部下载器下载,(aria2/axel)也许能提升下载速度
# --external-downloader aria2
# 设置外部下载器 (aria2) 的参数,可省略。
# --external-downloader-args -x 16

下载时的常用选项

参数 含义
-F, --list-formats 列出下载视频的所有格式
-f, --format FORMAT 视频格式代码,请参考"FORMAT SELECTION"查看所有信息
-o, --output TEMPLATE 输出文件模板
–write-sub 写入字幕文件
–write-auto-sub 自动写入字幕文件(仅限youtube)
–all-subs 下载视频的所有可用字幕
–embed-subs 嵌入视频字幕(仅支持 mp4,webm,mkv)
–list-subs 列出视频的所有可用字幕
-w, --no-overwrites 不要覆盖文件
-c, --continue 强制恢复部分下载的文件,默认youtube-dl会尽可能恢复下载的文件
-a, --batch-file FILE 批量下载, ‘-’ 代表从标准输入读取
–ignore-config 忽略配置文件

使用示例

# download a video
youtube-dl -o - "https://www.youtube.com/watch?v=BaW_jenozKcj"

# Download YouTube playlist videos in separate directory indexed by video order in a playlist
    youtube-dl -o '%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re

# Download all playlists of YouTube channel/user keeping each playlist in separate directory:
    youtube-dl -o '%(uploader)s/%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' https://www.youtube.com/user/TheLinuxFoundation/playlists
# 直接输出流到vlc
# 使用-o - 选项,将流直接输出到 stdio,再用管道重定向到 vlc.
youtube-dl -o - "https://www.youtube.com/watch?v=BaW_jenozKcj" | vlc -

相关链接

Github项目地址