保贝狗是一款个人信息保护软件
欢迎体验、使用~

使用yt-dlp批量下载各平台视频及音乐

yt-dlp 是一个 dl 分支,具有附加功能和对现已停用的 YouTube-dl 工具的修复,该工具是一个命令行程序,支持Windows、macOS 和 Linux 操作系统,主要用于从各种网站(包括 B站、YouTube、网易云音乐、qq音乐)下载视频以及音乐。这是一个非常有用的工具,允许您以特定分辨率下载视频、音频和字幕。当我们想珍藏一些Up主的视频,但是网站上并没有下载功能是时候,就可以通过yt-dlp进行下载了。

安装

下载安装 yt-dlp可以前往yt-dlp官方GitHub仓库中,选择与自己的平台或操作系统相适当的发行文件并下载。虽然yt-dlp的主要功能是下载视频,但它还支持视频格式转换、音频提取、媒体(字幕、视频、音频、视频缩略图等)文件的并行下载。
yt-dlp多平台版本下载

在继续使用 yt-dlp 之前,强烈建议您安装FFmpeg和FFProbe。虽然是“可选”依赖项,几乎是“强制”依赖的,因为很多视频下载后会涉及到拼接、音视频合并、转码、内嵌字幕、格式转换,这些就需要结合ffmpeg。linux与macos下,一般可以直接用包管理器直接安装(pacman/apt/yum/homebrew), windows可以从ffmpeg官网下载页下载,下载安装后记得要把 ffmpeg命令所在的目录加至环境变量PATH中。

使用

下载和安装 yt-dlp 相对容易,但学习如何正确使用它可能需要一些时间, yt-dlp 是命令行工具,没有“漂亮”的前端 GUI让很多人望而却步,但它的下载功能却是非常强大的。

关于yt-dlp的使用网络上有很多教程,具体的使用方法可以参考官方教程,小编这里只介绍几个常用的例子。

列出所有支持的资源文件,并选择合适的清晰度进行下载

yt-dlp --list-formats video_url

以下载B站《Big Buck Bunny》的视频为例

yt-dlp --list-formats https://www.bilibili.com/video/BV1DT4y1z7a1

资源文件如下

[info] Available formats for BV1DT4y1z7a1_p2:
ID EXT RESOLUTION FPS │  FILESIZE  TBR PROTO │ VCODEC       VBR ACODEC      ABR
───────────────────────────────────────
0  m4a audio only     │ ≈ 5.21MiB  67k https │ audio only       mp4a.40.2   67k
1  m4a audio only     │ ≈10.29MiB 133k https │ audio only       mp4a.40.2  133k
2  m4a audio only     │ ≈12.53MiB 162k https │ audio only       mp4a.40.2  162k
3  mp4 640x360     30 │ ≈27.19MiB 351k https │ avc1.64001E 351k video only
4  mp4 852x480     30 │ ≈62.46MiB 806k https │ avc1.64001F 806k video only

下载的时候默认会下载所支持的最高清的视频,如果要指定分辨率,可以用 -S res: 加上对应P数,如1080、720、480、360,这里下载360P的。

yt-dlp https://www.bilibili.com/video/BV1DT4y1z7a1 -S res:360

如果输入的下载链接是一个合集,默认就会批量把合集中的视频都下载下来,比如现在下载的这个是包含两个视频的合集,默认就全下载了。

下载会员专属的高清视频

下载时,在没有登录的情况下,有些视频网站的高清视频会下载不了,此时,可以用浏览器登录该视频网站,在下载时添加--cookies-from-browser加对应的浏览器名为参数来下载,就可以下载了。

先列出所有支持的资源文件

yt-dlp --list-formats https://www.bilibili.com/video/BV1DT4y1z7a1 --cookies-from-browser firefox

结果如下:

yt-dlp --list-formats https://www.bilibili.com/video/BV1DT4y1z7a1 --cookies-from-browser firefox 

[info] Available formats for BV1DT4y1z7a1_p1:
ID EXT RESOLUTION FPS │   FILESIZE   TBR PROTO │ VCODEC        VBR ACODEC      ABR
──────────────────────────────────────────
0  m4a audio only     │ ≈  5.21MiB   67k https │ audio only        mp4a.40.2   67k
1  m4a audio only     │ ≈ 10.28MiB  133k https │ audio only        mp4a.40.2  133k
2  m4a audio only     │ ≈ 12.53MiB  162k https │ audio only        mp4a.40.2  162k
3  mp4 640x360     29 │ ≈ 27.46MiB  354k https │ avc1.64001E  354k video only
4  mp4 852x480     29 │ ≈ 61.33MiB  792k https │ avc1.64001F  792k video only
5  mp4 1280x720    29 │ ≈136.09MiB 1757k https │ avc1.640028 1757k video only
6  mp4 1920x1080   29 │ ≈203.57MiB 2628k https │ avc1.640032 2628k video only

可见登录后出现有720P、1080P分辨率的视频,如个是VIP,还会出现更高清的视频。

下载1080P的资源,并播放,视频信息如下:
1080P

其他常用选项

  • --sub-langs zh-Hans: 选择下载字幕,zh-Hans为中文简体
  • --embed-subs: 字幕内嵌至视频中,软字幕
  • --write-thumbnail: 下载缩略图
  • --convert-thumbnails jpg: 转换缩略图为jpg格式的
  • --write-info-json: 下载资源信息
  • --dateafter yesterday: 资源为合集时,可以过滤最近的视频,如只下今天的
  • -I 1:5: 资源为合集时,选择性下载,此处为下载前5个
  • -o "%(title).210B [%(id)s].%(ext)s": 文件名格式,具体参考输出文件名模板,此出的%(title).210B为取title的前210字节,以防止文件过长错误

刮削

如果你使用Kodi、Emby、Jelleyfin等播放器或媒体服务,下载的一些视频可能不能正常的刮削,但yt-dlp可以把视频的信息下载下:--write-info-json,但下载后的专有json文件不支持刮削,可以用一个python工具-ytdl-nfo将该文件转换成所支持刮削的nfo文件,通过--write-thumbnail下载缩略图也会成为视频的封面。

ytdl-nfo安装可以用pip命令: pip install ytdl-nfo,单文件转换可以在ytdl-nfo命令后直接加文件名,转换整个文件夹中的.info.json文件。

#转换单文件
ytdl-nfo great_video.info.json
#转换当前目录中所有
ytdl-nfo .

-END-

作者|dev2ex 保贝狗后端开发工程师

网络安全

隐私保护

-=||=-收藏赞 (0)
保贝狗是一款个人信息保护产品。 » 使用yt-dlp批量下载各平台视频及音乐

评论 抢沙发

保贝狗

保贝狗是一款免费的个人信息保护产品
大家都在用的隐私保护软件
保贝狗专注于个人信息保护的研究
实用、简单、方便、快捷

QQ联系我们微信联系我们

登录

找回密码

注册