要手动下载 YouTube 视频,我通常使用: https://y2meta.app/en/youtube/rU8_Fg103ZQ 的 [1080p (.mp4) 全高清] 分辨率。
现在我希望使用 python 库 youtube-dl 通过代码复制相同的内容。根据文档
ydl_opts
是我需要正确配置的。
我的预感是 "format": "bestvideo[height=1080]/best[height=1080]",
应该是我应该设置的,但我发现它出现以下错误:
youtube_dl.utils.ExtractorError: requested format not available
在我尝试过的所有排列中,我发现没有出错的是:
ydl_opts = {
"format": "bestvideo[ext=mp4]+bestaudio[ext=mp4]/mp4+best[height<=720]",
"recode-video": "mp4",
"outtmpl": '/my/video/output/path',
}
但这里我得到的分辨率只有 360p 的高度。我需要高度为 1080p。
PS:我不太在意音频,一个高度= 1080p的静音mp4就足够了。
遵循文档: https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection
“默认情况下,youtube-dl 会尝试下载最佳可用质量”
您还可以使用特殊名称来选择特定的边缘情况格式:
这个方法你试过吗?