免费好用的视频下载工具 yt-dlp,支持YouTube、bilibili等数千个视频网站
yt-dlp 是一个功能丰富的命令行音频/视频下载工具,支持数千个网站(如 YouTube、bilibili、TikTok、Instagram、Vimeo 等),专注于提取视频、音频、播放列表和直播流。
下面分享在windows中使用yt-dlp下载视频的基本操作。
yt-dlp 工具下载网址https://github.com/yt-dlp/yt-dlp/releases
下载后,把 yt-dlp.exe 放到一个固定文件夹,比如:
D:\yt-dlp
打开 PowerShell,并进入 yt-dlp.exe 所在文件夹:cd D:\yt-dlp
执行下载,格式如下 :./yt-dlp.exe 视频地址,比如:
./yt-dlp.exe https://www.bilibili.com/video/BV1xxxxxxxe/?spm_id_from=333.337.search-card.all.click

默认是下载最高分辨率,下载后的文件会存放在 yt-dlp 所在的目录下

将 yt-dlp 添加到系统 PATH ,可以在任意目录下运行 yt-dlp.exe
将 yt-dlp.exe 移动到一个长期存放它的目录(例如 D:\yt-dlp)。
搜索 “编辑系统环境变量” 并打开。
点击 “环境变量(N)…” 按钮。
在 “系统变量” 区域找到 Path 变量,选中后点击 “编辑(I)…”。
点击 “新建(N)”,输入您存放 yt-dlp.exe 的完整路径(例如 D:\yt-dlp\)。
一路点击“确定”保存更改。
关闭所有现有的命令行窗口,然后打开一个新的powershell命令行窗口,现在就可以直接运行yt-dlp:yt-dlp https://www.youtube.com/watch?v=WLxxxxxxxxx
下载和安装FFmpeg
许多视频网站(特别是 YouTube)会将视频和音频分开存储,当我们要下载不同分辨率的视频时,就要使用到ffmpeg 来合并独立的视频和音频文件,所以烈推荐安装它。
下载FFmpeghttps://www.gyan.dev/ffmpeg/builds/
比如下载后解压到 D:\yt-dlp\ffmpeg20251102 目录中,然后将 FFmpeg 添加到系统 PATH 环境变量:
比如 D:\yt-dlp\ffmpeg20251102 ,则新建的项为D:\yt-dlp\ffmpeg20251102\bin
验证FFmpeg安装:
关闭所有已打开的命令行窗口 (CMD/PowerShell),然后打开一个新的命令行窗口,执行 ffmpeg -version 命令
如果安装成功,命令行会显示 FFmpeg 的详细版本信息
下载不同的分辨率
默认是下载最高的分辨率,如要下载不同的分辨率:
先列出视频的分辨率:
yt-dlp -F https://www.youtube.com/watch?v=BfQxxxxxxx

如上图,如果是要下载 1080P (推荐:最佳视频 + 最佳音频),执行:
yt-dlp -f "137+bestaudio/best" <Your_Video_URL>
如:
yt-dlp -f "137+bestaudio/best" https://www.youtube.com/watch?v=BfQ1Jxxxxxx
137: 明确选择 1080p 视频流。+bestaudio/best: 选择最佳的音频流。/best 是一个通用回退选项,确保总有一个最佳格式。
如果是要下载720P (推荐:最佳视频 + 最佳音频),可以使用纯视频流 136(720p, mp4)和 bestaudio 组合,执行:
yt-dlp -f "136+bestaudio/best" <Your_Video_URL>
如:
yt-dlp -f "136+bestaudio/best" https://www.youtube.com/watch?v=BfQ1xxxxxx

说明:
上面的格式 ID (137, 136):不是固定的,137 和 136 只是这个特定视频的临时“身份证号”,必须运行 yt-dlp -F <url>来查看最新的列表,然后从列表中选取您想要的 RESOLUTION 对应的 ID。
内置选择器关键字 (bestaudio, best)是固定的,这些关键字是 yt-dlp 内部定义的快捷方式,您可以在任何视频链接上使用它们,程序会自动查找并应用最佳选项。bestaudio: 自动选择最高质量的音频流(如您列表中看到的 251-drc 或 140-drc 之一)。best: 自动选择最佳的整体格式(通常是最高分辨率的内置合并格式,比如 1080p 或 4K,如果存在)。 以上下载的视频格式是.mkv的,不是mp4格式。
下载 720p 视频,并确保使用 AAC 音频以便于输出 MP4的通用写法:
yt-dlp -f "bestvideo[height<=720]+bestaudio[acodec=mp4a.40.2]" --recode-video mp4 <URL>
下载 1080p 视频,并确保使用 AAC 音频以便于输出 MP4的通用写法:
yt-dlp -f "bestvideo[height<=1080]+bestaudio[acodec=mp4a.40.2]" --recode-video mp4 <URL>
AV1 编码通常提供比 H.264 (AVC) 更好的画质和更小的文件体积,但它需要 FFmpeg 较新的版本且编码兼容性可能不如 H.264。如果您想尝试下载 1080p AV1 视频流,并用 AAC 音频合并(虽然 AV1 视频流通常只和 Opus 音频一起出现,但我们尝试强制搭配 AAC 试试):
yt-dlp -f "bestvideo[ext=av01][height<=1080]+bestaudio[acodec=mp4a.40.2]" --recode-video mp4 <URL>
只下载 1080p(mp4):
yt-dlp -f "bestvideo\[ext=mp4\]\[height=1080\]+bestaudio\[ext=m4a\]" --merge-output-format mp4 URL
只下载 720p(mp4):
yt-dlp -f "bestvideo\[ext=mp4\]\[height=720\]+bestaudio\[ext=m4a\]" --merge-output-format mp4 URL
最通用的命令(1080p→720p,输出 MP4)
yt-dlp -f "bestvideo[ext=mp4][height<=1080]+bestaudio[ext=m4a]/bestvideo[ext=mp4][height<=720]+bestaudio[ext=m4a]/best[ext=mp4]" \
--merge-output-format mp4 \
URL
解释:bestvideo[ext=mp4][height<=1080]:优先选 1080p mp4/bestvideo[ext=mp4][height<=720]:1080p 没有时退到 720p mp4+bestaudio[ext=m4a]:合并最好的 m4a 音频轨best[ext=mp4]:都没有时,直接挑一个最好的 mp4(一般是720或以下)\--merge-output-format mp4:最终输出合并成一个 mp4

