站点图标 久久日记本

yt-dlp实用命令

下载 Youtube 的方式可以用 you-get, youtube-dl, yt-dlp

我对于前者使用较少,主要使用后面2个。

但是近年来 youtube-dlYoutube 干了多次,几年前被限速后我就没有继续使用了。后面再次用到的时候,大佬们开了 yt-dlp的新坑。两者在命令上基本通用。

结合这么多年的使用,记下了一些常用命令以供参考。

以为 TVB《水浒无间道》的下载作为例子。

1.参数介绍
2.查看该影片音频和视频所有格式
3.查看该影片所有字幕
4.下载视频
5.下载视频列表
6.下载视频/列表和字幕
7.通用命令
8.参考资料

通用命令

1.参数介绍

yt-dlp

# 代理
--proxy socks5://xxx:xx

# 下载视频格式 + 音频格式
-f 248+140

# 封装后缀
--merge-output-format mkv

#下载字幕并转换格式
--write-subs --write-auto-subs --embed-subs --compat-options no-keep-subs --sub-lang zh-Hans-zh-HK-bNc5iLxGGqE.* --convert-subs srt 

#下载地址
'https://www.youtube.com/watch?v=hHNt1HS-ei4'

2.查看该影片音频和视频所有格式

yt-dlp -F https://www.youtube.com/watch?v=hHNt1HS-ei4

3.查看该影片所有字幕

yt-dlp --list-subs https://www.youtube.com/watch?v=hHNt1HS-ei4

下载并写入字幕

yt-dlp --write-subs zh-Hans --sub-format json3 https://www.youtube.com/watch?v=hHNt1HS-ei4

如果你的网络需要代理,只需要加入--proxy参数即可,yt-dlp支持socks5代理。

yt-dlp --proxy socks5://xxx:xx -F https://www.youtube.com/watch?v=hHNt1HS-ei4

4.下载视频

#下载 最高分辨率视频为mp4,音频m4a,封装为mp4格式,适合浏览器解码或者电视解码,不过体积比较大
yt-dlp -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 https://www.youtube.com/watch?v=hHNt1HS-ei4

# 下载 最高分辨率视频为webm,音频webm,封装为mkv格式,适合支持265解码的播放器。体积较小
yt-dlp -f 'bestvideo[ext=webm]+bestaudio[ext=webm]/bestvideo+bestaudio' --merge-output-format mkv https://www.youtube.com/watch?v=hHNt1HS-ei4

选择格式
上述命令参数在最新的yt-dlp中会报错,看文档似乎没问题,未知原因,懒得去纠结,不过我们可以选择其他参数。

# 248 webm  1920x1080 
# 140 m4a   audio only
yt-dlp -f '248+140' --merge-output-format mkv https://www.youtube.com/watch?v=hHNt1HS-ei4

由于这份影片是粤语,如果需要加上字幕,可以参考下面命令。

5.下载视频列表

yt-dlp -f 303+140 --merge-output-format mkv --playlist-items 0-30 https://www.youtube.com/playlist?list=PLUxlohmoXralbdItmKbTM-GQ_3_P4YKDv

6.下载视频/列表和字幕

参考上述命令的间接查看视频,音频,和字幕格式,使用代理下载 并合并视频文件。

下载视频1,使用socks5代理,下载视频 248 格式,音频 140 格式,下载 字幕 zh-Hans-zh-HK-bNc5iLxGGqE 格式,合并为mkv封装格式。

yt-dlp --proxy socks5://xxx:xx -f 248+140 --merge-output-format mkv --write-subs --write-auto-subs --embed-subs --compat-options no-keep-subs --sub-lang zh-Hans-zh-HK-bNc5iLxGGqE.* --convert-subs srt https://www.youtube.com/watch?v=hHNt1HS-ei4

上述条件不变,改为下载视频列表,只需要加上下面参数:
--playlist-items 0-30 https://www.youtube.com/playlist?list=PLUxlohmoXralbdItmKbTM-GQ_3_P4YKDv

7.通用命令

yt-dlp --merge-output-format mkv --write-subs --write-auto-subs --embed-subs --compat-options no-keep-subs --sub-lang en.* --convert-subs srt --yes-playlist "https://www.youtube.com/playlist?list={playlist_id}" -o "%(playlist_index)s-%(title)s.%(ext)s"

8.参考资料

yt-dlp/yt-dlp源码

reddit: How To Download YouTube Video (From Playlist) with Subtitles?

退出移动版