youtube-dl下载太慢了,我选yt-dlp

youtube,dl,下载,太慢,yt,dlp · 浏览次数 : 729

小编点评

**概述** 该文章介绍了两款用于下载 YouTube 视频的工具:**yt-dlp** 和 **yt-dlpy**。 **yt-dlp** 是一个新开源工具,它简化了下载过程并提供了详细的参数说明。 **yt-dlpy** 是一个更传统的工具,它支持使用外部下载器,但其参数设置比较复杂。 **使用指南** **yt-dlp** 1. 安装依赖库:`pip install youtube-dlpip install yt-dlpy` 2. 从 YouTube 上下载视频链接。 3. 使用 `yt-dlp` 命令行工具下载视频。 **yt-dlpy** 1. 从 YouTube 上下载视频链接。 2. 确保系统上已安装了 ffmpeg。 3. 使用 `yt-dlpy` 命令行工具下载视频。 **比较** | 特征 | yt-dlp | yt-dlpy | |---|---|---| | 支持的视频格式 | YouTube 视频 | YouTube 视频和音频 | | 参数设置 | 简化 | 复杂 | | 外部下载器 | 否 | 否 | | 使用 FFmpeg | 否 | 是 | | 下载速度 | 快 | 较慢 | | 文档 | 新 | 老 |

正文

前言

最近过年嘛,过年前照例来下载一些贺岁歌曲,现在国内没啥人做贺岁专辑,这方面还得看马来西亚华人,他们每年都有出专辑,质量很不错!

国内平台自然是没有(或者不全的),需要在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,够用就不折腾了。

参考资料

与youtube-dl下载太慢了,我选yt-dlp相似的内容:

youtube-dl下载太慢了,我选yt-dlp

前言 最近过年嘛,过年前照例来下载一些贺岁歌曲,现在国内没啥人做贺岁专辑,这方面还得看马来西亚华人,他们每年都有出专辑,质量很不错! 国内平台自然是没有(或者不全的),需要在YouTube下载~ 之前我都是用Chrome插件下载完再使用脚本合并视频,有点繁琐,今年试试自动下载的黑科技~ 作为对比的这

推荐一个拥有386万订阅者,10000多免费学习视频的频道

自从开始搞YouTube中文配音以来,我们一直是7*24小时,夜以继日的在批量处理一些优质的学习资源,一方面是翻译,另一方面是配音。这样用户在打开的时候,就能获得经过我们优化的翻译和配音了。 这次我们刚刚处理完一个油管上非常火爆的​IT类学习频道:Edureka。 该频道内全是IT行业的免费学习视频

Spring Boot通过企业邮箱发邮件被Gmail退回的问题解决方法

这两天给我们开发的Chrome插件:[Youtube中文配音](https://youtube-dubbing.com/)增加了账户注册和登录功能,其中有一步是邮箱验证,所以这边会在Spring Boot后台给用户的邮箱发个验证信息。如果发邮件,之前的文章教程里就有,这里就不说了,着重说说这两天发现

[转帖]TCP 拥塞控制之BBR 算法介绍

https://www.elecfans.com/tongxin/202212161960097.html 2016 年 10 月份的一个 youtube 链接: Making Linux TCP Fast,首次发布了 BBR 算法, TCP 拥塞控制开启了新局面。 BBR 非常简单,它背后是一个单

我第一个开源AI小产品-video2blog即将正式发布

前言 首先它是为了解决我自己的个人问题。不管能不能帮到你,或者对于看到的你是否有点利用价值,也没太大的关系,最起码你可以来看看我开发小产品的整个过程。 一段时间以来,我开始通过youtube平台来获取一些知识,或者打发早晚上下班坐地铁的时间。主要是我早晚通勤时间过长,差不多都是一个小时吧,单纯的刷刷

【转帖】淫技巧 | 如何查看已连接的wifi密码

主题使用方法:https://github.com/xitu/juejin-markdown-themes theme: juejin highlight: github 一、引言 在实际工作中,常常会遇到新来的同事问你wifi密码的事情,但是大多数时候都记不清楚。借鉴youtube上一位Po主的视

Spring Boot中发送邮件时,如何让发件人显示别名

之前,我们通过一系列文章,介绍了如何在Spring Boot中发送邮件: 发送邮件 添加附件 引用静态资源 邮件模版 已经包含了大部分的应用场景。但最近DD在做YouTube中文配音的时候,碰到一个问题: 如上图所示,收件人在客户端收到的时候,显示的名称是邮箱的前缀,而不是我们的产品名称,也就是邮箱

salesforce零基础学习(一百三十)Report 学习进阶篇

本篇参考: https://help.salesforce.com/s/articleView?id=sf.reports_summary_functions_about.htm&type=5 https://www.youtube.com/watch?v=bjgZTgYe_84 在Salesfor