youtube-dl下载太慢了,我选yt-dlp
前言 最近过年嘛,过年前照例来下载一些贺岁歌曲,现在国内没啥人做贺岁专辑,这方面还得看马来西亚华人,他们每年都有出专辑,质量很不错! 国内平台自然是没有(或者不全的),需要在YouTube下载~ 之前我都是用Chrome插件下载完再使用脚本合并视频,有点繁琐,今年试试自动下载的黑科技~ 作为对比的这俩工具,都用 pip 安装即可 pip install youtube-dl pip install
目录4 个章节
前言
最近过年嘛,过年前照例来下载一些贺岁歌曲,现在国内没啥人做贺岁专辑,这方面还得看马来西亚华人,他们每年都有出专辑,质量很不错!
国内平台自然是没有(或者不全的),需要在YouTube下载~
之前我都是用Chrome插件下载完再使用脚本合并视频,有点繁琐,今年试试自动下载的黑科技~
作为对比的这俩工具,都用 pip 安装即可
pip install youtube-dl
pip install yt-dlp
youtube-dl
PS:youtube-dl 之前曾经被Github封禁了,后面应该是迫于开源界的压力,又恢复了这个仓库
首先这是项目地址: https://github.com/ytdl-org/youtube-dl
具体咋用,文档写得很详细
参数很复杂
最主要的问题是下载速度太慢了(一秒50、60k) (应该是被YouTube之类的网站识别出来,限流了)
下载合集中的多个视频
youtube-dl --proxy http://127.0.0.1:10809 -f "bestvideo[ext=mp4,height<=1080]+bestaudio[ext=m4a]/bestvideo[ext=mp4,height<=720]+bestaudio[ext=m4a]/bestvideo[ext=mp4,height<=480]+bestaudio[ext=m4a]/best[ext=mp4,height<=480]/best" -o "%(title)s.%(ext)s" --embed-thumbnail --playlist-start 1 --playlist-end 9 "https://www.youtube.com/watch?v=xxx&list=xxx"
参数说明
下面这俩组合起来表示下载合集里第1-9个视频
--playlist-start 1
--playlist-end 9
-f 后面跟着的一大串,表示从1080p开始下载,不行的话就逐步降级到480p
设置代理啥的就不说了
yt-dlp
使用体验非常不错,推荐!
这是一个后面新出的工具,参数简化了很多,而且支持使用外部下载器(例如 Aria2)
先看看基本用到的命令长啥样~
下载单个视频
yt-dlp -f 137+140 --proxy http://127.0.0.1:10809 --merge-output-format mp4 https://www.youtube.com/watch?v=xxx
下载合集中的多个视频
yt-dlp -I 1:9 --proxy http://127.0.0.1:10809 --merge-output-format mp4 "https://www.youtube.com/watch?v=xxx&list=xxx"
选择格式使用的是下面这样的参数
-f 137+140
初看可能一头雾水,但其实这是YouTube的画质代码
在YouTube上面,1080p及以上分辨率的视频,画面和声音是分开的,画面一般是mp4或者webm这种格式,声音是m4a格式,所以要下载高清视频,需要分别下载画面和声音,然后自行合并。
PS:在之前我确实是分开下载然后写个脚本使用ffmpeg来批量合并的,不过用这个工具就不用这么复杂了,它可以自动调用ffmpeg来合并视频(不过要确保系统中已经安装了ffmpeg哈)。
上面这个 137 和 140 就是画面和声音的代码。
那这么知道各种画质和音质的代码是啥呢?使用 -F 参数就行。
yt-dlp -F --proxy http://127.0.0.1:10809 "https://www.youtube.com/watch?v=xxx"
用了这个参数,就可以把指定视频的各种画质代码都显示出来,按需选择组合就行
[youtube] Extracting URL: https://www.youtube.com/watch?v=kjuB12RFtDE
[youtube] kjuB12RFtDE: Downloading webpage
[youtube] kjuB12RFtDE: Downloading android player API JSON
[info] Available formats for kjuB12RFtDE:
ID EXT RESOLUTION FPS CH │ FILESIZE TBR PROTO │ VCODEC VBR ACODEC ABR ASR MORE INFO
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb2 mhtml 48x27 0 │ mhtml │ images storyboard
sb1 mhtml 80x45 1 │ mhtml │ images storyboard
sb0 mhtml 160x90 1 │ mhtml │ images storyboard
140 m4a audio only 2 │ 4.42MiB 129k https │ audio only mp4a.40.2 129k 44k medium, m4a_dash
251 webm audio only 2 │ 4.66MiB 137k https │ audio only opus 137k 48k medium, webm_dash
22 mp4 1280x720 25 2 │ ~ 44.82MiB 1284k https │ avc1.64001F 1284k mp4a.40.2 0k 44k 720p
136 mp4 1280x720 25 │ 39.41MiB 1155k https │ avc1.4d401f 1155k video only 720p, mp4_dash
247 webm 1280x720 25 │ 39.53MiB 1158k https │ vp9 1158k video only 720p, webm_dash
137 mp4 1920x1080 25 │ 117.11MiB 3431k https │ avc1.640028 3431k video only 1080p, mp4_dash
248 webm 1920x1080 25 │ 75.15MiB 2202k https │ vp9 2202k video only 1080p, webm_dash
从这结果就可以看出,上面的 137 是 1080p 的 mp4视频;140 是 129k 的音频。
至于外部下载器,我没搞,默认下载速度就很快了,一秒几m,够用就不折腾了。
参考资料
_EOF_
youtube-dl下载太慢了,我选yt-dlp
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
一些实用工具软件记录
CrystalDisk系列 https://crystalmark.info/en/download/ CrystalDiskInfo CrystalDiskMark 磁盘空间分析 推荐 wiztree,速度很快 https://diskanalyzer.com/download
2022-11-06 · 杂七杂八 · 约 1 分钟
Python、CSharp、Go、Nextjs,不同框架的性能到底差多少?
AspNetCore 9 以 15k RPS 碾压全场,Go+Gin 内存省但吞吐也就那样。Django 老调重弹,至于 Next.js 做 API?别为难它了。
2025-12-01 · 杂七杂八 · 约 1 分钟
抓住九月小尾巴的小总结,祖国生日快乐~
为期一个月的实训到27号就结束了,我估摸着这夏天也快结束了,到处是秋天的味道。 这个月在广州还是以学习为主,在培训班能学到的很有限,不过我自己倒是折腾了不少东西出来,感觉还蛮好的。 技术学习方面 培训班也不能说没用吧,至少是前端扫盲了,在此基础上我自己又看了一下书,学了布局、动画和一点点js啊,js其实真的挺好用的,收回我之前的成见~(少见多怪) 还用js做了几个好玩的东西,比如说斗鱼、B站刷弹幕
2022-11-05 · 杂七杂八 · 约 1 分钟
摆脱数据线和网盘!LocalSend让文件传输更简单
LocalSend是一款无需互联网、支持局域网点对点加密传输的文件分享工具,操作简便,传输速度快,支持全平台。它解决了传统传输方式中的痛点,如依赖外网、文件压缩、隐私泄露等问题,为用户带来简单、快速、安全、高效的文件传输体验。
2025-04-16 · 杂七杂八 · 约 1 分钟
讨论
共 0 条加载评论中…