Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[组件-下载视频][插件-下载视频 - aria2 输出支持][组件-查看封面] 为aria2提供可下载封面的功能 #4798

Open
wants to merge 3 commits into
base: preview-features
Choose a base branch
from

Conversation

oxygenkun
Copy link
Contributor

  1. 优化视频下载组件的结构,现在在调用 downloadExtraAssets 时候再获取 assets 的 blob 并下载

  2. 扩展视频下载组件的接口,插件可以处理 assets 的下载逻辑

  3. 扩展视频封面组件和 aria2 插件以支持 aria2 下载封面

1. 优化视频下载组件的结构,现在仅在需要的时候获取assets的blob并下载

2. 扩展视频下载组件的接口,插件可以代理处理assets的下载逻辑

3. 扩展视频封面组件和aria2插件以支持aria2下载封面
@the1812
Copy link
Owner

the1812 commented Jul 8, 2024

设计上有一些问题:

  • 现状: DownloadVideoAction 目前有 inputsextraAssets 两个属性, 分别是待下载的音视频源和额外资源. 脚本目前的行为是会先下载额外资源, 然后调用选中的 DownloadVideoOutputinputs 发起实际的下载动作; 查看封面目前只会往 extraAssets 里提供封面资源.
  • 你的需求: 封面是一个存在于服务器的资源, 所以也可以交给 DownloadVideoOutput 发送给 aria2 之类的下载工具直接下载.

那么, 这个封面就属于一种新的类型, 不应该是 extraAssets, 而是 DownloadVideoAction 上一个新的属性, 比如叫 onlineAssets. 这样就不需要加入 proxyExtraAssets 这种特化判断.
原先的 extraAssets 中的封面资源, 可以交由 DownloadVideoOutput 处理, 当使用了 onlineAssets 下载封面时, 直接将 extraAssets 中的封面资源删除掉. 这要求 extraAssets 的下载晚于 DownloadVideoOutput.runAction, 直接交换这里的两行顺序即可.

@oxygenkun
Copy link
Contributor Author

oxygenkun commented Jul 9, 2024

那么, 这个封面就属于一种新的类型, 不应该是 extraAssets, 而是 DownloadVideoAction 上一个新的属性, 比如叫 onlineAssets. 这样就不需要加入 proxyExtraAssets 这种特化判断.

onlineAssets 理解,近期可以改,把 proxyExtraAssets 去掉 (引入的原因是为了避免下载时候对原来的 action.extraAssets 有副作用,干脆就全部放在plugin里处理了。如果没这方面要求,直接在列表中删除也没问题)。

原先的 extraAssets 中的封面资源, 可以交由 DownloadVideoOutput 处理, 当使用了 onlineAssets 下载封面时, 直接将 extraAssets 中的封面资源删除掉. 这要求 extraAssets 的下载晚于 DownloadVideoOutput.runAction, 直接交换这里的两行顺序即可.

现在的逻辑是构建 extraAssets 的时候就获取 blob 了,不改这部分逻辑调整顺序也行(不止两行)。但是我觉得把下载好的blob放在assets里面也不是很恰当, 修改成在 downloadExtraAssets 中获取 blob 更合理,构造的时候只存储下载的函数和参数。

@the1812
Copy link
Owner

the1812 commented Jul 9, 2024

现在的逻辑是构建 extraAssets 的时候就获取 blob 了,不改这部分逻辑调整顺序也行(不止两行)。但是我觉得把下载好的blob放在assets里面也不是很恰当,修改成在 downloadExtraAssets 中获取 blob 更合理,构造的时候只存储下载的函数和参数。

这一点当然没问题的, 后置下载 blob + 调整顺序才能避免多余的下载

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants