下载各大视频有多种途径。您可以通过搜索找到众多在线视频解析网站,生成视频的下载链接,或者选择macOS平台上的付费软件如Downie。然而,我倾向于使用免费的yt-dlp命令行工具来下载主流视频平台的内容。
yt-dlp是什么?
yt-dlp是一款基于Python的免费、开源、跨平台命令行工具。它不仅支持下载YouTube视频,还涵盖了B站、微博、爱奇艺、优酷、小红书、喜马拉雅FM、CCTV央视网、Facebook、Instagram、Reddit、Twitter、Udemy和TikTok等1800多个网站的音视频内容。
yt-dlp的功能十分全面,包括断点续传、视频格式转换(依赖FFmpeg)、自动跳过广告的SponsorBlock功能、Cookie支持、视频章节分割等。若需要更多功能,还可以通过安装插件来扩展,例如YouTube Agegate Bypass和YouTube nsig Proxy等热门插件值得尝试。
yt-dlp还提供了编译好的现成可执行文件,支持Linux、Windows和macOS,便于跨平台使用。yt-dlp的代码源自youtube-dl,后者因汉堡地区法院的判决已停止运营。请注意,下载视频可能违反网站服务条款,使用时请自行承担风险。
安装 yt-dlp
在 Windows 上安装
我们登录到作者的github 下载对应的适合自己的版本 然后再到FFmpeg 下载到 ffprobe ffmpeg 和yt-dlp一起放到系统文件的
C:\Windows\System32下即可。终端打开写入 yt-dlp [视频链接] 即可下载视频
yt-dlp 常用命令示例
您好,yt-dlp
是一个功能丰富的命令行音视频下载器,支持从多个网站下载视频和音频资源。如果您想要下载一个视频,可以使用以下基本命令:
shellyt-dlp [视频链接]
例如,如果您有一个 YouTube 视频链接,您可以直接将该链接替换到命令中,如下所示:
shellyt-dlp https://www.youtube.com/watch?v=xxxxxxxxxx
这将会下载视频的默认最佳质量。如果您需要更多选项,比如选择特定的视频质量、格式或者下载播放列表,yt-dlp
提供了多种参数来满足不同的需求。以下是一些常用的命令示例:
- 下载最佳质量的视频和音频:shell
yt-dlp -f "bestvideo+bestaudio" [视频链接]
- 限制下载视频的最大分辨率:shell
yt-dlp -f "bestvideo[height<=1080]+bestaudio" [视频链接]
- 下载特定格式的视频(例如,仅下载 MP4 格式的视频):shell
yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]" [视频链接]
- 查看视频所有可用格式:shell
yt-dlp -F [视频链接]
- 下载播放列表:shell
yt-dlp [播放列表链接]
- 下载频道的所有视频:shell复制
yt-dlp [频道链接]
下载音频
如果只想下载音频,可以使用-x
参数:
yt-dlp -x [视频链接]
如果有音频文件,会直接下载;如果没有,则下载视频,然后通过 FFmpeg 转换成音频文件,最后自动删除视频文件。
下载字幕
1先查看视频有哪些字幕:
yt-dlp --list-subs [视频链接]
下载特定语言的字幕(不下载视频):
yt-dlp --write-subs --sub-langs [语言代码] --skip-download [视频链接]
批量下载视频
- 直接在命令中列出多个视频链接:
yt-dlp [视频链接1] [视频链接2]
- 将视频链接保存在文本文件中,然后通过
-a
参数指定文件路径:
yt-dlp -a [文本文件路径]
下载 YouTube 播放列表
直接使用播放列表链接或 ID:
yt-dlp [播放列表链接]
# 或
yt-dlp [播放列表ID]
指定视频格式、画质和音频(常用)
YouTube 的视频提供了多种格式和分辨率选项,包括 mhtml、mp4、m4a、webm,以及 256×144、1280×720、1920×1080 等。你可以使用-F
参数来查看目标视频的可用格式、分辨率和音频,以便做出选择。
1查看可用的视频格式、分辨率和音频:
yt-dlp -F [视频链接]
下载指定格式的视频+音频:
yt-dlp -f [视频格式ID+音频格式ID] [视频链接]
下载最佳质量 YouTube 视频
如果要快速下载最佳质量的视频,yt-dlp 也提供了几个实用的格式选择器:
1下载最佳视频和音频质量,并自动合并(推荐):
yt-dlp -f "bv*+ba/b" [视频链接]
2指定输出格式,例如 MP4:
yt-dlp -f "bv*[ext=mp4]+ba[ext=m4a]/b" [视频链接]
这里的格式参数说明如下:
bv*
:选择最佳视频流bestvideo
的简写,添加*
号表示支持所有编码。ba
:选择最佳音频流bestaudio
的简写。b
:如果单文件中已经包含视频和音频,则直接下载。ext=mp4/m4a
:指定输出格式为 MP4/M4A。
3如果你想确保最终文件一定是 MP4 格式,可以使用以下命令:
yt-dlp -f "bv*+ba/b" --merge-output-format mp4 [视频链接]
Leave a Reply