youtube-dl 是一款开源的视频下载工具,通过它我们可以很方便的下载 YouTube 上的视频,还可以进行各种选项设置。
安装
本人使用的是 python3, 安装使用 pip :
pip install youtube-dl |
使用
最简单的用法:
youtube-dl https://www.youtube.com/watch?v=kcMaxo0OaZo&index=3&list=PLC6RoM2FxOWMvFnGZ4a15MKa-iSaadkdp&t=0s |
指定音频视频的质量
如果要指定视频的解析度,比如选择最好的:
youtube-dl -f best https://www.youtube.com/watch?v=kcMaxo0OaZo&index=3&list=PLC6RoM2FxOWMvFnGZ4a15MKa-iSaadkdp&t=0s |
如果想自定义下载最好的音视频, 那么, 先列出所有的格式再选择:
youtube-dl -F https://www.youtube.com/watch?v=M2NIfqE4H1o
youtube-dl -F https://www.youtube.com/watch?v=M2NIfqE4H1o |
接着只要指定 format code 即可.
youtube-dl -f 137+140 --merge-output-format mp4 https://www.youtube.com/watch?v=M2NIfqE4H1o
常用的组合:
组合: |
由于上面是 video only
+ audio 两个文件 , 我们需要合并 video 和 audio
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 'http://www.youtube.com/watch?v=M2NIfqE4H1o' |
上面提示 ffmpeg or avconv are not installed
, 因此需要安装 ffmpeg.
安装完成后, 加上 --merge-output-format mp4
参数(其实不加也可以,会自动合并的), 重新执行
youtube-dl -f 160+140 --merge-output-format mp4 https://www.youtube.com/watch?v=M2NIfqE4H1o |
其他 -f
格式参数:
# 常用 |
test niko 常用:
135+140, mp4 文件(480p):'bestvideo[height<=480][ext=mp4]+bestaudio/best[height<=480]'
480p 格式大小的(手机常用): (不太好用,输出是.mkv文件)'bestvideo[height<=480][ext=mp4]+bestaudio/best[height<=480]'
更多的功能可参考下面的文档。
选择字幕
Subtitle Options: |
--write-sub 这个貌似是把字幕内容写到一个字幕文件里(vtt或者srt等等)
查询所有的:
youtube-dl --list-subs https://www.youtube.com/watch\?v\=rqoxYKtEWEc |
下载视频
貌似没有办法嵌入字幕到视频文件里
--write-sub 是写到独立字幕文件.
--sub-format srt 指定字幕文件的格式.
youtube-dl --write-sub --sub-format srt --sub-lang zh-Hans -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' "https://www.youtube.com/watch?v=rqoxYKtEWEc"
多字幕:(逗号分割)
youtube-dl --write-sub --sub-lang zh-Hans,en -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' "https://www.youtube.com/watch?v=rqoxYKtEWEc"
niko collect
下载最低质量的:
youtube-dl -f worst url
参考
https://github.com/rg3/youtube-dl/blob/master/README.md#readme
command line - How to select video quality from youtube-dl? - Ask Ubuntu