amtoaer / bili-sync

由 Rust & Tokio 驱动的哔哩哔哩同步工具
https://bili-sync.allwens.work
MIT License
402 stars 34 forks source link

那些命令是否可以提供一个webui界面来触发并观察结果 #36

Open lemonhall opened 5 months ago

lemonhall commented 5 months ago

-refresh这些命令,如果能提供一个webui会更便捷一些,另外如果能提供类似于webhook的话更好

另外就是选择视频的分辨率的那个方案

试验过了,可行,但是只是有线走H264,但有时候会下载到8K的视频,不知道是否可以限制视频的分辨率

对TV等不太行的设备来说8K跑不动

lemonhall commented 5 months ago

另外想基于你这一套,做一个抖音版本的,如果能提供更多的设计文档和代码注释什么的,不胜感激

amtoaer commented 5 months ago

webui 不太好搞,我前端水平非常有限。分辨率的话很好做,但最近没什么时间改,需要的话目前可以手动修改一下代码,在这行: https://github.com/amtoaer/bili-sync/blob/0bc7b831de40fb4551e776dd6c650593fd212064/processor.py#L291 设置一下video_max_quality

这个程序是比较简单的,整体的逻辑是跑一个周期触发的任务,这个任务的过程是:

  1. 拿到用户填写的收藏夹列表,遍历收藏夹列表,获取收藏夹视频。
  2. 不断地读取收藏夹视频的下一页,直到发现该页有已经处理过的视频,说明已经到达上一次处理的位置。获取到的就是新增的未处理视频。
  3. 把未处理的视频存储下来,标记为未下载。
  4. 数据库查到所有未下载的视频,遍历下载,下载成功就标记成已下载。

核心逻辑入口是: https://github.com/amtoaer/bili-sync/blob/0bc7b831de40fb4551e776dd6c650593fd212064/processor.py#L81 一层一层往下看就好,应该比较容易理解。

flalucifer commented 5 months ago

作者这套是基于上游别人搞好的bilibili-api来做的,上游仓库直接封装好了api的python库,调用就好了。你需要抖音的话,逻辑上就跟作者说的一样大差不差,没啥大的问题,就是抖音的各种api可能需要你自己抓包分析搞定了。因为我在github上面搜了一下抖音api,基本都是好几年前的api没人更新了,估计有很多api失效了,而且也没搞成python的库供你调用。