【备忘】 youtube-dl使用方法

  youtube-dl是一个Python编写的开源的音视频下载工具,只支持命令行操作。虽然名为youtube-dl,但它支持的站点非常多,包括了诸多国内外知名的音视频网站(查看完整的支持列表)。由于指令较多,容易忘记,故将常用的指令记录在此,以备不时之需。

安装

官方GitHub仓库地址:https://github.com/ytdl-org/youtube-dl
Windows下可以在releases页面找到最新发布版并直接下载youtube-dl.exe即可使用,更新方法如下:

1
youtube-dl -U

Linux下可以通过pip安装:

1
2
3
pip install youtube-dl           # 安装
pip uninstall youtube-dl # 卸载
pip install --upgrade youtube-dl # 更新

使用

完整的指令列表和参数说明请见GitHub仓库里的官方文档,这里只记录最常用到的音视频下载指令
由于众所周知的原因,大多数情况下都需要使用代理下载YouTube上的内容,因此下面所有指令都加上了--proxy socks5://127.0.0.1:1080/,即通过socks5协议的本地代理下载,记得挂上梯子并开启本地端口

  • 列出所有可用的音视频格式
    1
    youtube-dl --proxy socks5://127.0.0.1:1080/ -F [url]


可以看到程序列出了该资源每个可用项的格式码、扩展名以及说明,其中包括audio onlyvideo only

  • 通过指定格式码下载

    1
    youtube-dl --proxy socks5://127.0.0.1:1080/ -f [format code] [url]
  • 下载纯音频至指定格式(需ffmpeg)
    需要保证ffmpeg在环境变量中或者与youtube-dl在同一目录才可正常转码

    1
    youtube-dl --proxy socks5://127.0.0.1:1080/ -x --audio-format mp3 [url]

该指令可以下载音频并通过ffmpeg转至mp3格式,仅保留-x参数可以不转格式

  • 下载最佳质量的音视频
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 下载最佳质量的音视频格式
    youtube-dl --proxy socks5://127.0.0.1:1080/ -f best [url]

    # 下载最佳质量的仅视频格式
    youtube-dl --proxy socks5://127.0.0.1:1080/ -f bestvideo [url]

    # 下载最佳质量的仅音频格式
    youtube-dl --proxy socks5://127.0.0.1:1080/ -f bestaudio [url]

    # 分别下载最高质量的仅视频和最高质量的仅音频格式,再用ffmpeg合并成一个最佳质量的mkv文件
    youtube-dl --proxy socks5://127.0.0.1:1080/ -f bestvideo+bestaudio [url]