🌲[BiliFM] 为 BiliFM 添加下载音质的 CLI 选项

项目:BiliFM: A script to download all audios of the Bilibili uploader you love
难度:中等

为 BiliFM 添加下载音质的 CLI 选项

Bilibili 下载音频流的 API 支持选择伴音流的音质,当前 BiliFM 默认选择音频流中的首个进行下载(192K)

需要进行的修改:添加一个 CLI 选项,传递至 src\bilifm\audio.py#79 处,改变下载的音质。

ref: bilibili-API-Collect

我要认领
顺便问一下

  • 可选择的音质有哪些?
  • 偏向于让用户手动输入还是以交互的方式去选择?

Q1

视频伴音音质(摘自文档

含义
30216 64K
30232 132K
30280 192K
30250 杜比全景声
30251 Hi-Res无损
  • 但是后两种可能需要大会员登录,且不是所有视频都支持,因此这里先支持选择前三种即可。

Q2

  • 我倾向于提供类似--quality 192-q 192这样的选项

我最近笔试+毕业论文,有点忙了,但保证接下来的一周内可以搞完

我那天看了以下typer的文档(之前用的一直是argparser, click这些命令行库),发现typer好像并没有提供在commands之间共享options或者arguments的机制,可以看看这个 [QUESTION] How do I share options or arguments between commands? · Issue #153 · tiangolo/typer (github.com)
目前也没有什么直接的办法实现
这样的话,是不是只能在每个command命令上添加uqality这个options了?

实不相瞒我在加 Directory 选项的是否也翻到了这个 Iusse……

Typer 写简单的 Option 和 Argument 很简单,但有稍复杂点的需求就掉链子(比如一直缺失的 Async 支持)

时间上没关系,我最近也在忙毕设 :smiling_face_with_tear: