This repository has been archived by the owner on Oct 26, 2024. It is now read-only.
Replies: 2 comments 4 replies
-
PyPI:https://pypi.org/project/yutto 预览体验:
|
Beta Was this translation helpful? Give feedback.
4 replies
-
😃 nice! 五一刚回来就看到发布了,先学习下 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
为什么要做 yutto
yutto 最主要解决的是 bilili 的设计问题,比如不生成 "xxx - bilibili" 路径(#76、#83)、只下载单一视频流、音频流(#34)、下载过程中不清屏(#86)等等,这些问题大多需要大改,而由于最初的设计问题,修改 bilili 还不如重写一个,yutto 就此诞生了。
由于 bilili 的设计只是针对批量下载的,所以未曾考虑单文件下载时的目录结构,yutto 则直接明确通过参数
--batch
将单文件下载与批量下载分离开来。比如对于https://www.bilibili.com/bangumi/play/ep395211
这样一个含有 ep_id(剧集号) 的链接,bilili 会认为需要下载整个番剧,但显然这是不明确的,我们有时候是真的只想下载这一话。yutto 利用参数--batch
明确了这一点,yutto https://www.bilibili.com/bangumi/play/ep395211
明确只下载这一话,而yutto --batch https://www.bilibili.com/bangumi/play/ep395211
则是下载整个番剧的。当然,在使用--batch
参数时是可以使用 bilili 的选集等批量相关参数(-p, --episodes
)的。可以看到,其实bilili
命令很像yutto --batch
子命令。将行为分离后,#76、#83 的支持就很容易实现了,默认的单文件是直接将文件下载到
<root_dir>
下的,而批量下载则是默认将文件下载到<root_dir>/{title}
下的。emm,为了实现路径的灵活配置,我们还可以通过--subpath-template
参数灵活地配置这个路径,当前的路径是通过--subpath-template={auto}
自动决定的,默认单文件下载是直接存放视频、批量下载则为其自动生成一个名为视频标题/番剧标题目录。如果不想要这个自动生成的标题目录,完全可以修改为--subpath-template={name}
。目前支持的 variable 比较少,更多的 variable 与用例将会在以后支持。yutto 所不支持的
考虑到大多数情境下我们并不需要播放列表,所以 yutto 彻底移除了该功能。
另外,由于 B 站已经彻底停止 Flash 播放器的支持,所以 yutto 不再会支持 flv 格式视频,虽然现在仍有部分视频不支持 dash,但我认为这不应是 yutto 该考虑的问题了,如果需要下载只有 flv 格式的视频的话,继续使用 bilili 就好了。
yutto 可能不会达到 bilili 那么快的下载速度(其实没必要这么快),因为 yutto 不会将所有视频聚集在一起下载,而是各个视频依次下载的(这样就解决 #86 了),减少了同时下载的不同连接数,进而导致连接的稳定性与容错性降低,所以速度上基本上不会超越 bilili 了。但 bilili 集中下载的模式也是阻碍重构与新功能添加的最大难题,所以 yutto 完全重新设计了这部分(基于changmenseng/AsyncBilibiliDownloader)。
yutto 会很快替代 bilili 吗
短期内不会,bilili 并不会消失,在一段时间内 bilili 仍会做纠错性维护,只是不会提供新特性了。
yutto 的稳定版还需要很久才能完成(可能是几个月),需要稳定的体验的话请继续使用 bilili~
如果对 yutto 有任何建议(命令设计、功能设计等等)的话,欢迎提出(#48 的跟进)~
Beta Was this translation helpful? Give feedback.
All reactions