Open oxygenkun opened 2 weeks ago
设计上有一些问题:
DownloadVideoAction
目前有 inputs
和 extraAssets
两个属性, 分别是待下载的音视频源和额外资源. 脚本目前的行为是会先下载额外资源, 然后调用选中的 DownloadVideoOutput
将 inputs
发起实际的下载动作; 查看封面目前只会往 extraAssets
里提供封面资源.DownloadVideoOutput
发送给 aria2 之类的下载工具直接下载.那么, 这个封面就属于一种新的类型, 不应该是 extraAssets
, 而是 DownloadVideoAction
上一个新的属性, 比如叫 onlineAssets
. 这样就不需要加入 proxyExtraAssets
这种特化判断.
原先的 extraAssets
中的封面资源, 可以交由 DownloadVideoOutput
处理, 当使用了 onlineAssets
下载封面时, 直接将 extraAssets
中的封面资源删除掉. 这要求 extraAssets
的下载晚于 DownloadVideoOutput.runAction
, 直接交换这里的两行顺序即可.
那么, 这个封面就属于一种新的类型, 不应该是
extraAssets
, 而是DownloadVideoAction
上一个新的属性, 比如叫onlineAssets
. 这样就不需要加入proxyExtraAssets
这种特化判断.
onlineAssets
理解,近期可以改,把 proxyExtraAssets
去掉 (引入的原因是为了避免下载时候对原来的 action.extraAssets
有副作用,干脆就全部放在plugin里处理了。如果没这方面要求,直接在列表中删除也没问题)。
原先的
extraAssets
中的封面资源, 可以交由DownloadVideoOutput
处理, 当使用了onlineAssets
下载封面时, 直接将extraAssets
中的封面资源删除掉. 这要求extraAssets
的下载晚于DownloadVideoOutput.runAction
, 直接交换这里的两行顺序即可.
现在的逻辑是构建 extraAssets
的时候就获取 blob 了,不改这部分逻辑调整顺序也行(不止两行)。但是我觉得把下载好的blob放在assets里面也不是很恰当, 修改成在 downloadExtraAssets
中获取 blob 更合理,构造的时候只存储下载的函数和参数。
现在的逻辑是构建 extraAssets 的时候就获取 blob 了,不改这部分逻辑调整顺序也行(不止两行)。但是我觉得把下载好的blob放在assets里面也不是很恰当,修改成在 downloadExtraAssets 中获取 blob 更合理,构造的时候只存储下载的函数和参数。
这一点当然没问题的, 后置下载 blob + 调整顺序才能避免多余的下载
优化视频下载组件的结构,现在在调用
downloadExtraAssets
时候再获取 assets 的 blob 并下载扩展视频下载组件的接口,插件可以处理 assets 的下载逻辑
扩展视频封面组件和 aria2 插件以支持 aria2 下载封面