使用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>

参考

posted @ 2023-04-26 23:49  王bourne  阅读(3714)  评论(0编辑  收藏  举报