代理
如果没有全局梯子的话,在命令行里就需要使用代理来下载。使用--proxy
来指定代理,支持HTTP/HTTPS/SOCKS
等协议。
下载
默认下载的视频格式是webm格式,如果需要转换可以使用--merge-output-format mp4
来转换,mp4可以指定为其他格式,比如mkv等,下载的文件名格式是 %(title)s [%(id)s].%(ext)s
,通过--output
可以指定输出的文件名格式。
文件名的Template语法参考:https://github.com/yt-dlp/yt-dlp/blob/master/README.md#output-template
下载1080P视频+音频并合并
1 2 3
| yt-dlp -f 'bv[height=1080][ext=mp4]+ba[ext=m4a]' https://www.youtube.com/watch?v=WHSoSAqOyPY
|
下载4K视频+音频合并
1
| yt-dlp -f 'bv[height=2160][ext=mp4]+ba[ext=m4a]' --embed-metadata https://www.youtube.com/watch?v=WHSoSAqOyPY
|
下载列表
默认输入视频URL带上list的话会自动下载list的
设置--playlist-start 1
来指定开 始的index,设置 --playlist-end
指定结束的index,--playlist-items 1,2,5-8
指定某一些item进行下载
1 2 3
| yt-dlp -f 'bv+ba' --embed-metadata --merge-output-format mp4 --playlist-items 1,2,6-10 -o '%(playlist_index)s-%(playlist)s-%(title)s.mp4' https://www.youtube.com/watch\?v\=rY-7DtUFiEI\&list\=PLJVKAfvqjvcofezOxMQaSHnO6HV84isXO
|
字幕操作
1 2 3 4 5 6
| --write-subs 把字幕写到磁盘上 --sub-langs zh-Hans,en 多个语言使用逗号隔开,all下载全部语言 --write-auto-subs 把自动生成的字幕写到磁盘上 --embed-subs 把字幕嵌入视频文件中
|
通过--write-subs
把字幕写到磁盘上,--sub-langs zh-Hans,en
多个语言使用逗号隔开,all下载全部语言,--write-auto-subs
把自动生成的字幕写到磁盘上,--embed-subs
把字幕嵌入视频文件中
下载视频带中英文字幕文件:
1 2 3
| yt-dlp https://www.youtube.com/watch?v=XiGk6PXt38w&t=18s --sub-langs zh-Hans,en --write-subs --write-auto-subs --embed-thumbnail --write-thumbnail --write-link
|
综合操作
下载最佳分辨率视频+音频+下载中英文字幕文件+转换为mp4+视频链接+缩略图
1 2 3 4 5 6 7 8 9 10
| yt-dlp \ --format 'bv+ba' \ --write-auto-subs \ --sub-langs zh-Hans,en \ --write-link \ --write-thumbnail \ --embed-metadata \ --merge-output-format mp4 \ --output '%(playlist_index)s-%(playlist)s-%(title)s.mp4' \ https://www.youtube.com/watch\?v\=rY-7DtUFiEI\&list\=PLJVKAfvqjvcofezOxMQaSHnO6HV84isXO
|
References
- https://github.com/yt-dlp/yt-dlp