使用youtube-dl和yt-dlp下载视频!
导语
我们在某网站上观看视频时, 经常会碰到以下的尴尬情况, 不是被删了就是被设为私有了, 十分烦人.
其实我们可以通过youtube-dl和yt-dlp将Youxxbe上的视频下载到自己电脑上, 以防万一. 本文将介绍如何使用这两款工具下载视频.
youtube-dl
由于版权问题, youtube-dl的下载速度非常慢, 大概只有几十KB/s, 推荐使用youtube-dl的分叉产品yt-dlp(YouTube DownLoad Plus).
如果在读这篇文章的读者还在使用youtube-dl, 强烈建议体验下yt-dlp.
yt-dlp
安装yt-dlp
安装yt-dlp十分简单, 下载文件后放到PATH指定的路径中, 再添加执行权限即可. 本文将其放置在/usr/local/bin/
下.
笔者使用的是Linux系统, 执行以下两条简单命令即可安装完成. 如果是使用Windows/MAC的读者, 安装方法请移步到最后的参考, 参考官方文档.
$ sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
$ sudo chmod a+rx /usr/local/bin/yt-dlp
更新yt-dlp
$ yt-dlp -U
下载视频
使用下面的命令下载视频, 会自动选择最好的画质进行下载.
但是请注意: 在命令行下使用时, 部分的URL中都包含&
, 而&
在shell中表示后台运行的意思, 会导致运行出错, 所以URL要使用引号''
包裹起来
$ yt-dlp <URL>
指定格式
下载视频时指定格式, 此处为mp4
格式, 当然也可以指定其他的格式
$ yt-dlp --merge-output-format mp4 <URL>
查看可用的分辨率
查看视频的分辨率
$ yt-dlp -F <URL>
下载指定的音视频, 可单独下载音频或视频. 如果要同时下载音频和视频, 可使用id1+id2
, 下载后会自动合并, 例如yt-dlp -f 600+598 <URL>
$ yt-dlp -f <ID> <URL>
使用cookies
对于部分视频, 需要登录才能下载到1080p画质. 比较简单的做法是在浏览器登录视频网站, 然后直接使用浏览器的cookies, 在--cookies-from-browser
选项后指定浏览器即可.
$ yt-dlp -F --cookies-from-browser firefox <URL>
指定文件名
如果有的视频名字比较长, 就会有ERROR: unable to open for writing: [Errno 36] File name too long
的报错, 此时我们可以通过-o
选项来自定义下载的文件名: %(title)s
表示文件名, %(title).50s
表示取文件名前50个字符, 这样就可以避免视频名字过长导致报错的问题了
$ yt-dlp --cookies-from firefox -o '%(title).50s.%(ext)s' <URL>