YouTube不支持直接从浏览器或curl下载视频链接,需要使用yt-dlp命令下载YouTube视频。
1、安装yt-dlp命令
brew install yt-dlp
如果没有安装Homebrew,参考《mac安装Homebrew》安装。
2、使用yt-dlp命令下载视频
yt-dlp "你的完整链接"
yt-dlp命令会自动补齐所有YouTube需要的headers和cookies,并将视频和音频合成一个文件。
下载的文件可能是webm格式,可以通过Chrome浏览器浏览。
也可以使用转换工具转换成mp4格式,以便更好的分发。
注意事项
1、ERROR: unable to download video data: HTTP Error 403: Forbidden
在实际使用中,403 通常由以下几类原因导致:
一,访问受限。包括地区限制、年龄限制、登录可见、或仅限某些设备客户端访问。未携带必要的 Cookie 或身份信息时,请求会被拒绝。
二,反爬或风控触发。YouTube 对部分来源组合(UA、IP、请求方式)返回 403,例如并发过高、签名校验失败、或未使用正确的播放器 API 参数。
三,某些格式(如 248+251)当前不可直接访问,而其他分辨率/编码仍可用。
解决方案:
1)携带登陆Cookie:
yt-dlp --cookies-from-browser safari "URL" // Safari 浏览器
yt-dlp --cookies-from-browser chrome "URL" // Chrome 浏览器
yt-dlp --cookies-from-browser edge "URL" // Edge 浏览器
2)切换客户端或播放器参数:
yt-dlp --extractor-args "youtube:player_client=android" "URL"
有些视频只能通过特定客户端成功。
3)尝试更换格式或仅下载音/视频其一:
yt-dlp -F "URL" # 列出可用格式
yt-dlp -f 22 "URL" # 选择整合格式测试
4)增加并发/网络兼容参数:
yt-dlp -N 4 --force-ipv4 "URL"
5)确认网络与代理环节
代理、VPN、公司网络或教育网节点有时会被 YouTube 拒绝;更换网络或出口 IP 再试。
